5
配置備庫參數
LOG_ARCHIVE_DEST_2=‘SERVICE=standby LGWR ASYNC --
此處爲備庫網絡鏈接串
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby‘
–
備庫的
DB_UNIQUE_NAME
6.
查看
LOG_ARCHIVE_DEST_STATE
狀態
SQL> show parameter archive;
8.
查看
remote
SQL> show parameter remote;
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
9
備庫至關於服務端
主庫至關於客戶端
主庫不斷相備庫請求鏈接
FAL_SERVER=standby
FAL_CLIENT=primary
10
查看主庫和備庫的數據文件路徑和日誌文件路徑
SQL> select file_name from dba_data_files;
主庫
備庫
說明
:‘/oracle/app/oradata/NANA’
爲主庫數據
\
日誌文件路徑
; ‘/oradata/STANDBY ‘
爲備庫數據
\
日誌文件路徑
DB_FILE_NAME_CONVERT='/oracle/app/oradata/NANA ','/oradata/STANDBY‘
LOG_FILE_NAME_CONVERT='/oracle/app/oradata/NANA ','/oradata/STANDBY‘
11
STANDBY_FILE_MANAGEMENT=AUTO
主庫的初始化參數
*.audit_file_dest='/oracle/app/admin/NANA/adump'
*.background_dump_dest='/oracle/app/admin/NANA/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/oracle/app/oradata/NANA/control01.ctl','/oracle/app/oradata/NANA/control02.ctl','/oracle/app/oradata/NANA/control03.ctl'
*.core_dump_dest='/oracle/app/admin/NANA/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='NANA'
DB_UNIQUE_NAME=NANA
LOG_ARCHIVE_CONFIG='DG_CONFIG=(nana,standby)'
LOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/archivelog
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=NANA'
LOG_ARCHIVE_DEST_2='SERVICE=standby LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
FAL_SERVER=standby
FAL_CLIENT=nana
DB_FILE_NAME_CONVERT=' /oracle/app/oradata/NANA','/oradata/STANDBY'
LOG_FILE_NAME_CONVERT='/oracle/app/oradata/NANA ','/oradata/STANDBY'
STANDBY_FILE_MANAGEMENT=AUTO
*.db_recovery_file_dest='/oracle/app/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=NANAXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=16777216
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=167772160
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/oracle/app/admin/NANA/udump'
二
備庫
standby
數據庫配置
1.
修改備庫
sys
用戶密碼保持與庫密碼一致
SQL> alter user sys identified by sys;
2.
從庫改
db_name
與主庫一致
3.
配庫歸檔文件路徑與主庫一致
LOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=standby'
配庫參數
*.audit_file_dest='/oracle/app/admin/STANDBY/adump'
*.background_dump_dest='/oracle/app/admin/STANDBY/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/oradata/STANDBY/control01.ctl','/oradata/STANDBY/control02.ctl','/oradata/STANDBY/control03.ctl'
*.core_dump_dest='/oracle/app/admin/STANDBY/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
db_name='NANA'
DB_UNIQUE_NAME=standby
LOG_ARCHIVE_CONFIG='DG_CONFIG=(nana,standby)'
DB_FILE_NAME_CONVERT='/oracle/app/oradata/NANA','/oradata/STANDBY'
LOG_FILE_NAME_CONVERT='/oracle/app/oradata/NANA','/oradata/STANDBY'
STANDBY_FILE_MANAGEMENT=AUTO
LOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=standby'
LOG_ARCHIVE_DEST_2='SERVICE=nana LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=NANA'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
FAL_SERVER=NANA 主庫和備庫相反
FAL_CLIENT=standby
STANDBY_FILE_MANAGEMENT=AUTO
*.db_recovery_file_dest='/oracle/app/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=STANDBYXDB)'
*.job_queue_processes=10
*.log_archive_dest_1='location=/home/oracle/data.bak'
*.open_cursors=300
*.pga_aggregate_target=89128960
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_max_size=268435456
*.sga_target=268435456
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/oracle/app/admin/STANDBY/udump'
~
三
主陪庫的參數複製到相應的數據庫參數裏
[oracle@localhost ~]$ vi /home/oracle/initdg.ora
先關掉數據庫
SQL> shutdown abort
制定文件啓動數據庫
SQL> startup pfile=/home/oracle/initdg.ora
啓動後產看歸檔日誌文件的位置
SQL> show parameter archive
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 0
log_archive_config string DG_CONFIG=(nana,standby)
log_archive_dest string
log_archive_dest_1 string LOCATION=/home/oracle/archivel
og
VALID_FOR=(ALL_LOGFILES,ALL_RO
LES) DB_UNIQUE_NAME=NANA
log_archive_dest_10 string
log_archive_dest_2 string SERVICE=standby LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRI
MARY_ROLE) DB_UNIQUE_NAME=STAN DBY
log_archive_dest_3 string
步驟7:遷移主庫stand數據庫的數據文件、控制文件到standby
RMAN
利用新的參數文件啓動NANA到OPEN狀態
-利用新的參數文件啓動standby 到nomount 狀態
前備庫起到nomount
SQL> startup pfile=/home/oracle/initdg.ora nomount
二
-主庫上利用RMAN製做nana數據庫備份(全部RMAN操做都在主數據庫上執行)
主庫作rman備份
進入RMAN
[oracle@localhost ~]$ rman
RMAN> connect target
查看備份數據
RMAN> list backup;
刪除備份文件
RMAN> delete backup;
備份數據
RMAN>backup full database format='/home/oracle/archivelog/%U' include current controlfile for standby;
-將NANA主庫的rman的備份集拷貝至standby庫相同的路徑,並在主庫鏈接,不要斷開上面的鏈接,若是斷開,那麼從新鏈接主庫
將備份文件拷貝到備庫的相同目錄下
[oracle@localhost ~]$ scp *_1
oracle@10.1.1.32:/home/oracle/archivelog/
RMAN > connect target /
複製standby數據庫,接着上面的鏈接在主庫上執行
RMAN > duplicate target database for standby nofilenamecheck;
正常運行無錯誤後直接執行下面的命令進行主備庫的日誌同步
說明
:
此命令結束後從庫直接啓動到
mount
執行完後會自動啓動到mount
修改
standby
數據庫自動恢復狀態
alter database recover managed standby database disconnect from session;
確認
DATAGUARD
環境狀態是否正常
主庫操做
:
select process from v$managed_standby;
PROCESS
------------------
查詢主庫
是否存在日誌網絡傳輸進程
ARCH
ARCH
ARCH
LNS --
確認主庫有此
lns
進程
(
日誌網絡服務進程
-
負責把主庫歸檔日誌傳輸到備庫
)
若是無此進程則執行下面命令
alter system set log_archive_dest_2='SERVICE=standby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby';
alter system set log_archive_dest_state_2=ENABLE;
alter system switch logfile;
繼續確認有無
lns
進程
,
若是尚未啓動則查看相關錯誤信息
select error from v$archive_dest;
根據具體
ORACLE
錯誤碼查找錯誤緣由
備庫操做
:
SQL> select process from v$managed_standby;
PROCESS
------------------
ARCH
ARCH
RFS --
遠程文件服務
-
接收由主庫
lns
進程傳送過來的日誌
RFS
MRP0 --
介質恢復進程
-
同步主庫日誌數據到從庫
注意
:
若是沒有
RFS
進程
,
則查看主庫
lns
進程是否正常
.
若是沒有
MRP
進程則執行
alter database recover managed standby database disconnect from session;