dataguard实现Word文件下载.docx

上传人:b****1 文档编号:4441932 上传时间:2023-05-03 格式:DOCX 页数:23 大小:22.88KB
下载 相关 举报
dataguard实现Word文件下载.docx_第1页
第1页 / 共23页
dataguard实现Word文件下载.docx_第2页
第2页 / 共23页
dataguard实现Word文件下载.docx_第3页
第3页 / 共23页
dataguard实现Word文件下载.docx_第4页
第4页 / 共23页
dataguard实现Word文件下载.docx_第5页
第5页 / 共23页
dataguard实现Word文件下载.docx_第6页
第6页 / 共23页
dataguard实现Word文件下载.docx_第7页
第7页 / 共23页
dataguard实现Word文件下载.docx_第8页
第8页 / 共23页
dataguard实现Word文件下载.docx_第9页
第9页 / 共23页
dataguard实现Word文件下载.docx_第10页
第10页 / 共23页
dataguard实现Word文件下载.docx_第11页
第11页 / 共23页
dataguard实现Word文件下载.docx_第12页
第12页 / 共23页
dataguard实现Word文件下载.docx_第13页
第13页 / 共23页
dataguard实现Word文件下载.docx_第14页
第14页 / 共23页
dataguard实现Word文件下载.docx_第15页
第15页 / 共23页
dataguard实现Word文件下载.docx_第16页
第16页 / 共23页
dataguard实现Word文件下载.docx_第17页
第17页 / 共23页
dataguard实现Word文件下载.docx_第18页
第18页 / 共23页
dataguard实现Word文件下载.docx_第19页
第19页 / 共23页
dataguard实现Word文件下载.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

dataguard实现Word文件下载.docx

《dataguard实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《dataguard实现Word文件下载.docx(23页珍藏版)》请在冰点文库上搜索。

dataguard实现Word文件下载.docx

作为主库的本地归档目录

4设置主库的本地归档目录

altersystemsetlog_archive_dest_1=’location=/oracle/oradata/reddb/local_arch’scope=spfile;

altersystemsetlog_archive_dest_state_1=enablescope=spfile;

startup

在设置了数据库的归档模式后,整个数据库就进入了归档的模式;

如果尚未设置log_archive_start=true,则数据库处于手工归档状态,

如果设置了此参数,则处于自动归档状态;

在自动归档状态下,如果没有设置log_archive_dest,则Oracle会选择一个默认目录作为归档目的地;

如果设置了log_archive_dest,则不能再增设一个log_archive_dest_n;

因此对于DG由于至少需要两个归档目的地(本地和远端),那么就不能设置log_archive_dest.

5测试本地归档

altersystemswitchlogfil;

通过切换,会发现在/oracle/oradata/reddb/arch下

能生成归档日志.

6建立主库的备用归档路径

在/oracle/oradata/reddb下创建stdby_arch目录,

作为主库的备用归档目录;

当主库切换为备库时,其接收的归档日志存放于此目录下.

7为了能是主备进行切换,需要将主库的参数文件进行修改,

添加如下:

LOG_ARCHIVE_DEST_2='

SERVICE=reddbstd'

LOG_ARCHIVE_DEST_STATE_2=ENABLE

REMOTE_ARCHIVE_ENABLE=true

FAL_SERVER=reddbstd

FAL_CLIENT=reddb

DB_FILE_NAME_CONVERT=('

/oracle/oradata/reddb_stdby/'

'

/oracle/oradata/reddb/’)

