【DATAGUARD】DG系列之11g邏輯備庫的搭建

urgel_babay發表於2016-02-29

DATAGUARDDG系列之11g物理備庫的搭建

說明:由於虛擬機器,資源有限,搭建就在同一臺伺服器上進行了。
  

   資料庫版本:oracle11.2.0.4_x64 作業系統:redhat6.3_x64

      主資料庫:firsoul             備庫:sbdb

1、  檢查邏輯備用資料庫不支援的物件

獲取邏輯備用資料庫不支援的表及詳細列:

--檢查邏輯備庫不支援的表

select distinct owner,table_name from dba_logstdby_unsupported order by owner,table_name;

--精確查表表的哪一列

select owner,table_name,column_name,data_type from dba_logstdby_unsupported where table_name='';

2、  oracle11g中,邏輯備用資料庫本身不支援一下的資料型別:
   BFILE  VARRAYS  ROWID  
巢狀表  UROWID  儲存為物件關係的XML型別

    使用者定義型別   二進位制XML
多媒體資料型別(例如空間資料、影像資料、oracle文字)

3、  檢視主資料庫中不含有主鍵或唯一鍵索引的表:

select owner,table_name,bad_column from dba_logstdby_not_unique where table_name not in (select table_name from dba_logstdby_unsupported) and bad_column='Y';

 

4、  建立邏輯備用資料庫的第一步首先建立一個物理備用資料庫。(請參考上一篇文章

5、  邏輯備用資料庫在後臺使用LogMiner來提取生成SQL Apply事務必須的重做資料,在建立Log Miner字典之前,我們必須停止備用資料庫上的管理恢復,以確保我們只應用包含LogMiner字典的重做資料:

SQL>alter database recover managed standby database cancel;

6、  修改主庫引數

SQL>alter system set log_archive_dest_1='location=/oracle/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=firsoul' scope=both;

SQL>alter system set log_archive_dest_state_1=enable scope=both;

7、  構建LogMiner字典

SQL>exec dbms_logstdby.build;

8、  把資料庫恢復為邏輯備用資料庫

SQL>shutdown;

SQL>startup mount exclusive;

SQL>ALTER DATABASE RECOVER TO LOGICAL STANDBY sbdb;

SQL>shutdown;

SQL>startup mount;

9、  修改備庫引數

SQL>alter system set log_archive_dest_1='location=/oracle/sbdb_log VALID_FOR=(ALL_LOGFILES,ALL_ROLES) db_unique_name=sbdb' scope=both;

SQL>alter system set log_archive_dest_state_1=enable scope=both;


10
、開啟邏輯備用資料庫

SQL>ALTER DATABASE OPEN RESETLOGS;


11
、啟用SQL應用

SQL>alter database start logical standby apply immediate;


12
、建立一個dblink,方便管理資料庫

SQL>create database link firsoul connect to system identified by oracle using 'FIRSOUL';

 

至此邏輯備用資料庫以搭建完成。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30936525/viewspace-2016735/,如需轉載,請註明出處,否則將追究法律責任。

相關文章