Windows-server-2008-R2安裝Oracle-11g-R2-dataguard


一、安裝環境

1、服務器環境:Windows server 2008 R2 x64 Standard 兩台

CPU:8核

內存:8G

硬盤空間:1060G

2、軟件:oracle 11g R2

二、安裝前配置

1、IP地址配置要求

主庫IP:192.168.2.50

備庫IP:192.168.2.51

注:兩台主機要保證可以ping通

2、oracle安裝要求

主庫:安裝oracle軟件,並創建數據庫

備庫:僅安裝oracle軟件

3、安裝位置

主庫:

     oracle 軟件 E:\app\Administrator\product\11.2.0\dbhome_1
     數據庫 orcl E:\app\Administrator\oradata\orcl
備庫:
     oracle 軟件:E:\app\Administrator\product\11.2.0\dbhome_1
注:要明了數據庫的安裝位置以及數據庫實例的安裝位置,不管是走安裝默認位置還是自定義位置

4、數據庫實例預設:

主庫:數據庫實例 orcl(已創建)

備庫:數據庫實例 djl (未創建)

注意:如果已經安裝數據庫實例,可以新建一個實例,或者把原來的實例給刪除

三、配置dataguard主從庫

1、檢查數據庫,開啟歸檔模式,如下圖所示:

連接數據庫

C:\Users\Administrator>sqlplus / as sysdba

查看是否是歸檔模式

SQL> archive log list

關閉數據庫

SQL> shutdown immediate

啟動到mount狀態

SQL> startup mount

開啟歸檔模式

SQL> alter database archivelog;

開啟強制日志模式

SQL> alter database force logging;

 

2、為備庫添加日志組(在主庫mount狀態下執行)

查看當前主庫日志組:

SQL> select * from v$logfile order by group#;

在主庫為備庫添加日志組,結果如下:

SQL> alter database add standby logfile group 4 'E:\app\Administrator\oradata\orcl\redo04.log' size 50m;

SQL> alter database add standby logfile group 5 'E:\app\Administrator\oradata\orcl\redo05.log' size 50m;

SQL> alter database add standby logfile group 6 'E:\app\Administrator\oradata\orcl\redo06.log' size 50m;

SQL> alter database add standby logfile group 7 'E:\app\Administrator\oradata\orcl\redo07.log' size 50m;

 SQL> select * from v$logfile order by group#;

3、主備庫配置網絡監聽

修改文件listener.ora, tnsnames.ora它們的位置在E:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN目錄下(根據實際安裝位置)

主庫:

listener.ora文件

注意:空格字符也要對齊,否則報語法錯誤

# listener.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)
      (SID_NAME = ORCL) )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.50)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = E:\app\Administrator

tnsnames.ora文件

# tnsnames.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.50)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

djl =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.51)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = djl)
    )
  )

備庫:

listener.ora文件

# listener.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
    (SID_DESC =
      (GLOBAL_DBNAME = djl)
      (ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)
      (SID_NAME = djl)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.51)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = E:\app\Administrator

tnsnames.ora文件

# tnsnames.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

djl =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.51)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = djl)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.50)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

 4、重啟監聽服務

主庫:

C:\Users\Administrator>lsnrctl stop

C:\Users\Administrator>lsnrctl start

備庫:

5、使用tnsping檢查監聽及服務命名

主庫

C:\Users\Administrator>tnsping orcl

C:\Users\Administrator>tnsping djl

備庫

C:\Users\Administrator>tnsping orcl

C:\Users\Administrator>tnsping djl

6、主備庫創建相關目錄,詳述如下

主庫創建目錄:

  • F:\oracle_db_arch\arch    --歸檔日志位置
  • F:\oracle_db_arch\arch_std  --主庫轉為備庫時,歸檔日志位置

