您好,登錄后才能下訂單哦!
這篇文章主要介紹“Oracle中怎么將字典管理的表空間轉換為本地管理表空間”,在日常操作中,相信很多人在Oracle中怎么將字典管理的表空間轉換為本地管理表空間問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Oracle中怎么將字典管理的表空間轉換為本地管理表空間”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
SQL> alter table emp move tablespace tbsp_new;
SQL> alter index emp_pk_idx rebuild tablespace tbsp_idx_new;
或
SQL> exec dbms_space_admin.tablespace_migrate_to_loca('user');
注意: 不過使用dbms_space_admin包時轉換后不會設置為ASSM,另外空間碎片也不會消失。
創建表空間
SQL> create tablespace test01 datafile '+DATA' size 1024M autoextend on next 10M maxsize 4096M extent management local autoallocate segment space management auto;
查看表空間管理方式:
SQL> select tablespace_name,initial_extent,next_extent,min_extents,max_extents,extent_management,segment_space_management,allocation_type from dba_tablespaces order by 6,7,8;
語法:
create [ undo | temporary ] tablespace tablesapce_name
datafile '+DATA' size 100M
[ reuse ] 當指定數據文件已存在時,需要使用該參數覆蓋
[autoextend [off | on]] 禁止或允許自動擴展數據文件,默認為off
[next 100M] 指定自動擴展數據時的磁盤空間
[maxsize [unlimited | 100 M]] 擴展的最大磁盤空間
[minimum extent 10M] 指定分配extent的大小
[blocksize 16k] 設置塊的大小 ,注意默認8K,如果改成16K時,必須設置db_16K_cache_size參數
[default storage xx] 配置默認參數
[online | offline]
[logging | nologging] 表示該表空間上對象是否需要進行日志處理,默認logging
[force logging] 強制記錄該表空間上所有的改變,除了臨時段
[extent management [dictionary | local ]] extent管理方式,建議本地管理
[autoallocate | uniform [size 20 M]] 自動分配extent大小或者固定extent大小
[segment space management [ auto | manual ]] 配置段的管理方式,建議自動管理
增加表空間大小
SQL> alter tablespace test01 add datafile '+DATA' size 1000M autoextent on next 10M maxsize 1000M;
重新定義數據文件大小
SQL> alter database datafile 'xxxxx' resize 250M;
刪除表空間
SQL> drop tablespace test01 including contents and datafiles;
SQL> drop tablespace test01 cascade constraints; 包含其他表與該表的外鍵約束
sysaux表空間移除用戶
SQL> select occupant_name,schema_name,space_usage_kbytes,move_procedure from v$sysaux_occupants;
SQL> execute wksys.move_wk('TEST01');
管理表空間可用性
SQL> alter tablespace test01 online normal;
SQL> alter tablespace test01 online temporary;
SQL> alter tablespace test01 online immediate; 執行該操作前執行checkpoint,另外onine前執行recover datafile操作
SQL> alter tablespace tets01 offline;
重新命名表空間
SQL> alter tablespace test01 rename to test02;
重新命名數據文件
SQL> alter tablespace test01 offline normal;
$ cp /u01/app/oracle/test01.dbf /u02/app/oracle/test01.dbf
SQL> alter tablespace test01 rename datafile '/u01/app/oracle/test01.dbf' to '/u02/app/oracle/test01.dbf';
SQL> alter tablespace test01 online;
只讀表空間
SQL> alter tablespace test01 read only;
SQL> alter tablespace test01 read write;
配置默認表空間
SQL> alter database default tablespace test01;
大文件表空間 數據庫中最多64000個datafile
創建BFT
SQL> alter tablespace set default bigfile tablespace;
SQL> create bigfile tablespace bigtbs_01 datafile '+DATA' size 100G;
SQL> select property_value from database_properties where property_name='DEFAULT_TBS_TYPE';
更改BFT空間
SQL> alter tablespace bigtbs resize 120G;
SQL> alter tablespace bigtbs autoextend on next 20G;
到此,關于“Oracle中怎么將字典管理的表空間轉換為本地管理表空間”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。