a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Oracle > 正文

Oracle11gR2使用RMAN duplicate復制數據庫

2024-08-29 13:54:44
字體:
來源:轉載
供稿:網友
最近在給客戶做一個項目的數據庫遷移,雖然是一個比較簡單的操作,但由于考慮到停機時間和數據庫安全以及其他因素,項目部搞了很多方案比如導入導出方案,客戶都覺得不是很滿意。所以考慮使用直接把原數據庫進行復制,但現象是兩數據庫版本不同,不知道有沒有影響,以下是在同版本數據庫的操作,供參考學習!11g的RMAN duplicate 個人感覺比10g的先進了很多,10G需要在rman備份的基礎上進行復制,使用 RMAN duplicate 創建一個數據完全相同但DBID不同的數據庫。而11g的RMAN duplicate 可以通過Active database duplicate和Backup-based duplicate兩種方法實現。這里的測試使用的是Active database duplicate,因為Active database duplicate 功能強大,不需要先把目標數據庫進行rman備份,只要目標數據庫處于歸檔模式下即可直接通過網絡對數據庫進行copy,且copy完成后自動open數據庫。這對于大數據特別是T級別的數據庫來說優點非常明顯,復制前不需要進行備份,減少了備份和傳送備份的時間,同時節省備份空間。下面來進行具體的duplicate操作。 1、環境信息。由于是測試,且個人硬件限制,以下測試在同一機器不同數據庫實例操作,和在異機操作沒什么區別。target DBip:192.168.1.1hostname:Oracledbaoraclesid:orcl auxiliary DBip:192.168.1.1hostname:oracledbaoraclesid:oradu2、創建auxiliary DB參數文件,啟動實例到nomount狀態,我們可以使用target DB的pfile進行修改使用,內容不需要太多,有相關目錄能把實例啟動到nomount即可,創建完成后pfile如下:[root@oracledba dbs]# cat initoradu.ora.audit_file_dest='/u01/app/oracle/admin/oradu/adump'*.audit_trail='db'*.compatible='11.2.0.0.0'*.control_files='/u01/app/oracle/oradata/oradu/control01.ctl','/u01/app/oracle/fast_recovery_area/oradu/control02.ctl'*.db_block_size=8192*.db_name='oradu'db_file_name_convert=('/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/oradu/')log_file_name_convert=('/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/oradu/') 由于這里使用的是同一機器上的不同實例,所以必須添加db_file_name_convert和log_file_name_convert,否則在復制的時候會報錯無法創建數據文件,如果是異機復制,且兩數據目錄完全一樣的情況下,這兩個參數可省略,由于測試在同一環境,所以db_name不能一樣,如果是異機復制,db_name完全可以一樣。   創建參數文件中的相關目錄并修改所屬:[root@oracledba dbs]# mkdir /u01/app/oracle/oradata/oradu/ -pvmkdir: created directory `/u01/app/oracle/oradata/oradu/'[root@oracledba dbs]# mkdir /u01/app/oracle/fast_recovery_area/oradu/ -pvmkdir: created directory `/u01/app/oracle/fast_recovery_area/oradu/'chown oracle:oinstall /u01 -R 啟動實例到nomount狀態SQL> startup nomount pfile='/u01/app/oracle/PRoduct/11.2.0/db_1/dbs/initoradu.ora';ORACLE instance started. Total System Global Area  238034944 bytesFixed Size                       2227136 bytesVariable Size               180356160 bytesDatabase Buffers       50331648 bytesRedo Buffers                5120000 bytes  3、創建密碼文件,必須保持target DB和auxiliary DB的密碼一致。這里我直接對target DB密碼文件重命名使用[root@oracledba dbs]# cp orapworcl orapworadu 4、配置網絡,原因不解釋,配置完成后如下[root@oracledba dbs]# cat ../network/admin/listener.oraSID_LIST_LISTENER =  (SID_LIST =         (SID_DESC =                   (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)                   (SID_NAME =orcl)         )         (SID_DESC =                   (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)                   (SID_NAME =oradu)         )  )  LISTENER =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS = (PROTOCOL = TCP)(HOST = oracledba)(PORT = 1521))      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))    )  ) ADR_BASE_LISTENER = /u01/app/oracle [root@oracledba dbs]# cat ../network/admin/tnsnames.oraorcl =  (DESCRIPTION =  (ADDRESS = (PROTOCOL = TCP)(HOST = oracledba)(PORT = 1521))  (CONNECT_DATA =  (SERVER = DEDICATED)  (SERVICE_NAME = orcl)  )) oradu =                   (DESCRIPTION =  (ADDRESS = (PROTOCOL = TCP)(HOST = oracledba)(PORT = 1521))  (CONNECT_DATA =  (SERVER = DEDICATED)  (SERVICE_NAME = oradu)  )) 5、開始復制,復制時需要注意是否使用nofilenamecheck參數,如果兩個實例相關數據目錄結構完全相同,則需要指定,否則會報錯。這里不需要使用。復制日志太多,有興趣的可以看看,或者跳過直接看結果![oracle@oracledba ~]$ export ORACLE_SID=oradu    --------異機操作可省略此步操作[oracle@oracledba ~]$rman target sys/oracle@orcl auxiliary sys/oracle@oraduRecovery Manager: Release 11.2.0.3.0 - Production on Sat May 11 23:40:39 2013 Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved. connected to target database: ORCL (DBID=1342927075)connected to auxiliary database: ORADU (not mount) RMAN>duplicate target database to oradu from active database nofilenamecheck;----------這里應該使用下面命令復制,可以進行對比一下差別。RMAN> duplicate target database to oradu from active database; Starting Duplicate Db at 11-MAY-13using channel ORA_AUX_DISK_1 contents of Memory Script:{   sql clone "create spfile from memory";}executing Memory Script sql statement: create spfile from memory contents of Memory Script:{   shutdown clone immediate;   startup clone nomount;}executing Memory Script Oracle instance shut down connected to auxiliary database (not started)Oracle instance started Total System Global Area     238034944 bytes Fixed Size                     2227136 bytesVariable Size                180356160 bytesDatabase Buffers              50331648 bytesRedo Buffers                   5120000 bytes contents of Memory Script:{   sql clone "alter system set  db_name = ''ORCL'' comment= ''Modified by RMAN duplicate'' scope=spfile";   sql clone "alter system set  db_unique_name = ''ORADU'' comment= ''Modified by RMAN duplicate'' scope=spfile";   shutdown clone immediate;   startup clone force nomount   backup as copy current controlfile auxiliary format  '/u01/app/oracle/oradata/oradu/control01.ctl';   restore clone controlfile to  '/u01/app/oracle/fast_recovery_area/oradu/control02.ctl' from '/u01/app/oracle/oradata/oradu/control01.ctl';   alter clone database mount;}executing Memory Script sql statement: alter system set  db_name =  ''ORCL'' comment= ''Modified by RMAN duplicate'' scope=spfile sql statement: alter system set  db_unique_name =  ''ORADU'' comment= ''Modified by RMAN duplicate'' scope=spfile Oracle instance shut down Oracle instance started Total System Global Area     238034944 bytes Fixed Size                     2227136 bytesVariable Size                180356160 bytesDatabase Buffers              50331648 bytesRedo Buffers                   5120000 bytes Starting backup at 11-MAY-13allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=40 device type=DISKchannel ORA_DISK_1: starting datafile copycopying current control fileoutput file name=/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_orcl.f tag=TAG20130511T224515 RECID=2 STAMP=815179515channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01Finished backup at 11-MAY-13 Starting restore at 11-MAY-13allocated channel: ORA_AUX_DISK_1channel ORA_AUX_DISK_1: SID=18 device type=DISK channel ORA_AUX_DISK_1: copied control file copyFinished restore at 11-MAY-13 database mounted contents of Memory Script:{   set newname for datafile  1 to "/u01/app/oracle/oradata/oradu/system01.dbf";   set newname for datafile  2 to "/u01/app/oracle/oradata/oradu/sysaux01.dbf";   set newname for datafile  3 to "/u01/app/oracle/oradata/oradu/undotbs01.dbf";   set newname for datafile  4 to "/u01/app/oracle/oradata/oradu/users01.dbf";   backup as copy reuse   datafile  1 auxiliary format "/u01/app/oracle/oradata/oradu/system01.dbf"   datafile 2 auxiliary format "/u01/app/oracle/oradata/oradu/sysaux01.dbf"   datafile 3 auxiliary format "/u01/app/oracle/oradata/oradu/undotbs01.dbf"   datafile 4 auxiliary format "/u01/app/oracle/oradata/oradu/users01.dbf"   ;   sql 'alter system archive log current';}executing Memory Script executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME Starting backup at 11-MAY-13using channel ORA_DISK_1channel ORA_DISK_1: starting datafile copyinput datafile file number=00001 name=/u01/app/oracle/oradata/orcl/system01.dbfoutput file name=/u01/app/oracle/oradata/oradu/system01.dbf tag=TAG20130511T224522channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:37channel ORA_DISK_1: starting datafile copyinput datafile file number=00002 name=/u01/app/oracle/oradata/orcl/sysaux01.dbfoutput file name=/u01/app/oracle/oradata/oradu/sysaux01.dbf tag=TAG20130511T224522channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:37channel ORA_DISK_1: starting datafile copyinput datafile file number=00003 name=/u01/app/oracle/oradata/orcl/undotbs01.dbfoutput file name=/u01/app/oracle/oradata/oradu/undotbs01.dbf tag=TAG20130511T224522channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:08channel ORA_DISK_1: starting datafile copyinput datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbfoutput file name=/u01/app/oracle/oradata/oradu/users01.dbf tag=TAG20130511T224522channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01Finished backup at 11-MAY-13 sql statement: alter system archive log current contents of Memory Script:{   backup as copy reuse   archivelog like  "/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2013_05_11/o1_mf_1_14_8rwpgonf_.arc" auxiliary format "/u01/app/oracle/product/11.2.0/db_1/dbs/arch1_14_815146340.dbf"   ;   catalog clone archivelog  "/u01/app/oracle/product/11.2.0/db_1/dbs/arch1_14_815146340.dbf";   switch clone datafile all;}executing Memory Script Starting backup at 11-MAY-13using channel ORA_DISK_1channel ORA_DISK_1: starting archived log copyinput archived log thread=1 sequence=14 RECID=10 STAMP=815179605output file name=/u01/app/oracle/product/11.2.0/db_1/dbs/arch1_14_815146340.dbf RECID=0 STAMP=0channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01Finished backup at 11-MAY-13 cataloged archived logarchived log file name=/u01/app/oracle/product/11.2.0/db_1/dbs/arch1_14_815146340.dbf RECID=10 STAMP=815179607 datafile 1 switched to datafile copyinput datafile copy RECID=2 STAMP=815179607 file name=/u01/app/oracle/oradata/oradu/system01.dbfdatafile 2 switched to datafile copyinput datafile copy RECID=3 STAMP=815179607 file name=/u01/app/oracle/oradata/oradu/sysaux01.dbfdatafile 3 switched to datafile copyinput datafile copy RECID=4 STAMP=815179607 file name=/u01/app/oracle/oradata/oradu/undotbs01.dbfdatafile 4 switched to datafile copyinput datafile copy RECID=5 STAMP=815179607 file name=/u01/app/oracle/oradata/oradu/users01.dbf contents of Memory Script:{   set until scn  1063454;   recover   clone database    delete archivelog   ;}executing Memory Script executing command: SET until clause Starting recover at 11-MAY-13using channel ORA_AUX_DISK_1 starting media recovery archived log for thread 1 with sequence 14 is already on disk as file /u01/app/oracle/product/11.2.0/db_1/dbs/arch1_14_815146340.dbfarchived log file name=/u01/app/oracle/product/11.2.0/db_1/dbs/arch1_14_815146340.dbf thread=1 sequence=14media recovery complete, elapsed time: 00:00:00Finished recover at 11-MAY-13Oracle instance started Total System Global Area     238034944 bytes Fixed Size                     2227136 bytesVariable Size                180356160 bytesDatabase Buffers              50331648 bytesRedo Buffers                   5120000 bytes contents of Memory Script:{   sql clone "alter system set  db_name = ''ORADU'' comment= ''Reset to original value by RMAN'' scope=spfile";   sql clone "alter system reset  db_unique_name scope=spfile";   shutdown clone immediate;   startup clone nomount;}executing Memory Script sql statement: alter system set  db_name =  ''ORADU'' comment= ''Reset to original value by RMAN'' scope=spfile sql statement: alter system reset  db_unique_name scope=spfile Oracle instance shut down connected to auxiliary database (not started)Oracle instance started Total System Global Area     238034944 bytes Fixed Size                     2227136 bytesVariable Size                180356160 bytesDatabase Buffers              50331648 bytesRedo Buffers                   5120000 bytessql statement: CREATE CONTROLFILE REUSE SET DATABASE "ORADU" RESETLOGS ARCHIVELOG  MAXLOGFILES     16  MAXLOGMEMBERS      3  MAXDATAFILES      100  MAXINSTANCES     8  MAXLOGHISTORY      292 LOGFILE  GROUP   1 ( '/u01/app/oracle/oradata/oradu/redo01.log' ) SIZE 50 M  REUSE,  GROUP   2 ( '/u01/app/oracle/oradata/oradu/redo02.log' ) SIZE 50 M  REUSE,  GROUP   3 ( '/u01/app/oracle/oradata/oradu/redo03.log' ) SIZE 50 M  REUSE DATAFILE  '/u01/app/oracle/oradata/oradu/system01.dbf' CHARACTER SET AL32UTF8  contents of Memory Script:{   set newname for tempfile  1 to "/u01/app/oracle/oradata/oradu/temp01.dbf";   switch clone tempfile all;   catalog clone datafilecopy  "/u01/app/oracle/oradata/oradu/sysaux01.dbf", "/u01/app/oracle/oradata/oradu/undotbs01.dbf", "/u01/app/oracle/oradata/oradu/users01.dbf";   switch clone datafile all;}executing Memory Script executing command: SET NEWNAME renamed tempfile 1 to /u01/app/oracle/oradata/oradu/temp01.dbf in control file cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/oradu/sysaux01.dbf RECID=1 STAMP=815179616cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/oradu/undotbs01.dbf RECID=2 STAMP=815179616cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/oradu/users01.dbf RECID=3 STAMP=815179616 datafile 2 switched to datafile copyinput datafile copy RECID=1 STAMP=815179616 file name=/u01/app/oracle/oradata/oradu/sysaux01.dbfdatafile 3 switched to datafile copyinput datafile copy RECID=2 STAMP=815179616 file name=/u01/app/oracle/oradata/oradu/undotbs01.dbfdatafile 4 switched to datafile copyinput datafile copy RECID=3 STAMP=815179616 file name=/u01/app/oracle/oradata/oradu/users01.dbf contents of Memory Script:{   Alter clone database open resetlogs;}executing Memory Script database openedFinished Duplicate Db at 11-MAY-13數據庫復制完成。 6、檢查結果RMAN> exit  Recovery Manager complete.[oracle@oracledba ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Sat May 11 22:48:08 2013 Copyright (c) 1982, 2011, Oracle.  All rights reserved.  Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real application Testing options SQL> select name from v$datafile; NAME--------------------------------------------------------------------------------/u01/app/oracle/oradata/oradu/system01.dbf/u01/app/oracle/oradata/oradu/sysaux01.dbf/u01/app/oracle/oradata/oradu/undotbs01.dbf/u01/app/oracle/oradata/oradu/users01.dbf SQL> select status from v$instance; STATUS------------OPEN SQL> show parameter name NAME                                       TYPE       VALUE------------------------------------ ----------- ------------------------------db_file_name_convert                 string     /u01/app/oracle/oradata/orcl/,                                                          /u01/app/oracle/oradata/oradu/                                                         db_name                                string     ORADUdb_unique_name                          string     ORADUglobal_names                        boolean         FALSEinstance_name                               string     oradulock_name_space                         stringlog_file_name_convert                string     /u01/app/oracle/oradata/orcl/,                                                          /u01/app/oracle/oradata/oradu/                                               NAME                                      TYPE       VALUE------------------------------------ ----------- ------------------------------processor_group_name                       stringservice_names                                string     ORADUSQL> show parameter pfile NAME                                       TYPE       VALUE------------------------------------ ----------- ------------------------------spfile                                         string     /u01/app/oracle/product/11.2.0                                                         /db_1/dbs/spfileoradu.ora數據庫已經open,各項參數正常,且已創建spfile并使用!整個復制過程完成!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品日产欧美久久久久 | 黄色片网址 | 狠狠操操 | 天天操天天碰 | www日本高清视频 | 欧美日本韩国一区二区三区 | 国产91视频一区二区 | 成人网在线视频 | 亚洲在线免费观看 | 亚洲视频在线免费观看 | 精品国产一区二区在线 | 日韩中文字幕av | 日本一本视频 | 在线视频 欧美日韩 | 国产情侣在线视频 | 国产97免费视频 | 久久精品这里热有精品 | 久久精品| 成人在线播放 | 亚洲一区二区中文 | 欧美成人一区二区三区片免费 | 国产成人精品久久二区二区91 | 欧美激情综合五月色丁香小说 | 欧美视频三区 | 欧美视频一区二区在线 | 国产一区二区精品丝袜 | 亚洲毛片网站 | 欧美大片一区二区 | 日韩欧美~中文字幕 | 天天看片天天操 | 欧美一区二区三区 | 欧美日韩电影一区二区 | 日韩在线大片 | 亚洲国产成人精品女人 | 亚洲九九 | 日韩成人在线一区 | 国产成人免费网站 | 欧美日韩视频一区二区三区 | 国产精品国产三级国产aⅴ无密码 | 午夜看看| 国产精品视频网站 |