Oracle備份與恢復系列 五 續 EXP/IMP遷移、複製資料庫
遷移資料庫可以採用三種方式。首先可以採用作業系統的檔案複製進行物理資料庫的還原和恢復,並重新建立資料庫控制檔案。其次可以用Oracle Export和Import工具將原資料庫邏輯還原到一個新的資料庫。最後可以用Oracle恢復管理器RMAN進行資料檔案和可控制檔案的一個物理還原。
遷移資料庫不像複製word文件那樣簡單。需要注意Oracle中三種型別的檔案(資料檔案、重做日誌檔案和控制檔案)必須協調一致。
本次試驗採用EXP/IMP的邏輯備份方式把Oracel 11g 11.2.0.3 RAC複製到Oracle 11g 11.2.0.3單例項資料庫上。試驗步驟如下
1,在新主機DBCA建庫,例項名和原主機資料庫名一致
2,在新主機建立使用者
3,dbms_metadata.get_ddl匯出表空間生成語句
4,在新主機建立表空間
5,exp匯出原庫全部資料
6,imp匯入複製資料庫
注意原庫的字符集
SYS@devdb1 >select userenv('language') from dual;
USERENV('LANGUAGE')
--------------------------------------------------------------------------------
AMERICAN_AMERICA.WE8MSWIN1252
1,在新主機DBCA建庫
步驟省略,注意例項名與原庫資料庫名一致,這裡採用devdb
2,在新主機建立使用者
檢視原主機使用者
SYS@devdb1 >select username from dba_users order by username;
在複製主機上建立原主機使用者
SQL> create user TPCC identified by tpcc;
SQL> create user SNOW identified by snow;
3,dbms_metadata.get_ddl匯出表空間生成語句
檢視原主機表空間
SYS@devdb1 >select name from v$tablespace;
生成原主機表空間建立語句
SYS@devdb1 >set linesize 200
SYS@devdb1 >set long 999999
SYS@devdb1 >SELECT DBMS_METADATA.GET_DDL('TABLESPACE', GOLDENGATE) FROM dba_tablespaces;
CREATE TABLESPACE "GOLDENGATE" DATAFILE
'+DATA/devdb/datafile/goldengate.dbf' SIZE 104857600
AUTOEXTEND ON NEXT 8192 MAXSIZE 32767M
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT
NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO
根據匯出的建立表空間語句修改成我們需要的建立語句
CREATE TABLESPACE "GOLDENGATE" DATAFILE
'/u01/app/oracle/oradata/devdb/goldengate.dbf' SIZE 104857600 AUTOEXTEND ON;
SYS@devdb1 >SELECT DBMS_METADATA.GET_DDL('TABLESPACE','EXAMPLE') from dba_tablespaces;
CREATE TABLESPACE "EXAMPLE" DATAFILE
SIZE 104857600
AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M
NOLOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT
NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO
ALTER DATABASE DATAFILE
'+DATA/devdb/datafile/example.264.853490879' RESIZE 32
8335360
根據匯出的建立表空間語句修改成我們需要的建立語句
CREATE TABLESPACE "EXAMPLE" DATAFILE
'/u01/app/oracle/oradata/devdb/example.dbf' SIZE 104857600 AUTOEXTEND ON;
SYS@devdb1 >SELECT DBMS_METADATA.GET_DDL('TABLESPACE','TOOLS') from dual;
CREATE TABLESPACE "TOOLS" DATAFILE
SIZE 20971520
AUTOEXTEND ON NEXT 20971520 MAXSIZE 32767M
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT
NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO
根據匯出的建立表空間語句修改成我們需要的建立語句
CREATE TABLESPACE TOOLS DATAFILE '/u01/app/oracle/oradata/devdb/tools01.dbf.dbf' SIZE 20971520 AUTOEXTEND ON;
SYS@devdb1 >SELECT DBMS_METADATA.GET_DDL(‘TABLESPACE','INDX') from dual;
CREATE TABLESPACE "INDX" DATAFILE
SIZE 20971520
AUTOEXTEND ON NEXT 20971520 MAXSIZE 32767M
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT
NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO
根據匯出的建立表空間語句修改成我們需要的建立語句
CREATE TABLESPACE INDX DATAFILE '/u01/app/oracle/oradata/devdb/indx01.dbf.dbf' SIZE 20971520 AUTOEXTEND ON;
4,在新主機建立表空間
SQL> CREATE TABLESPACE "GOLDENGATE” DATAFILE '/u01/app/oracle/oradata/devdb/goldengate.dbf' SIZE 104857600 AUTOEXTEND ON;
SQL> CREATE TABLESPACE "EXAMPLE” DATAFILE '/u01/app/oracle/oradata/devdb/example.dbf' SIZE 104857600 AUTOEXTEND ON;
SQL> CREATE TABLESPACE TOOLS DATAFILE '/u01/app/oracle/oradata/devdb/tools01.dbf.dbf' SIZE 20971520 AUTOEXTEND ON;
SQL> CREATE TABLESPACE INDX DATAFILE '/u01/app/oracle/oradata/devdb/indx01.dbf.dbf' SIZE 20971520 AUTOEXTEND ON;
imp \'sys/oracle as sysdba\' file=/home/oracle/full.dmp full=y
5,exp匯出原庫全部資料
[oracle@node1~]$ exp \'sys/oracle as sysdba\' file=/home/oracle/full.dmp full=y direct=y
將匯出檔案scp到複製主機
[oracle@node1 ~]$ scp full.dmp oracle@192.168.1.176:/home/oracle
6,imp匯入原庫全部資料
[oracle@node3 ~]$ imp \'sys/oracle as sysdba\' file=/home/oracle/full.dmp full=y
遷移資料庫不像複製word文件那樣簡單。需要注意Oracle中三種型別的檔案(資料檔案、重做日誌檔案和控制檔案)必須協調一致。
本次試驗採用EXP/IMP的邏輯備份方式把Oracel 11g 11.2.0.3 RAC複製到Oracle 11g 11.2.0.3單例項資料庫上。試驗步驟如下
1,在新主機DBCA建庫,例項名和原主機資料庫名一致
2,在新主機建立使用者
3,dbms_metadata.get_ddl匯出表空間生成語句
4,在新主機建立表空間
5,exp匯出原庫全部資料
6,imp匯入複製資料庫
注意原庫的字符集
SYS@devdb1 >select userenv('language') from dual;
USERENV('LANGUAGE')
--------------------------------------------------------------------------------
AMERICAN_AMERICA.WE8MSWIN1252
1,在新主機DBCA建庫
步驟省略,注意例項名與原庫資料庫名一致,這裡採用devdb
2,在新主機建立使用者
檢視原主機使用者
SYS@devdb1 >select username from dba_users order by username;
在複製主機上建立原主機使用者
SQL> create user TPCC identified by tpcc;
SQL> create user SNOW identified by snow;
3,dbms_metadata.get_ddl匯出表空間生成語句
檢視原主機表空間
SYS@devdb1 >select name from v$tablespace;
生成原主機表空間建立語句
SYS@devdb1 >set linesize 200
SYS@devdb1 >set long 999999
SYS@devdb1 >SELECT DBMS_METADATA.GET_DDL('TABLESPACE', GOLDENGATE) FROM dba_tablespaces;
CREATE TABLESPACE "GOLDENGATE" DATAFILE
'+DATA/devdb/datafile/goldengate.dbf' SIZE 104857600
AUTOEXTEND ON NEXT 8192 MAXSIZE 32767M
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT
NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO
根據匯出的建立表空間語句修改成我們需要的建立語句
CREATE TABLESPACE "GOLDENGATE" DATAFILE
'/u01/app/oracle/oradata/devdb/goldengate.dbf' SIZE 104857600 AUTOEXTEND ON;
SYS@devdb1 >SELECT DBMS_METADATA.GET_DDL('TABLESPACE','EXAMPLE') from dba_tablespaces;
CREATE TABLESPACE "EXAMPLE" DATAFILE
SIZE 104857600
AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M
NOLOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT
NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO
ALTER DATABASE DATAFILE
'+DATA/devdb/datafile/example.264.853490879' RESIZE 32
8335360
根據匯出的建立表空間語句修改成我們需要的建立語句
CREATE TABLESPACE "EXAMPLE" DATAFILE
'/u01/app/oracle/oradata/devdb/example.dbf' SIZE 104857600 AUTOEXTEND ON;
SYS@devdb1 >SELECT DBMS_METADATA.GET_DDL('TABLESPACE','TOOLS') from dual;
CREATE TABLESPACE "TOOLS" DATAFILE
SIZE 20971520
AUTOEXTEND ON NEXT 20971520 MAXSIZE 32767M
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT
NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO
根據匯出的建立表空間語句修改成我們需要的建立語句
CREATE TABLESPACE TOOLS DATAFILE '/u01/app/oracle/oradata/devdb/tools01.dbf.dbf' SIZE 20971520 AUTOEXTEND ON;
SYS@devdb1 >SELECT DBMS_METADATA.GET_DDL(‘TABLESPACE','INDX') from dual;
CREATE TABLESPACE "INDX" DATAFILE
SIZE 20971520
AUTOEXTEND ON NEXT 20971520 MAXSIZE 32767M
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT
NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO
根據匯出的建立表空間語句修改成我們需要的建立語句
CREATE TABLESPACE INDX DATAFILE '/u01/app/oracle/oradata/devdb/indx01.dbf.dbf' SIZE 20971520 AUTOEXTEND ON;
4,在新主機建立表空間
SQL> CREATE TABLESPACE "GOLDENGATE” DATAFILE '/u01/app/oracle/oradata/devdb/goldengate.dbf' SIZE 104857600 AUTOEXTEND ON;
SQL> CREATE TABLESPACE "EXAMPLE” DATAFILE '/u01/app/oracle/oradata/devdb/example.dbf' SIZE 104857600 AUTOEXTEND ON;
SQL> CREATE TABLESPACE TOOLS DATAFILE '/u01/app/oracle/oradata/devdb/tools01.dbf.dbf' SIZE 20971520 AUTOEXTEND ON;
SQL> CREATE TABLESPACE INDX DATAFILE '/u01/app/oracle/oradata/devdb/indx01.dbf.dbf' SIZE 20971520 AUTOEXTEND ON;
imp \'sys/oracle as sysdba\' file=/home/oracle/full.dmp full=y
5,exp匯出原庫全部資料
[oracle@node1~]$ exp \'sys/oracle as sysdba\' file=/home/oracle/full.dmp full=y direct=y
將匯出檔案scp到複製主機
[oracle@node1 ~]$ scp full.dmp oracle@192.168.1.176:/home/oracle
6,imp匯入原庫全部資料
[oracle@node3 ~]$ imp \'sys/oracle as sysdba\' file=/home/oracle/full.dmp full=y
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29734436/viewspace-1258942/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle備份與恢復系列(四)續 RMAN Duplicate複製資料庫Oracle資料庫
- Oracle備份與恢復系列(四)複製資料庫 續 手工複製資料庫的最簡操作Oracle資料庫
- Oracle備份與恢復系列(四)複製資料庫 續 建立新的控制檔案Oracle資料庫
- Oracle資料庫備份與恢復之匯出/匯入(EXP/IMP)、熱備份和冷備份Oracle資料庫
- Oracle資料庫備份與恢復之exp/imp(匯出與匯入裝庫與卸庫)Oracle資料庫
- ORACLE備份和恢復 - 邏輯備份 exp/impOracle
- exp/imp備份與還原oracle資料庫Oracle資料庫
- mongodb資料庫備份與恢復(資料庫資料遷移)MongoDB資料庫
- Oracle資料庫備份與恢復之一:exp/imp(匯出與匯入裝庫與卸庫)Oracle資料庫
- Oracle 資料庫備份與恢復總結-exp/imp (匯出與匯入裝庫與卸庫)Oracle資料庫
- Oracle備份與恢復系列(四)複製資料庫 使用原有的控制檔案Oracle資料庫
- exp,imp 遷移資料
- imp/exp資料遷移
- oracle資料庫的備份與恢復Oracle資料庫
- 使用exp/imp匯出匯入資料(邏輯備份恢復)
- Oracle備份恢復五(資料泵)Oracle
- 備份與恢復:polardb資料庫備份與恢復資料庫
- Oracle資料庫備份與恢復之RMANOracle資料庫
- Oracle資料庫的備份與恢復(轉)Oracle資料庫
- Oracle 資料庫的備份與恢復(轉)Oracle資料庫
- 【備份恢復】Oracle 資料備份與恢復微實踐Oracle
- 練習一下Oracle的邏輯備份恢復,EXP/IMPOracle
- 用 RMAN 備份異機恢復 遷移資料
- Oracle資料庫備份與恢復之三:OS備份/使用者管理的備份與恢復Oracle資料庫
- 【備份恢復】從備份恢復資料庫資料庫
- EXP_IMP與dblink資料遷移案例比照
- ORACLE RAC資料庫的備份與恢復(6)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(5)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(4)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(3)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(2)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(1)Oracle資料庫
- postgresql備份與恢復資料庫SQL資料庫
- mongo資料庫備份與恢復Go資料庫
- 資料庫的備份與恢復資料庫
- Informix資料庫備份與恢復ORM資料庫
- oracle備份與恢復測試(五)Oracle
- 【備份恢復】行遷移與行連結