oracle實驗記錄 (storage儲存引數(2))
繼續接著1實驗
SQL> conn / as sysdba
已連線。
SQL> col tablespace_name format a10
SQL> select tablespace_name,initial_extent,next_extent,min_extents,max_extents,ext
ent_management,allocation_type from dba_tablespaces;
TABLESPACE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS EXTENT_MAN
---------- -------------- ----------- ----------- ----------- ----------
ALLOCATIO
---------
SYSTEM 65536 1 2147483645 LOCAL
SYSTEM
UNDOTBS1 65536 1 2147483645 LOCAL
SYSTEM
SYSAUX 65536 1 2147483645 LOCAL
SYSTEM
TABLESPACE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS EXTENT_MAN
---------- -------------- ----------- ----------- ----------- ----------
ALLOCATIO
---------
TEMP 1048576 1048576 1 LOCAL
UNIFORM
USERS 65536 1 2147483645 LOCAL
SYSTEM
EXAMPLE 65536 1 2147483645 LOCAL
SYSTEM
TABLESPACE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS EXTENT_MAN
---------- -------------- ----------- ----------- ----------- ----------
ALLOCATIO
---------
TEST 65536 1 2147483645 LOCAL
SYSTEM
TEST2 65536 1 2147483645 LOCAL
SYSTEM
TEST3 65536 1 2147483645 LOCAL
SYSTEM
TABLESPACE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS EXTENT_MAN
---------- -------------- ----------- ----------- ----------- ----------
ALLOCATIO
---------
TEST4 2097152 2097152 1 2147483645 LOCAL
UNIFORM
已選擇10行。
SQL> create table t1(a int) tablespace test4;
表已建立。
SQL> col segment_name format a10
SQL> col owner format a10
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T1';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T1 SYS TEST4 0 2 256
SQL> alter table t1 allocate extent;
表已更改。
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T1';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T1 SYS TEST4 0 2 256
T1 SYS TEST4 1 2 256
SQL> alter table t1 allocate extent(size 1m);
表已更改。
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T1';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T1 SYS TEST4 0 2 256
T1 SYS TEST4 1 2 256
T1 SYS TEST4 2 2 256
SQL> alter table t1 allocate extent(size 5m);
表已更改。
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T1';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T1 SYS TEST4 0 2 256
T1 SYS TEST4 1 2 256
T1 SYS TEST4 2 2 256
T1 SYS TEST4 3 2 256~
T1 SYS TEST4 4 2 256~
T1 SYS TEST4 5 2 256~
已選擇6行。
可以看到對於uniform大小的 exntent 如果指定的 大小
~~~~~ 表級別的儲存引數
SQL> create table t2 (a int) storage(initial 1m next 2m minextents 1 maxextents 10)
tablespace test4;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~按storage看 初始大小應該為1M (最小一個區 mintents)
表已建立。
SQL> create table t3 (a int) storage(initial 1m next 1m minextents 1 maxextents 10)
tablespace test4;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~按storage看 初始大小應該為1M (最小一個區 mintents)
表已建立。
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T2';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T2 SYS TEST4 0 2 256~~~~~~~~~~~~~~~~~~實際~初始為2M
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T3';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T3 SYS TEST4 0 2 256~~~~~~~~~~~~~~~~實際~初始為2M
當設定的初始大小
SQL> create table t4 (a int) storage(initial 3m next 3m minextents 1 maxextents 10)
tablespace test4;~~~~~~~~~~~~~~~~~~~~~~按storage看 初始大小應該為3M (最小一個區 mintents)
表已建立。
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T4';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T4 SYS TEST4 0 2 256~~~~~~~~~~~~~~~~~~~實際2個extent 4M>oracle uniform. ,還是按設定的CEIL(N/uniform)大小
T4 SYS TEST4 1 2 256
SQL> create table t5 (a int) storage(initial 3m next 5m minextents 1 maxextents 10)
tablespace test4;~~~~~~~~~~~~~~~~~~~~~~按storage看 初始大小應該為3M (最小一個區 mintents)
表已建立。
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T5';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T5 SYS TEST4 0 2 256~~~~~~~~~~~~~~~~~~~實際2個extent 4M>oracle uniform. ,還是按設定的CEIL(N/uniform)大小
T5 SYS TEST4 1 2 256
SQL> alter database datafile 'd:\test4.dbf' autoextend on
2 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~防止datafile 空間不足 開自動擴充套件
SQL> alter tablespace test4 autoextend on;
alter tablespace test4 autoextend on
*
第 1 行出現錯誤:
ORA-32773: 不支援對小檔案表空間 TEST4 的操作~~~~~~~~~~~~~~注意應該針對datafile not tablespace
資料庫已更改。
SQL> create table t66 (a int) storage(initial 3m next 5m minextents 5 maxextents 10
)tablespace test4;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~初試為 3m+5M+5M+5M+5M=23M(初始要求最小 5個區)
表已建立。
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T66';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T66 SYS TEST4 0 2 256
T66 SYS TEST4 1 2 256
T66 SYS TEST4 2 2 256
T66 SYS TEST4 3 2 256~~~~~~~~~~~ORACLE 比較後 分配CEIL(23/2) 12個區
T66 SYS TEST4 4 2 256
T66 SYS TEST4 5 2 256
T66 SYS TEST4 6 2 256 可以看到maxextents沒用~~初始就分了12個區
T66 SYS TEST4 7 2 256
T66 SYS TEST4 8 2 256
T66 SYS TEST4 9 2 256
T66 SYS TEST4 10 2 256
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T66 SYS TEST4 11 2 256
已選擇12行。
看接下來的allocate extent
SQL> alter table t2 allocate extent;
表已更改。
SQL> alter table t3 allocate extent;
表已更改。
SQL> alter table t5 allocate extent;
表已更改。
SQL> alter table t66 allocate extent;
表已更改。
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T2';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T2 SYS TEST4 0 2 256
T2 SYS TEST4 1 2 256~~~~~~~~~~~~都是隻分配一個extent 2M
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T3';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T3 SYS TEST4 0 2 256
T3 SYS TEST4 1 2 256~~~~~~~~~~~~~~都是隻分配一個extent 2M
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T4';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T4 SYS TEST4 0 2 256
T4 SYS TEST4 1 2 256~~~~~~~~~~~~~~~都是隻分配一個extent 2M
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T5';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T5 SYS TEST4 0 2 256
T5 SYS TEST4 1 2 256
T5 SYS TEST4 2 2 256~~~~~~~~~~~都是隻分配一個extent 2M
SQL> select segment_name,owner,tablespace_name ,extent_id,bytes/1024/1024,blocks fr
om dba_extents where segment_name='T66';
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T66 SYS TEST4 0 2 256
T66 SYS TEST4 1 2 256
T66 SYS TEST4 2 2 256
T66 SYS TEST4 3 2 256
T66 SYS TEST4 4 2 256
T66 SYS TEST4 5 2 256
T66 SYS TEST4 6 2 256
T66 SYS TEST4 7 2 256
T66 SYS TEST4 8 2 256
T66 SYS TEST4 9 2 256
T66 SYS TEST4 10 2 256~~~~~~~~~~~~~~~~~~~~~~都是隻分配一個extent 2M
SEGMENT_NA OWNER TABLESPACE EXTENT_ID BYTES/1024/1024 BLOCKS
---------- ---------- ---------- ---------- --------------- ----------
T66 SYS TEST4 11 2 256
T66 SYS TEST4 12 2 256~~~~~~~~~~~~~~~~~~~都是隻分配一個extent 2M
已選擇13行。
~~~~~~~~~~~在接下來的 下一個分割槽中都是 使用INITIAL_EXTENT中大小 分一個
!!!!!!!!!其實我上面說的 oracle 比較uniform. 說的不太正確,~~~因為autoallocate(system)時候也是這個原理, 準確些 是比較 user_tablespaces中的INITIAL_EXTENT 跟這
tablespace 設定的引數比較
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12020513/viewspace-613390/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Docker storage儲存Docker
- Nebula Storage 2.0 儲存格式
- PHP 編譯引數儲存PHP編譯
- 微信小程式storage儲存微信小程式
- Laravel 儲存 (Storage) 原始碼分析Laravel原始碼
- InnoDB記錄儲存結構
- LMT下表儲存引數的使用
- mysql儲存過程的引數MySql儲存過程
- 前端儲存技術Cookie,Storage,IndexedDB前端CookieIndex
- MySQL的varchar儲存原理:InnoDB記錄儲存結構MySql
- 教你用一個整數儲存每月打卡記錄
- 轉載:關於oracle無法啟動儲存,記錄一下Oracle
- Web儲存(Web Storage)擴充套件EStorageWeb套件
- 物件儲存服務(Object Storage Service,OBS)物件Object
- cmu15545-資料儲存(Database Storage)Database
- 免費版物件儲存【minIO】CentOS部署實踐記錄 2021物件CentOS
- Oracle儲存過程Oracle儲存過程
- MYSQL學習與實驗(八)——儲存過程實驗MySql儲存過程
- Oracle 10g expdp attach引數體驗Oracle 10g
- Docker筆記2——儲存自己的LNMPDocker筆記LNMP
- Storage API簡介和儲存限制與逐出策略API
- Azure Functions(三)整合 Azure Queue Storage 儲存訊息Function
- Azure Functions(二)整合 Azure Blob Storage 儲存檔案Function
- 分割槽儲存管理模擬實驗
- 資料儲存-領存高速海量資料記錄儲存模組產品介紹
- 基於spring和swagger寫了個引數校驗的方法在此做個儲存SpringSwagger
- Android儲存(2)– 介面卡儲存Android
- SpringMVC實現引數校驗SpringMVC
- 記錄一次資料儲存出錯
- LMT和DMT下儲存引數的異同(轉)
- Oracle 共享儲存掛載Oracle
- oracle的儲存過程Oracle儲存過程
- Oracle儲存過程-1Oracle儲存過程
- Oracle RAC一鍵部署004(RAC引數校驗)Oracle
- 視訊直播原始碼,實現本地儲存搜尋歷史記錄原始碼
- 儲存篇(2)
- win10執行記錄不儲存怎麼辦 win10執行儲存歷史記錄設定方法Win10
- Oracle 核心引數Oracle
- 大資料實驗記錄大資料