Oracle技術之用RMAN複製資料庫

來源:互聯網
上載者:User

源庫RHEL4.5:192.168.137.199 GLOBAL_NAME=WENDING.LK Oracle_SID=WENDING

複製庫RHEL4.5:192.168.137.200 GLOBAL_NAME=STRM.LK ORACLE_SID=STRM

1. 全備份源庫

$ sqlplus '/as sysdba'

記下備份前的SCN,規複的時間就規複到這個點。

SQL> select DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER from dual;

GET_SYSTEM_CHANGE_NUMBER

------------------------

181557

SQL> exit

$ mkdir -p /orahome/backup

$ cd /orahome

$ vi backup.rcv

run{

allocate channel c1 type disk;

backup full database format '/orahome/backup/db_t%t_s%s_p%p.bak';

backup archivelog all format '/orahome/backup/arch_u%u.bak';

backup current controlfile format '/orahome/backup/cf_u%u.bak';

release channel c1;

}

$ nohup rman target / @backup.rcv log backup.log &

$ tail -50f backup.log

參照源庫參數檔案建立一個複製庫參數檔案:

SQL> create pfile = '/orahome/backup/initSTRM.ora' from spfile;

得到源庫資料檔案的編號和寄放職位 資訊,是為了預備複製庫參數db_file_name_convert或rman規複時set newname的設定:

$ sqlplus '/as sysdba'

SQL> col name format a60

SQL> set lines 1024

SQL> select file#,name from v$datafile union all select file#,name from v$tempfile;

FILE# NAME

---------- ------------------------------------------------------------

1 /orahome/oradata/WENDING/system.dbf

2 /orahome/oradata/WENDING/undotbs1.dbf

3 /orahome/oradata/WENDING/sysaux.dbf

4 /orahome/oradata/WENDING/users01.dbf

1 /orahome/oradata/WENDING/temp01.dbf

SQL> exit

拷貝備份檔案到複製庫主機的同一職位 ,確保複製庫主機也有目次 /orahome/backup。

$ cd /orahome/backup

$ scp *.bak 192.168.137.200:/orahome/backup

$ scp initSTRM.ora 192.168.137.200:/orahome/backup

2. 複製庫預備事變

複製庫上設定干係 的環境 變數:

$ vi .bash_profile (思量 從源庫主機拷貝一份,然後批改ORACLE_SID參數值)

export ORACLE_BASE=/u01/app/oracle;

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;

export ORACLE_SID=STRM;

export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

$ . .bash_profile

3. 批改複製庫參數檔案

$ vi /orahome/backup/initSTRM.ora

:%s/WENDING/STRM/g

一樣平常批改以下參數:

audit_file_dest,background_dump_dest,core_dump_dest,user_dump_dest,db_name,db_unique_name,log_archive_dest_1,control_files.

並確保以下參數:

*.remote_login_passwordfile = exclusive

*.DB_FILE_NAME_CONVERT = '/orahome/oradata/WENDING/', '/orahome/oradata/STRM/'

4. 按照步調 3批改的路徑資訊在複製庫主機建立須要的目次

$ mkdir -p /orahome/flash_recovery_area

$ mkdir -p /orahome/arch/STRM

$ mkdir -p /orahome/oradata/STRM/

$ mkdir -p /u01/app/oracle/admin/STRM/adump

mkdir -p /u01/app/oracle/admin/STRM/bdump

mkdir -p /u01/app/oracle/admin/STRM/cdump

mkdir -p /u01/app/oracle/admin/STRM/dpdump

mkdir -p /u01/app/oracle/admin/STRM/udump

5. 在複製庫建立 一個新的password檔案

(unix/Linux下暗碼檔案技倆必需是orapw<SID>)

$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=iamwangnc force=y

6. 複製庫startup nomount

$ sqlplus '/as sysdba'

SQL> create spfile from pfile='/orahome/backup/initSTRM.ora';

SQL> startup nomount;

SQL> exit

7. 複製庫用rman規複

$ cd /orahome

$ vi recover.rcv (由於源庫在全備後還也許發生歸檔檔案,以是規複的時間要設定set until值,不然會發生過錯 RMAN-06025)

run{

allocate auxiliary channel c1 type disk;

# set until time '2008-11-21.11:33:31';

# set until sequence 21254 thread 1;

set until scn 181557;

duplicate target database to STRM

LOGFILE

group 1 ('/orahome/oradata/STRM/REDO01.DBF') SIZE 50M,

group 2 ('/orahome/oradata/STRM/REDO02.DBF') SIZE 50M,

group 3 ('/orahome/oradata/STRM/REDO03.DBF') SIZE 50M;

}

其它set newname和LOGFILE後頭的檔案職位 資訊可以按照本身必要 設定。

起頭規複:(wending.lk是源庫做事名,確保源庫的監聽已經啟動)

$ nohup rman target sys/iamwangnc@192.168.137.199:1521/wending.lk auxiliary / @recover.rcv log recover.log &

$ tail -50f recover.log

…

database opened

Finished Duplicate Db at 2008-11-21 13:02:39

規複資料庫時發生如下過錯:RMAN-06025: no backup of log thread 1 seq 21255 scn 4144283685 found to restore

多次執行備份﹐然後複製﹐發現有時候出錯﹐有時候不出錯。非常費解。後來在仔細觀察發現,在短缺末了一個歸檔日記檔案會出錯。而這個日記檔案是在備份之後產

生的﹐目標資料的備份中沒有。把這個檔案傳遞到目標主機就可以了。而假如產生備份之後﹐短時間之內複製﹐原資料庫沒有歸檔檔案﹐則不會出現錯誤。這個在很多

操縱文檔中﹐沒有講到。

8. 測試複製庫

$ sqlplus '/as sysdba'

SQL> select status from v$instance;

SQL> archive log list;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.