【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'; |
至此逻辑备用数据库以搭建完成。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29487349/viewspace-1220783/ ,如需转载,请注明出处,否则将追究法律责任。