從庫創建目錄:

  • F:\oracle_db_arch\arch                                                            ----歸檔日志位置
  • F:\oracle_db_arch\arch_std                                                     --備庫轉為主庫時,歸檔日志位置
  • E:\app\Administrator\oradata\djl                                               --數據文件位置
  • E:\app\Administrator\admin\djl\adump                                     --審計文件位置
  • E:\app\Administrator\flash_recovery_area\djl\ONLINELOG    --聯機重做位置

7、為主備庫准備參數文件

主庫

select * from v$logfile order by group#;

SQL> create pfile from spfile;

注:執行create語句之后,在E:\app\Administrator\product\11.2.0\dbhome_1\database目錄下會出現文件INITorcl.ORA,用筆記本打開進行編輯

主庫INITorcl.ORA
orcl.__db_cache_size=1124073472
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base='E:\app\Administrator'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=1040187392
orcl.__sga_target=1543503872
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=352321536
orcl.__streams_pool_size=0
*.audit_file_dest='E:\app\Administrator\admin\orcl\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='E:\app\Administrator\oradata\orcl\control01.ctl','E:\app\Administrator\flash_recovery_area\orcl\control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='E:\app\Administrator\flash_recovery_area'
*.db_recovery_file_dest_size=4102029312
*.diagnostic_dest='E:\app\Administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.memory_target=2577399808
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'


*.db_unique_name=orcl
*.log_archive_config='dg_config=(orcl,djl)'
*.log_archive_dest_1='LOCATION=F:\oracle_db_arch\arch valid_for=(online_logfiles,primary_role) db_unique_name=orcl'
*.log_archive_dest_2='SERVICE=djl lgwr async affirm valid_for=(online_logfiles,primary_role) db_unique_name=djl'
*.log_archive_dest_3='LOCATION=F:\oracle_db_arch\arch_std valid_for=(standby_logfiles,standby_role) db_unique_name=orcl'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.log_archive_dest_state_3='enable'
*.fal_server=djl
*.fal_client=orcl
*.standby_file_management=auto
*.db_file_name_convert=('E:\app\Administrator\oradata\djl','E:\app\Administrator\oradata\orcl')
*.log_file_name_convert=('E:\app\Administrator\oradata\djl','E:\app\Administrator\oradata\orcl')

將主庫initorcl.ora復制到備庫對應目錄下並修改內容如下

備庫INITdjl.ORA
orcl.__db_cache_size=1124073472
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base='E:\app\Administrator'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=1040187392
orcl.__sga_target=1543503872
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=352321536
orcl.__streams_pool_size=0
*.audit_file_dest='E:\app\Administrator\admin\djl\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='E:\app\Administrator\oradata\djl\control01.ctl','E:\app\Administrator\flash_recovery_area\djl\control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='E:\app\Administrator\flash_recovery_area'
*.db_recovery_file_dest_size=4102029312
*.diagnostic_dest='E:\app\Administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)','(address=(protocol=tcp)(host=192.168.2.51))(dispatchers=4)','(address=(protocol=ipc)(host=192.168.2.51))(dispatchers=2)'
*.memory_target=2577399808
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'


*.db_unique_name=djl
*.log_archive_config='dg_config=(djl,orcl)'
*.log_archive_dest_1='LOCATION=F:\oracle_db_arch\arch valid_for=(online_logfiles,primary_role) db_unique_name=djl'
*.log_archive_dest_2='SERVICE=orcl lgwr async affirm valid_for=(online_logfiles,primary_role) db_unique_name=orcl'
*.log_archive_dest_3='LOCATION=F:\oracle_db_arch\arch_std valid_for=(standby_logfiles,standby_role) db_unique_name=djl'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.log_archive_dest_state_3='enable'
*.fal_server=orcl
*.fal_client=djl
*.standby_file_management=auto
*.db_file_name_convert=('E:\app\Administrator\oradata\orcl','E:\app\Administrator\oradata\djl')
*.log_file_name_convert=('E:\app\Administrator\oradata\orcl','E:\app\Administrator\oradata\djl')

8、密碼文件配置

將主庫的參數文件PWDorcl.ora復制到備庫對應目錄下,並重命名為PWDdjl.ora

