oracle 10g 建立logical standby
来源:互联网 发布:js事件代码 编辑:程序博客网 时间:2024/04/30 12:23
建立逻辑备库之前,应该先建立物理备库
(1)--确定逻辑备库所支持的方案,注意,sys、system用户不支持,所以在sys、system用户等方案中建立的对象无法传递到逻辑备库。
select username from dba_users where username not in (select owner from dba_logstdby_skip);
USERNAME
------------------------------
TTS
RMAN
TEST
HR
PERFSTAT
SCOTT
TSMSYS
(2)--确定不支持的对象,逻辑备库对一些类型不支持,如用户自定义类型,xml object、bfile等
select owner || '.' || table_name table_name, data_type,attributes from dba_logstdby_unsupported;
TABLE_NAME DATA_TYPE ATTRIBUTES
-------------------------------------------------------------
HR.PARTNO NUMBER Object Table
(3)--确定支持的对象中哪些无法被唯一标识,需要替这些对象加上主键或者unique约束。
select owner,table_name from dba_logstdby_not_unique
where table_name not in (select table_name from dba_logstdby_unsupported);
OWNER TABLE_NAME
------------------------------ ------------------------------
SCOTT BONUS
SCOTT SALGRADE
HR PARTS
HR COUNTRIES
HR PRODUCT
SCOTT TT1
HR TEST1
HR TEST
SCOTT CUSTOMERS
HR DIGITS
SCOTT TEST1
SCOTT SALES
为这些表加上主键或者唯一约束,因为逻辑备库的物理结构和主库不同,所以不能根据rowid定义备库的行,只能根据主键或者唯一约束来定位。
alter table scott.bonus add primary key(ename);
。。。
(3) 在主库和备库上均打开补充日志
alter database add supplemental log data(primary key,unique index)columns;
select supplemental_log_data_pk pk_log,supplemental_log_data_ui ui_log from v$database;
PK_ UI_
--- ---
YES YES
(4) 在主库上创建logical standby controlfile
alter database create logical standby controlfile as '/opt/oracle/bak/control01.ctl' reuse;
(5)关闭备库,拷贝上面创建的控制文件,覆盖备库的控制文件
shutdown immediate;
cp /opt/oracle/bak/control01.ctl /opt/oracle/oradata/standby/
(6)启动备库到mount状态,应用日志
startup mount;
alter database recover managed standby database disconnect from session;
(7) 启动逻辑备库
alter database activate standby database;
若出现ORA-16228:
Insufficient recovery for logical standby
Cause: Insufficient amount of recovery was run for logical standby instantiation.
Action: Continue to recover the database using ALTER DATABASE RECOVER MANAGED STANDBY DATABASE.
继续执行 alterdatabase recovermanaged standby database;
然后再执行 alter database activate standby database;
(8)重新启动备库到mount状态,修改逻辑备库的数据库名,修改完后备库自动关闭
shutdown immediate
startup mount
nid target=sys/oracle@standby dbname=standby --修改控制文件和数据文件中的数据库名
orapwd file=$ORACLE_HOME/dbs/pwdstandby.ora password=oracle --创建对应于新数据库名的密码文件
--修改参数文件中的db_name
create pfile from spfile;
vim pfile
修改db_name='standby'
create spfile from pfile;
(9)启动改名后的备库
startup mount;
alter database open resetlogs;
(10)检查有没有临时文件,如果没有,为临时表空间添加临时文件
select * from v$tempfile;
alter tablespace temp add tempfile '/opt/oracle/oradata/standby/temp01.dbf' size 50M;
(11)应用日志
alter database start logical standby apply;
--关闭日志用如下命令:alter database stop logical standby apply;
(12)查看日志应用情况
select sequence#,applied from dba_logstdby_log;
select value from v$logstdby_stats where name='coordinator state'; --如果没有返回行,证明日志应用没有打开。
(13)在主库做修改提交,切换日志,到备库查询,判断是否已经应用修改。
- oracle 10g 建立logical standby
- oracle 10g logical standby
- ORA-12801 15154 Oracle 10g Logical Standby
- Oracle 10g logical standby 維護命令
- Oracle 11g logical standby switchover
- Oracle 11g Create Logical Standby
- Oracle 11g 建立Logical standby 测试环境搭建 For Windows
- Logical Standby 建立测试记录
- Oracle 10g 单实例数据库Data Guard 之 Logical Standby 配置详解(根据官方文档总结)
- 基于同一主机配置Oracle 11g Data Guard(logical standby)
- 创建Oracle dataguard logical standby database
- Oracle Data Gurad -- Logical Standby 相关说明
- Oracle Data Gurad -- Logical Standby 相关说明
- Oracle Data Gurad -- Logical Standby 相关说明
- Oracle Data Gurad -- Logical Standby 相关说明
- Oracle Data Gurad -- Logical Standby 相关说明
- Oracle Data Gurad -- Logical Standby 相关说明
- oracle 10g 逻辑standby 切换步骤
- 译文:设置HTTP文件下载四要诀
- [转载]WebBrowser控件使用详解
- 正则表达式
- gcc编译过程
- 微软 数据结构面试题目
- oracle 10g 建立logical standby
- 常兴不衰的10款小游戏 收藏
- 提前感受下一代gnome界面
- 各种进程创建方式比较总结(MacOS, Win32
- .NET 中的对象序列化
- deploy Summit Memo
- main函数的参数
- 人生就是插错脚的过程
- C语言编译全过程