【DATAGUARD
】DG
系列之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';
至此逻辑备用数据库以搭建完成。