路徑位置:E:\app\Administrator\product\11.2.0\dbhome_1\database

9、控制文件配置

將主庫的參數文件control01.ctl和control02.ctl復制到備庫參數文件中指定位置下

10、創建備庫實例djl

C:\Users\Administrator>oradim -new -sid djl

11、主備庫的啟動

主庫:登錄sqlplus在showdown狀態下創建參數文件

查看oracle 啟動狀態

SQL> select status from v$instance;

關閉數據庫

SQL> shutdown immediate

創建參數文件

SQL> create spfile from pfile;

啟動數據庫

SQL> startup

SQL> select status from v$instance;

STATUS
------------
MOUNTED

SQL> shutdown immediate
ORA-01109: 數據庫未打開


已經卸載數據庫。
ORACLE 例程已經關閉。
SQL>
SQL> create spfile from pfile;

文件已創建。

SQL> startup
ORACLE 例程已經啟動。

Total System Global Area 2572144640 bytes
Fixed Size                  2178496 bytes
Variable Size            1426063936 bytes
Database Buffers         1124073472 bytes
Redo Buffers               19828736 bytes
數據庫裝載完畢。
數據庫已經打開。
SQL>

備庫:

登錄sqlplus出現如下錯誤

C:\Users\Administrator>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期日 8月 11 17:43:35 2019

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

ERROR:
ORA-12560: TNS: 協議適配器錯誤


請輸入用戶名:
ERROR:
ORA-12560: TNS: 協議適配器錯誤


請輸入用戶名:
ERROR:
ORA-12560: TNS: 協議適配器錯誤


SP2-0157: 在 3 次嘗試之后無法連接到 ORACLE, 退出 SQL*Plus

C:\Users\Administrator>

解決辦法參考:https://www.jianshu.com/p/1c3dbe96af03

C:\Users\Administrator>set oracle_sid=djl

C:\Users\Administrator>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期日 8月 11 17:57:13 2019

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

已連接到空閑例程。

SQL>

創建參數文件

SQL> create spfile from pfile;

將數據庫啟動到nomount(必須是nomount狀態)

SQL> startup nomount

SQL> create spfile from pfile;

文件已創建。

SQL> startup nomount
ORACLE 例程已經啟動。

Total System Global Area 3423965184 bytes
Fixed Size                  2180544 bytes
Variable Size            1862273600 bytes
Database Buffers         1543503872 bytes
Redo Buffers               16007168 bytes
SQL>

12、使用rman連接主備庫

在主庫執行:

C:\Users\Administrator>rman target sys/111111@orcl auxiliary sys/111111@djl

注意:連接前使用rman登錄主備庫做測試

13、為備庫備份參數文件

RMAN> backup current controlfile for standby database;

報錯情況:

RMAN> backup current controlfile for standby database;

啟動 backup 於 11-8月 -19
使用目標數據庫控制文件替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=67 設備類型=DISK
通道 ORA_DISK_1: 正在啟動全部數據文件備份集
通道 ORA_DISK_1: 正在指定備份集內的數據文件
輸入數據文件: 文件號=00007 名稱=D:\ORACLE_DATA\BRDB_1031.DBF
輸入數據文件: 文件號=00006 名稱=D:\ORACLE_DATA\BRDB_JSNK20190716.DBF
輸入數據文件: 文件號=00008 名稱=D:\ORACLE_DATA\BRDB_ZJC_0508.DBF
輸入數據文件: 文件號=00001 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
輸入數據文件: 文件號=00002 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
輸入數據文件: 文件號=00003 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
輸入數據文件: 文件號=00005 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF
輸入數據文件: 文件號=00004 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在啟動段 111-8月 -19
RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 08/11/2019 18:12:52 上) 失敗
ORA-19809: 超出了恢復文件數的限制
ORA-19804: 無法回收 52428800 字節磁盤空間 (從 4102029312 限制中)
繼續執行其他作業步驟, 將不重新運行失敗的作業
通道 ORA_DISK_1: 正在啟動全部數據文件備份集
通道 ORA_DISK_1: 正在指定備份集內的數據文件
備份集內包括當前控制文件
備份集內包括當前的 SPFILE
通道 ORA_DISK_1: 正在啟動段 111-8月 -19
通道 ORA_DISK_1: 已完成段 111-8月 -19
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NCSNF_TAG20190811T181047_GNZTK5KL_.BKP 標記=TAG20190811T181047 注釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:01
通道 ORA_DISK_1: 正在啟動全部數據文件備份集
通道 ORA_DISK_1: 正在指定備份集內的數據文件
備份集內包括備用控制文件
通道 ORA_DISK_1: 正在啟動段 111-8月 -19
通道 ORA_DISK_1: 已完成段 111-8月 -19
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NCNNF_TAG20190811T181047_GNZTK7NZ_.BKP 標記=TAG20190811T181047 注釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:01
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================

RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 08/11/2019 18:12:52 上) 失敗
ORA-19809: 超出了恢復文件數的限制
ORA-19804: 無法回收 52428800 字節磁盤空間 (從 4102029312 限制中)

需要修改歸檔日志的路徑,默認路徑存儲大小為2G

或者修改默認路徑存儲大小為500G

SQL> alter system set db_recovery_file_dest_size=500G;

系統已更改。

參考:

https://blog.csdn.net/mengxiang209/article/details/6936096

https://www.cnblogs.com/andy6/p/5997410.html

https://blog.csdn.net/weixin_34384557/article/details/89774544

https://blog.csdn.net/weixin_34384557/article/details/89774544

RMAN> backup current controlfile for standby database;

啟動 backup 於 11-8月 -19
使用目標數據庫控制文件替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=131 設備類型=DISK
通道 ORA_DISK_1: 正在啟動全部數據文件備份集
通道 ORA_DISK_1: 正在指定備份集內的數據文件
輸入數據文件: 文件號=00007 名稱=D:\ORACLE_DATA\BRDB_1031.DBF
輸入數據文件: 文件號=00006 名稱=D:\ORACLE_DATA\BRDB_JSNK20190716.DBF
輸入數據文件: 文件號=00008 名稱=D:\ORACLE_DATA\BRDB_ZJC_0508.DBF
輸入數據文件: 文件號=00001 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
輸入數據文件: 文件號=00002 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
輸入數據文件: 文件號=00003 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
輸入數據文件: 文件號=00005 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF
輸入數據文件: 文件號=00004 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在啟動段 111-8月 -19
通道 ORA_DISK_1: 已完成段 111-8月 -19
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NNNDF_TAG20190811T191415_GNZY482X_.BKP 標記=TAG20190811T191415 注釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:05:36
通道 ORA_DISK_1: 正在啟動全部數據文件備份集
通道 ORA_DISK_1: 正在指定備份集內的數據文件
備份集內包括當前控制文件
備份集內包括當前的 SPFILE
通道 ORA_DISK_1: 正在啟動段 111-8月 -19
通道 ORA_DISK_1: 已完成段 111-8月 -19
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NCSNF_TAG20190811T191415_GNZYGR2X_.BKP 標記=TAG20190811T191415 注釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:01
通道 ORA_DISK_1: 正在啟動全部數據文件備份集
通道 ORA_DISK_1: 正在指定備份集內的數據文件
備份集內包括備用控制文件
通道 ORA_DISK_1: 正在啟動段 111-8月 -19
通道 ORA_DISK_1: 已完成段 111-8月 -19
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NCNNF_TAG20190811T191415_GNZYGT5V_.BKP 標記=TAG20190811T191415 注釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:01
完成 backup 於 11-8月 -19

14、將主庫數據庫復制到備庫

RMAN> duplicate target database for standby from active database;

RMAN> duplicate target database for standby from active database;

