用dbms_streams_tablespace_adm表空間的遷移(4)
上一篇文章中已經介紹了透過CLONE_TABLESPACES過程表空間,這一篇繼續描述如何透過ATTACH_TABLESPACES過程,將表空間載入到目標資料庫中。[@more@]
首先需要將源庫的datafile和元檔案透過scp都copy過來。
[oracle@rhel131 transfer]$ pwd
/u01/transfer
[oracle@rhel131 transfer]$ ls
NADSPACE001.dbf NADSPACE003.dbf NADSPACE_091027.dp
NADSPACE002.dbf NADSPACE004.dbf NADSPACE_091027.log
建立這個目錄的directory
SQL> create directory D_TRANS_3 as '/u01/transfer';
Directory created.
SQL> grant read,write on directory D_TRANS_3 to system;
Grant succeeded.
下面可以執行ATTACH_TABLESPACES過程了:
SQL> conn system/sys
Connected.
SQL> SET SERVEROUT ON SIZE 1000000
SQL> DECLARE
V_JOB_NAME VARCHAR2(30) := 'MY_ATTACH_TABLESPACES';
V_TABLESPACE_NAME DBMS_STREAMS_TABLESPACE_ADM.TABLESPACE_SET;
V_DUMPFILE DBMS_STREAMS_TABLESPACE_ADM.FILE;
V_LOGFILE DBMS_STREAMS_TABLESPACE_ADM.FILE;
V_DATAFILES DBMS_STREAMS_TABLESPACE_ADM.FILE_SET;
BEGIN
V_DUMPFILE.DIRECTORY_OBJECT := 'D_TRANS_3';
V_DUMPFILE.FILE_NAME := 'NADSPACE_091027.dp';
V_LOGFILE.DIRECTORY_OBJECT := 'D_TRANS_3';
V_LOGFILE.FILE_NAME := 'NADSPACE_091027_imp.log';
V_DATAFILES(1).DIRECTORY_OBJECT := 'D_TRANS_3';
V_DATAFILES(2).DIRECTORY_OBJECT := 'D_TRANS_3';
V_DATAFILES(3).DIRECTORY_OBJECT := 'D_TRANS_3';
V_DATAFILES(4).DIRECTORY_OBJECT := 'D_TRANS_3';
V_DATAFILES(1).FILE_NAME := 'NADSPACE001.dbf';
V_DATAFILES(2).FILE_NAME := 'NADSPACE002.dbf';
V_DATAFILES(3).FILE_NAME := 'NADSPACE003.dbf';
V_DATAFILES(4).FILE_NAME := 'NADSPACE004.dbf';
DBMS_STREAMS_TABLESPACE_ADM.ATTACH_TABLESPACES(V_JOB_NAME,
V_DUMPFILE,
V_DATAFILES,
V_DATAFILES,
NULL,
V_LOGFILE,
V_TABLESPACE_NAME);
FOR I IN 1..V_TABLESPACE_NAME.COUNT LOOP
DBMS_OUTPUT.PUT_LINE(V_TABLESPACE_NAME(I));
END LOOP;
END;
/
NADSPACE
表空間已匯入,如果需要修改表空間,那麼將表空間至於READ WRITE狀態:
SQL> alter tablespace nadspace read write;
Tablespace altered.
首先需要將源庫的datafile和元檔案透過scp都copy過來。
[oracle@rhel131 transfer]$ pwd
/u01/transfer
[oracle@rhel131 transfer]$ ls
NADSPACE001.dbf NADSPACE003.dbf NADSPACE_091027.dp
NADSPACE002.dbf NADSPACE004.dbf NADSPACE_091027.log
建立這個目錄的directory
SQL> create directory D_TRANS_3 as '/u01/transfer';
Directory created.
SQL> grant read,write on directory D_TRANS_3 to system;
Grant succeeded.
下面可以執行ATTACH_TABLESPACES過程了:
SQL> conn system/sys
Connected.
SQL> SET SERVEROUT ON SIZE 1000000
SQL> DECLARE
V_JOB_NAME VARCHAR2(30) := 'MY_ATTACH_TABLESPACES';
V_TABLESPACE_NAME DBMS_STREAMS_TABLESPACE_ADM.TABLESPACE_SET;
V_DUMPFILE DBMS_STREAMS_TABLESPACE_ADM.FILE;
V_LOGFILE DBMS_STREAMS_TABLESPACE_ADM.FILE;
V_DATAFILES DBMS_STREAMS_TABLESPACE_ADM.FILE_SET;
BEGIN
V_DUMPFILE.DIRECTORY_OBJECT := 'D_TRANS_3';
V_DUMPFILE.FILE_NAME := 'NADSPACE_091027.dp';
V_LOGFILE.DIRECTORY_OBJECT := 'D_TRANS_3';
V_LOGFILE.FILE_NAME := 'NADSPACE_091027_imp.log';
V_DATAFILES(1).DIRECTORY_OBJECT := 'D_TRANS_3';
V_DATAFILES(2).DIRECTORY_OBJECT := 'D_TRANS_3';
V_DATAFILES(3).DIRECTORY_OBJECT := 'D_TRANS_3';
V_DATAFILES(4).DIRECTORY_OBJECT := 'D_TRANS_3';
V_DATAFILES(1).FILE_NAME := 'NADSPACE001.dbf';
V_DATAFILES(2).FILE_NAME := 'NADSPACE002.dbf';
V_DATAFILES(3).FILE_NAME := 'NADSPACE003.dbf';
V_DATAFILES(4).FILE_NAME := 'NADSPACE004.dbf';
DBMS_STREAMS_TABLESPACE_ADM.ATTACH_TABLESPACES(V_JOB_NAME,
V_DUMPFILE,
V_DATAFILES,
V_DATAFILES,
NULL,
V_LOGFILE,
V_TABLESPACE_NAME);
FOR I IN 1..V_TABLESPACE_NAME.COUNT LOOP
DBMS_OUTPUT.PUT_LINE(V_TABLESPACE_NAME(I));
END LOOP;
END;
/
NADSPACE
表空間已匯入,如果需要修改表空間,那麼將表空間至於READ WRITE狀態:
SQL> alter tablespace nadspace read write;
Tablespace altered.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271283/viewspace-1028183/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用dbms_streams_tablespace_adm表空間的遷移(3)
- 用dbms_streams_tablespace_adm來表空間的遷移(2)
- 用dbms_streams_tablespace_adm來表空間的遷移(1)
- 表空間遷移
- 遷移表空間
- 【遷移】表空間transport
- RMAN遷移表空間
- 遷移表到新的表空間
- ORACLE表批量遷移表空間Oracle
- 遷移SYSTEM表空間為本地管理表空間
- 基於可傳輸表空間的表空間遷移
- expdp/impdp 遷移表空間
- 跨平臺表空間遷移(傳輸表空間)
- Oracle中表空間、表、索引的遷移Oracle索引
- table/index/LOBINDEX遷移表空間Index
- lob欄位表空間遷移
- Oracle 不同平臺間表空間遷移Oracle
- MySQL 遷移表空間,備份單表MySql
- 表、索引遷移表空間alter table move索引
- 空間遷移
- 分割槽表對應的表空間遷移案例
- 表空間遷移辦法補充
- 使用RMAN簡單遷移表空間
- 資料庫物件遷移表空間資料庫物件
- 【資料遷移】使用傳輸表空間遷移資料
- 用傳輸表空間跨平臺遷移資料
- 利用PLSQL實現表空間的遷移(一)SQL
- 利用PLSQL實現表空間的遷移(二)SQL
- 利用PLSQL實現表空間的遷移(四)SQL
- 利用PLSQL實現表空間的遷移(三)SQL
- 利用PLSQL實現表空間的遷移(五)SQL
- 線上遷移表空間資料檔案
- 不同使用者,不同表空間遷移
- Oracle 表空間資料檔案遷移Oracle
- 手工段管理表空間遷移後的調整
- 利用RMAN遷移表空間碰到的問題(五)
- 利用RMAN遷移表空間碰到的問題(四)
- 利用RMAN遷移表空間碰到的問題(三)