手工段管理表空間遷移後的調整
如果有幸遇到了很老的資料庫,而表空間的段管理方式採用的是手動,那麼在遷移到到高版本資料庫比如12c中需要注意將其調整為自動模式。 這是個容易遺忘的知識點,因為年輕的DBA幾乎遇不到使用手工段管理表空間。如果遇上骨灰級表空間,不但是手工端管理模式而且是字典管理模式,那麼這會大大影響表空間的效能。
字典管理的表空間可以透過包來轉換:
execute dbms_space_admin.tablespace_migrate_to_local('tablespacename');
手工段管理想要轉為自動段管理就沒有包支援了,可以採用如下步驟來實現:
(1) 模擬建立一個9i時期的手動段管理表空間
SYS@cdb > create tablespace manualsegs9i datafile '/home/oracle/dbfile/manualsegs_9i.dbf' size 10m segment space management manual;
Tablespace created.
(2) 確認表空間是手工段管理模式
SYS@cdb > select segment_space_management from dba_tablespaces where tablespace_name='MANUALSEGS9I';
SEGMEN
------
MANUAL
(3) 在表空間中建立表和索引
SYS@cdb > create table mantab1 (id int) tablespace manualsegs9i;
Table created.
SYS@cdb > create index idx_mantab1 on mantab1(id) tablespace manualsegs9i;
Index created.
(4) 新建自動段管理表空間,該模式為預設
SYS@cdb > create tablespace autosegs12c datafile '/home/oracle/dbfile/autosegs12c.dbf' size 10m;
Tablespace created.
(5) 確認表空間是自動段管理模式
SYS@cdb > select segment_space_management from dba_tablespaces where tablespace_name='AUTOSEGS12C';
SEGMEN
------
AUTO
(6) 將物件移動到新表空間
SYS@cdb > alter table mantab1 move tablespace autosegs12c;
Table altered.
SYS@cdb > alter index idx_mantab1 rebuild online tablespace autosegs12c;
Index altered.
(7) 確認物件位於正確的表空間中
SYS@cdb > select segment_name,tablespace_name from dba_segments where tablespace_name='AUTOSEGS12C';
SEGMENT_NAME TABLESPACE_NAME
-------------------- --------------------
MANTAB1 AUTOSEGS12C
IDX_MANTAB1 AUTOSEGS12C
(8) 刪除原始的表空間
SYS@cdb > drop tablespace manualsegs9i including contents and datafiles;
Tablespace dropped.
(9) 重新命名為原始的表空間。
SYS@cdb > alter tablespace autosegs12c rename to manualsegs9i;
Tablespace altered.
到此為止演示完畢。
全文完
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29047826/viewspace-1697562/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle中表空間、表、索引的遷移Oracle索引
- table/index/LOBINDEX遷移表空間Index
- MySQL 遷移表空間,備份單表MySql
- Oracle 12cbigfile表空間物件遷移Oracle物件
- mysql共享表空間擴容,收縮,遷移MySql
- 用傳輸表空間跨平臺遷移資料
- oracle 表移動表空間Oracle
- Oracle表移動表空間Oracle
- 達夢(DM)資料庫的表空間建立和遷移維護資料庫
- mysql Innodb表空間解除安裝、遷移、裝載的使用方法MySql
- 【資料遷移】XTTS跨平臺傳輸表空間v4TTS
- linux系統lvm中lv使用空間的調整LinuxLVM
- 對Oracle分割槽表進行表空間遷移並處理ORA-14511問題Oracle
- openGauss中如何管理表空間
- Oracle OCP(49):表空間管理Oracle
- Oracle資料庫遷移 - 異構傳輸表空間TTS HP-UX遷移至Redhat Linux 7.7Oracle資料庫TTSRedhatLinux
- 移動分割槽表和分割槽索引的表空間索引
- 【資料遷移】XTTS跨平臺傳輸表空間(1.傳統方式)TTS
- 達夢資料庫系統表空間資料檔案遷移過程資料庫
- 16、表空間 建立表空間
- Git 倉庫的整體遷移Git
- 表空間和資料檔案的管理
- 2.5.3 建立本地管理的SYSTEM表空間
- impala 資料表在叢集間遷移方案
- 【資料遷移】XTTS跨平臺傳輸表空間v3(3.DFT方式)TTS
- 【資料遷移】XTTS跨平臺傳輸表空間v3(2.RMAN增量)TTS
- 表空間利用率及表空間的補充
- sybase iq表空間管理常用語句
- Laravel5.5執行表遷移命令出現表為空的解決方案Laravel
- 核間遷移的影響
- KingbaseES的表空間
- PostgreSQL在不同的表空間移動資料檔案SQL
- VMware載入的Ubuntu系統提示空間不足,使用 GParted調整大小。Ubuntu
- Oracle表空間的管理方式(LMT、DMT)--本地和字典管理Oracle
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- SYSTEM 表空間管理及備份恢復
- oracle表空間的整理Oracle
- Go的棧空間管理Go
- Oracle表空間Oracle