啟動 Duplicate Db 於 27-8月 -19
使用目標數據庫控制文件替代恢復目錄
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: SID=10 設備類型=DISK

內存腳本的內容:
{
   backup as copy reuse
   targetfile  'E:\app\Administrator\product\11.2.0\dbhome_1\DATABASE\PWDorcl.OR
A' auxiliary format
 'E:\app\Administrator\product\11.2.0\dbhome_1\DATABASE\PWDdjl.ORA'   ;
}
正在執行內存腳本

啟動 backup 於 27-8月 -19
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=147 設備類型=DISK
完成 backup 於 27-8月 -19

內存腳本的內容:
{
   backup as copy current controlfile for standby auxiliary format  'E:\APP\ADMI
NISTRATOR\ORADATA\DJL\CONTROL01.CTL';
   restore clone controlfile to  'E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\DJL\C
ONTROL02.CTL' from
 'E:\APP\ADMINISTRATOR\ORADATA\DJL\CONTROL01.CTL';
}
正在執行內存腳本

啟動 backup 於 27-8月 -19
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 啟動數據文件副本
復制備用控制文件
輸出文件名=E:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCFORCL.ORA 標
記=TAG20190827T092232 RECID=4 STAMP=1017393753
通道 ORA_DISK_1: 數據文件復制完畢, 經過時間: 00:00:01
完成 backup 於 27-8月 -19

啟動 restore 於 27-8月 -19
使用通道 ORA_AUX_DISK_1

通道 ORA_AUX_DISK_1: 已復制控制文件副本
完成 restore 於 27-8月 -19

內存腳本的內容:
{
   sql clone 'alter database mount standby database';
}
正在執行內存腳本

sql 語句: alter database mount standby database

內存腳本的內容:
{
   set newname for tempfile  1 to
 "E:\APP\ADMINISTRATOR\ORADATA\DJL\TEMP01.DBF";
   switch clone tempfile all;
   set newname for datafile  1 to
 "E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSTEM01.DBF";
   set newname for datafile  2 to
 "E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSAUX01.DBF";
   set newname for datafile  3 to
 "E:\APP\ADMINISTRATOR\ORADATA\DJL\UNDOTBS01.DBF";
   set newname for datafile  4 to
 "E:\APP\ADMINISTRATOR\ORADATA\DJL\USERS01.DBF";
   backup as copy reuse
   datafile  1 auxiliary format
 "E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSTEM01.DBF"   datafile
 2 auxiliary format
 "E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSAUX01.DBF"   datafile
 3 auxiliary format
 "E:\APP\ADMINISTRATOR\ORADATA\DJL\UNDOTBS01.DBF"   datafile
 4 auxiliary format
 "E:\APP\ADMINISTRATOR\ORADATA\DJL\USERS01.DBF"   ;
   sql 'alter system archive log current';
}
正在執行內存腳本

正在執行命令: SET NEWNAME

臨時文件 1 在控制文件中已重命名為 E:\APP\ADMINISTRATOR\ORADATA\DJL\TEMP01.DBF

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

正在執行命令: SET NEWNAME

啟動 backup 於 27-8月 -19
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 啟動數據文件副本
輸入數據文件: 文件號=00001 名稱=E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
輸出文件名=E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSTEM01.DBF 標記=TAG20190827T092241

通道 ORA_DISK_1: 數據文件復制完畢, 經過時間: 00:00:25
通道 ORA_DISK_1: 啟動數據文件副本
輸入數據文件: 文件號=00002 名稱=E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
輸出文件名=E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSAUX01.DBF 標記=TAG20190827T092241

通道 ORA_DISK_1: 數據文件復制完畢, 經過時間: 00:00:15
通道 ORA_DISK_1: 啟動數據文件副本
輸入數據文件: 文件號=00003 名稱=E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
輸出文件名=E:\APP\ADMINISTRATOR\ORADATA\DJL\UNDOTBS01.DBF 標記=TAG20190827T09224
1
通道 ORA_DISK_1: 數據文件復制完畢, 經過時間: 00:00:07
通道 ORA_DISK_1: 啟動數據文件副本
輸入數據文件: 文件號=00004 名稱=E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
輸出文件名=E:\APP\ADMINISTRATOR\ORADATA\DJL\USERS01.DBF 標記=TAG20190827T092241
通道 ORA_DISK_1: 數據文件復制完畢, 經過時間: 00:00:01
完成 backup 於 27-8月 -19

