Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1244325
  • 博文数量: 350
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5668
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-23 17:53
文章分类

全部博文(350)

文章存档

2013年(350)

分类: Oracle

2013-04-24 16:43:03

逻辑standby

1、接收到的归档文件

前章曾经提到,逻辑standby应用完归档后会自动删除该归档文件,该特性你如果觉着不爽,没关系,执行下面这个过程,屏蔽掉它:

JSSLDG2> EXECUTE DBMS_LOGSTDBY.APPLY_SET('LOG_AUTO_DELETE', FALSE);

提示:这种操作并非毫无意义,比如说逻辑standby打开了flashback database,那如果你想恢复到之前的某个时间点,然后再接着应用,就必须要有该时间点后对应的归档,假如LOG_AUTO_DELETE为TRUE的话,显然应用过的归档就不存在了,想回都回不去。

2、启动实时应用

默认情况下,log应用服务会等待单个归档文件全部接收之后再启动应用(在前面redo传输服务中我们介绍了不同形式的传输方式),如果standby端使用了standby redologs,就可以打开实时应用(real-time apply),这样dg就不需要再等待接收完归档文件,只要rfs将redo数据写入standby redologs,即可通过MRP/LSP实时写向standby,这样就可以尽可能保持standby与primary的同步。

要启动逻辑standby的实时应用,只需要在启动逻辑standby应用时加上immediate子句即可,前面我们已经无数次的演练过,例如:

JSSLDG2> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;

3、定义DBA_LOGSTDBY_EVENTS视图中事件记录的相关参数。

Dba_logstdby_events视图前面刚讲过,里面记录了逻辑standby的一些操作事件,如果你希望修改该视图中记录的事件信息的话,可以通过下列的方式:

例如,希望该视图能够保留最近999条事件,可以通过执行下列语句:

JSSLDG2> select *from v$logstdby_stats where name='maximum events recorded';

NAME                                                             VALUE

---------------------------------------------------------------- ---------------

maximum events recorded                                          100

JSSLDG2> alter database stop logical standby apply;

已更改。

JSSLDG2> execute dbms_logstdby.apply_set('max_events_recorded','999');

PL/SQL 过程已成功完成。

JSSLDG2> alter database start logical standby apply immediate;

数据库已更改。

JSSLDG2> select *from v$logstdby_stats where name='maximum events recorded';

NAME                                                             VALUE

---------------------------------------------------------------- ---------------

maximum events recorded                                          999

再比如,你如果想在视图中记录ddl操作的信息,可以通过执行下列语句:

JSSLDG2> execute dbms_logstdby.apply_set('RECORD_APPLIED_DDL','TRUE');

4、指定对象跳过应用,请用DBMS_LOGSTDBY.SKIP

默认情况下,接收自primary的redo数据中,所有能够被standby支持的操作都会在逻辑standby端执行,如果你希望跳过对某些对象的某些操作的话,DBMS_LOGSTDBY.SKIP就能被派上用场了。

先来看看dbms_logstdby.skip的语法:

DBMS_LOGSTDBY.SKIP (

     stmt                      IN VARCHAR2,

     schema_name               IN VARCHAR2 DEFAULT NULL,

     object_name               IN VARCHAR2 DEFAULT NULL,

     proc_name                 IN VARCHAR2 DEFAULT NULL,

     use_like                  IN BOOLEAN DEFAULT TRUE,

     esc                       IN CHAR1 DEFAULT NULL);

除stmt外,其它都是可选参数,并且看字面意义就能明白其所指,下面简单描述一下stmt参数调用的关键字都是指定值,详细见下列:

STMT关键字

包含的操作

NON_SCHEMA_DDL

不属于模式对象的所有其它ddl操作

提示:使用该关键字时,SCHEMA_NAMEOBJECT_NAME两参数也必须指定。

SCHEMA_DDL

创建修改删除模式对象的所有ddl操作 (例如: tables, indexes, and columns)

提示:使用该关键字时,SCHEMA_NAMEOBJECT_NAME两参数也必须指定。

DML

Includes DML statements on a table (for example: INSERT, UPDATE, and DELETE)

CLUSTER

AUDIT CLUSTER

CREATE CLUSTER

DROP CLUSTER

TRUNCATE CLUSTER

CONTEXT

CREATE CONTEXT

DROP CONTEXT

DATABASE LINK

CREATE DATABASE LINK

CREATE PUBLIC DATABASE LINK

DROP DATABASE LINK

DROP PUBLIC DATABASE LINK

DIMENSION

ALTER DIMENSION

CREATE DIMENSION

DROP DIMENSION

DIRECTORY

CREATE DIRECTORY

DROP DIRECTORY

INDEX

ALTER INDEX

CREATE INDEX

DROP INDEX

PROCEDURE

ALTER FUNCTION

ALTER PACKAGE

ALTER PACKAGE BODY

ALTER PROCEDURE

CREATE FUNCTION

CREATE LIBRARY

CREATE PACKAGE

CREATE PACKAGE BODY

CREATE PROCEDURE

DROP FUNCTION

DROP LIBRARY

DROP PACKAGE

DROP PACKAGE BODY

DROP PROCEDURE

PROFILE

ALTER PROFILE

CREATE PROFILE

DROP PROFILE

ROLE

ALTER ROLE

CREATE ROLE

DROP ROLE

SET ROLE

ROLLBACK STATEMENT

ALTER ROLLBACK SEGMENT

CREATE ROLLBACK SEGMENT

DROP ROLLBACK SEGMENT

SEQUENCE

ALTER SEQUENCE

CREATE SEQUENCE

DROP SEQUENCE

SYNONYM

CREATE PUBLIC SYNONYM

CREATE SYNONYM

DROP PUBLIC SYNONYM

DROP SYNONYM

TABLE

ALTER TABLE

CREATE TABLE

DROP TABLE

TABLESPACE

CREATE TABLESPACE

DROP TABLESPACE

TRUNCATE TABLESPACE

TRIGGER

ALTER TRIGGER

CREATE TRIGGER

DISABLE ALL TRIGGERS

DISABLE TRIGGER

DROP TRIGGER

ENABLE ALL TRIGGERS

ENABLE TRIGGER

TYPE

ALTER TYPE

ALTER TYPE BODY

CREATE TYPE

CREATE TYPE BODY

DROP TYPE

DROP TYPE BODY

USER

ALTER USER

CREATE USER

DROP USER

VIEW

CREATE VIEW

DROP VIEW

字数受限,详细请查看:

阅读(698) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~