LOG_FILE_NAME_CONVERT=('

STANDBY_ARCHIVE_DEST/oracle/oradata/reddb/stdby_arch

STANDBY_FILE_MANAGEMENT=AUTO

二备库的创建

1创建备库的数据文件所在的目录

在/oracle/oradata下执行:

mkdirreddb_stdby

2冷备份数据文件

shutdown

$cp/oracle/oradata/reddb/*.dbf/oracle/oradata/reddb_stdby/

$cp/oracle/oradata/reddb/*.log/oracle/oradata/reddb_stdby/

3生成备库的控制文件

ALTERDATABASECREATESTANDBYCONTROLFILEAS

‘/oracle/oradata/reddb_stdby/control_std.ctl’;

此处的控制文件名应该与主库的不一样;

另外,生成控制文件的步骤应该在备份数据文件后面.

4生成备库的参数文件

SQL>

CREATEPFILE=’/oracle/oradata/reddb_stdby/initreddbstd.ora’FROMSPFILE;

5建立备库的本地归档路径

在/oracle/oradata/reddb_stdby/下建立

arch目录

6建立备库的DUMP目录

bdump

cdump

udump

等目录

7修改从库的参数文件

这个参数文件是从主库直接copy过来的,有不合适的地方需要修改.

*.background_dump_dest='

/oracle/admin/reddb/bdump'

修改为

/oracle/oradata/reddb_stdby/bdump'

*.compatible='

9.2.0.0.0'

*.control_files='

/oracle/oradata/reddb/control01.ctl'

/oracle/oradata/reddb/control02.ctl'

/oracle/oradata/reddb/control03.ctl'

修改为:

/oracle/oradata/reddb_stdby/control_std.ctl'

*.core_dump_dest='

/oracle/admin/reddb/cdump'

/oracle/oradata/reddb_stdby/cdump'

*.db_block_size=8192

*.db_cache_size=25165824

*.db_domain='

'

*.db_file_multiblock_read_count=16

*.db_name='

reddb'

*.fast_start_mttr_target=300

*.hash_join_enabled=TRUE

*.instance_name='

reddbstd'

(实例名)

*.java_pool_size=0

*.large_pool_size=8388608

*.log_archive_dest_1='

location=/oracle/oradata/reddb/local_arch'

location=/oracle/oradata/reddb_stdby/local_arch'

*.log_archive_dest_state_1='

ENABLE'

*.log_archive_start=TRUE

*.open_cursors=300

*.pga_aggregate_target=25165824

*.processes=150

*.query_rewrite_enabled='

FALSE'

*.remote_login_passwordfile='

EXCLUSIVE'

*.shared_pool_size=83886080

*.sort_area_size=524288

*.star_transformation_enabled='

*.timed_statistics=TRUE

*.undo_management='

AUTO'

*.undo_retention=10800

*.undo_tablespace='

UNDOTBS1'

*.user_dump_dest='

/oracle/admin/reddb/udump'

/oracle/oradata/reddb_stdby/udump'

需要增加的参数:

standby_archive_dest=’/oracle/oradata/reddb_stdby/stdby_arch/'

#Specifythelocationofthearchivedredologsthat

#willbereceivedfromtheprimarydatabase.

#这个参数是指从

db_file_name_convert=(’/oracle/oradata/reddb/’,

’/oracle/oradata/reddb_stdby/’)

log_file_name_convert=(’/oracle/oradata/reddb/’,

log_archive_format=%t_%s.dbf

log_archive_dest_1=(’LOCATION=/oracle/oradata/reddb_stdby/local_arch'

’)

log_archive_dest_1-Specifythelocationwheretheredologsaretobe

archivedonthestandbysystem.(Ifaswitchoveroccursandthisinstance

becomestheprimarydatabase,thenthisparameterwillspecifythelocation

wheretheonlineredologswillbearchived.)

standby_file_management=AUTO

remote_archive_enable=TRUE

lock_name_space=reddbstd

为了是备库能切换为主库的角色,增加参数如下:

FAL_SERVER=reddb

FAL_CLIENT=reddbstd

SERVICE=reddb'

三启动从库

生成口令文件:

$/oracle/product/9.2.0.4/bin/orapwdfile=/oracle/product/9.2.0.4/dbs/orapwreddbstdpassword=sys

$exportORACLE_SID=reddbstd

$sqlplus“/assysdba”

startupnomountpfile=/oracle/oradata/reddb_stdby/initreddbstd.ora

createspfilefrompfile=/oracle/oradata/reddb_stdby/initreddbstd.ora

exit

startupnomount

alterdatabasemountstandbydatabase;

alterdatabaserecovermanagedstandbydatabase

>

disconnectfromsession;

四关闭从库

1先将主库对应的远程归档路径置为无效

主库操作:

altersystemsetlog_archive_dest_state_1=deferscope=memory;

2如果从库正在进行recover,则取消之

从库操作,查看是否有MRP0或MRP进程

SELECTPROCESS,STATUSFROMV$MANAGED_STANDBY;

3

执行

ALTERDATABASERECOVERMANAGEDSTANDBYDATABASECANCEL;

4关闭从库

shutdownimmediate;

五启动主库

修改initreddb.ora文件如上所示.

startuppfile=/oacle/product/9.2.0.4/dbs/initreddb.ora

createspfilefrompfile

shutdown

六配置侦听及网络服务名

由于主备库是在一台机器上,所以只需各配置一个listener.ora和tnsnames.ora文件即可.

Listener.ora文件内容:

LISTENER=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)(HOST=linux)(PORT=1521))

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(GLOBAL_DBNAME=reddb)

(ORACLE_HOME=/oracle/product/9.2.0.4)

(SID_NAME=reddb)

LISTENERSTD=

(ADDRESS=(PROTOCOL=TCP)(HOST=linux)(PORT=1523))

SID_LIST_LISTENERSTD=

(GLOBAL_DBNAME=reddbstd)

(SID_NAME=reddbstd)

tnsnames.ora文件内容:

REDDB=

(ADDRESS_LIST=

(CONNECT_DATA=

(SERVER=DEDICATED)

(SERVICE_NAME=reddb)

REDDBSTD=

(SERVICE_NAME=reddbstd)

主从库的启动顺序:

从库的listener

从库

主库的listener

主库

七验证备库

1查看从库当前存在的归档日志

SELECTSEQUENCE#,FIRST_TIME,NEXT_TIME

FROMV$ARCHIVED_LOGORDERBYSEQUENCE#;

2在主库上归档当前日志

ALTERSYSTEMARCHIVELOGCURRENT;

3查看从库当前归档的日志

2>

4查看从库当前归档日志是否已被apply

SELECTSEQUENCE#,APPLIEDFROMV$ARCHIVED_LOG

2ORDERBYSEQUENCE#;

 

5查看从库上app进程的信息

SELECTPROCESS,STATUS,THREAD#,SEQUENCE#,BLOCK#,BLOCKS

FROMV$MANAGED_STANDBY;

6查看从库归档日志被app的情况

SELECTARCHIVED_THREAD#,ARCHIVED_SEQ#,APPLIED_THREAD#,APPLIED_SEQ#

FROMV$ARCHIVE_DEST_STATUS;

7查看从库的已归档日志信息

SELECTREGISTRAR,CREATOR,THREAD#,SEQUENCE#,FIRST_CHANGE#,

NEXT_CHANGE#FROMV$ARCHIVED_LOG;

8在主库上执行

createtabletest(bnumber);

insertintotestvalues

(1);

commit;

altersystemswitchlogfile;

9在从库上执行

alterdatabaserecovermanagedstandbydatabasecancel;

alterdatabaseopenreadonly;

select*fromtest;

应该能检索出有值为1的记录.

10在主库上执行

insertintotestvalues

(2);

11在从库上执行

这时应没有值为2的记录,因为从库处于openreadonly模式,不能进行恢复;

也就是说managedrecover和readonly是从库两个互斥的运行模式.

Sql>

selectsequence#,archived,appliedfromv$archived_log;

通过这个结果就能发现有个已归档的日志没有被applied.

八监测备库的信息

1检查进程

在备库上执行:

SELECTPROCESS,CLIENT_PROCESS,SEQUENCE#,STATUSFROMV$MANAGED_STANDBY;

2查看归档日志

在主备库上执行

3查看备库上已归档的日志

备库上执行:

SELECTNAME,CREATOR,SEQUENCE#,APPLIED,COMPLETION_TIME

FROMV$ARCHIVED_LOG;

4查看主库的已归档信息

SELECTFIRST_TIME,FIRST_CHANGE#,NEXT_CHANGE#,SEQUENCE#FROMV$LOG_

HISTORY;

5查看从库的刚被apply的日志

SELECTTHREAD#,MAX(SEQUENCE#)AS"

LAST_APPLIED_LOG"

FROMV$LOG_HISTORY

3>

GROUPBYTHREAD#;

或者

SELECTTHREAD#,SEQUENCE#,APPLIEDFROMV$ARCHIVED_LOG;

6查看主库上尚未被传递到从库的日志

假设主库上的本地DEST_ID为1;

远程DEST_ID为2;

这可通过v$archive_dest来确定.

SELECTLOCAL.THREAD#,LOCAL.SEQUENCE#FROM

(SELECTTHREAD#,SEQUENCE#FROMV$ARCHIVED_LOGWHEREDEST_ID=1)LOCAL

WHERE

LOCAL.SEQUENCE#NOTIN

(SELECTSEQUENCE#FROMV$ARCHIVED_LOGWHEREDEST_ID=2AND

THREAD#=LOCAL.THREAD#);

九问题解决

1检查主库上的归档路径是否正确

SELECTDESTINATION,ERRORFROMV$ARCHIVE_DEST;

2如果备库没能收到归档日志

1)先检查主库上的归档路径是否有问题

SELECTDEST_ID"

ID"

STATUS"

DB_status"

DESTINATION"

Archive_dest"

ERROR"

Error"

FROMV$ARCHIVE_DEST;

2)如果上面正常,则检查:

主库上关于备库的servicename正确否?

归档路径正确否?

相应归档路径的state是否为enable

备库上的listener已启动否?

备库启动否?

十相关知识

1三种保护模式

MaximumPerformance

MaximumAvailability

MaximumProtection

2日志传递进程

主库上传递日志的进程可以是LGWR或ARCH.

对于MaximumAvailability和MaximumProtection两种模式,必须由LGWR进行传递,因为主库要求实时获取从库的事务信息;

对于MaximumPerformance模式,则可使用LGWR或ARCH.

如果是LGWR传递,则从库的接收者是RFS进程,接收的日志信息写入standbyredolog;

当主库进行日志switch时,会触发从库的arch进程也将standbyredolog归档到log_archive_dest_n所指定的本地归档路径.

如果时ARCH传递,则从库的接收者是RFS进程,每当主库进行日志switch时,从库会接收到一个完整的redo文件,RFS会将其直接放到standby_archive_dest路径下;

此时,主库上的每个arch进程会在从库对应一个RFS进程.

十一保护模式的转换

1在缺省情况下,备库是处于MaximumPerformance模式;

主库的日志传递进程是Arch

在主库上查询:

selectprotectionfromv$archive_dest_status;

在从库上查询:

selectprocess,client_processfromv$managed_standby;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2