sql 語句: alter system archive log current

內存腳本的內容:
{
   switch clone datafile all;
}
正在執行內存腳本

數據文件 1 已轉換成數據文件副本
輸入數據文件副本 RECID=4 STAMP=1017393812 文件名=E:\APP\ADMINISTRATOR\ORADATA\DJ
L\SYSTEM01.DBF
數據文件 2 已轉換成數據文件副本
輸入數據文件副本 RECID=5 STAMP=1017393812 文件名=E:\APP\ADMINISTRATOR\ORADATA\DJ
L\SYSAUX01.DBF
數據文件 3 已轉換成數據文件副本
輸入數據文件副本 RECID=6 STAMP=1017393812 文件名=E:\APP\ADMINISTRATOR\ORADATA\DJ
L\UNDOTBS01.DBF
數據文件 4 已轉換成數據文件副本
輸入數據文件副本 RECID=7 STAMP=1017393812 文件名=E:\APP\ADMINISTRATOR\ORADATA\DJ
L\USERS01.DBF
完成 Duplicate Db 於 27-8月 -19

RMAN>exit

15、將備庫設置為接受日志模式

說明:此時,主庫為open狀態,備庫為mounted

主庫:

SQL> select status from v$instance;

STATUS
------------
OPEN

SQL>

 備庫:

在備庫執行以下語句

將備庫修改為接收應用主庫歸檔的模式

SQL> alter database recover managed standby database disconnect from session;

SQL> select status from v$instance;

STATUS
------------------------
MOUNTED

SQL> alter database recover managed standby database disconnect from session;

數據庫已更改。

SQL>

16、日志驗證dataguard:

主庫:

E:\app\Administrator\diag\rdbms\orcl\orcl\trace

備庫:

在主庫切換日志,再次查看日志如下

主庫:

SQL> alter system switch logfile;

備庫:

日志驗證dataguard完畢,且驗證成功。

17、備庫后期配置

設置備庫

SQL> alter database mount standby database;

 

SQL> select sequence#,applied from V$archived_log where applied='YES';
SQL> alter database recover managed standby database cancel;

設置備庫只讀
SQL> alter database open read only;
SQL> alter database recover managed standby database using current logfile disconnect from session;
說明:重啟數據庫后必須執行,這樣數據才能同步。

查看日志應用情況
SQL> select sequence#,applied from V$archived_log where applied='IN-MEMORY';

如果看到IN-MEMORY說明當前正在進行實時同步,如果最后一個是YES,也是正常的,說明當前操作為0

SQL> select sequence#,applied from V$archived_log;

查詢當前的保護模式
SQL> select open_mode,database_role,db_unique_name,PROTECTION_MODE from v$database;

到此,oracle 11g dataguard 配置完畢。

四、啟動從庫,同步因停機未同步的歸檔日志

SQL> shutdown immediate;
SQL> startup nomount;
SQL> alter database mount standby database;

備庫啟用日志應用
SQL> alter database recover managed standby database disconnect from session;
SQL> select sequence#,applied from V$archived_log where applied='YES';

以只讀方式啟動從庫

SQL> alter database open read only;
SQL> alter database recover managed standby database using current logfile disconnect from session;

更改數據庫恢復托管備用數據庫取消

停止應用日志

SQL> alter database recover managed standby database cancel;

參考博客:

Windows server 2008 R2 安裝 Oracle 11g R2 dataguard

https://blog.csdn.net/u013986802/article/details/70207566

物理standby database的日常維護

https://blog.csdn.net/robbie1314520/article/details/8267283


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM