oracle查看master节点,oracle physical standby10g

本文详细介绍了如何在物理模式下设置Oracle Dataguard,包括创建Standby数据库、配置监听、备份控制文件、调整参数、同步日志和角色切换。通过一步步操作,展示了如何确保主备数据库之间的无缝切换和数据一致性。
摘要由CSDN通过智能技术生成

物理 data guard

primary

standby

创建相同的数据库文件,在物理模式下,连存储目录都一致

主库创建数据库,备库创建数据库软件

1

master 产生控制文件

Alter database create standby controlfile as '/oracle/standby.ctl'(mount)

standby ftp-mget controlfiel.*.tar

2配置监听netmgr

master:

listener :192.168.78.111

本地命名

tom_master  192.168.78.111

tom_standby 192.168.78.222

standby:

listener :192.168.78.222

本地命名

tom_standby   192.168.78.222

tom_master    192.168.78.111

3.主节点备份并生成备用数据库控制文件

设置主节点为force Logging模式(为了双向切换,建议备用节点也设置为force logging模式

ALTER DATABASE FORCE LOGGING;

设置主节点为归档模式

登陆主节点,进行数据库备份,并生成备用数据库控制文件standby.ctl

master: shutdown immediate;

tar -cvf orahome.tar /oracle/ora_home

tar -cvf oradata.tar /oracle/ora_data(控制文件另外的目录)

tar -cvf oradump.tar /oracle/admin

standby:mget *.tar

4主节点创建spfile;参数文件(建议追加的在master开启时更改)

mget spfile;修改参数文件,归档

创建归档日志目录

mkdir /10garchive      /*.log_archive_dest1,log_archive_dest2*/

mkdir standbyachive   /*.standby_archive_dest*/

chown -R oracle.dba /10garchive /standbyarchive

master 后追加:注:追加的在数据库open更改master产生pfile;

*.DB_UNIQUE_NAME='tommaster'(名字随意取)

*.log_archive_config='DG_CONFIG=(tommaster,tomstandby) /*master,standby的别名,就上面名字*/

*.log_archive_dest_1='LOCATION=/10garchive/VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=tommaster'

*.log_archive_dest_2='SERVICE=tomstandby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)   DB_UNIQUE_NAME=tomstandby'                           /*日志在standby别名的备机存放路径,tnsname连接标志符一致@tomstandby*/

#*.LOG_ARCHIVE_DEST_STATE_1=ENABLE

#*.LOG_ARCHIVE_DEST_STATE_2=ENABLE

*.FAL_SERVER='toms_tandby'                              /*主机的服务器为standby*/

*.FAL_CLIENT='tom_master '                              /主机的别名,第一行一样*/

*.standby_archive_dest='/standbyarchive'

*.standby_file_management='AUTO'

以下可有可无,前面有就不写

#*.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

#*.LOG_ARCHIVE_FORMAT=%t_%s_%r.arc

#*.LOG_ARCHIVE_MAX_PROCESS=30

standby 追加

*.DB_UNIQUE_NAME='tomstandby'(名字随意取)

*.log_archive_config='DG_CONFIG=(tommaster,tomstandby) /*master,standby的别名,就上面名字*/

*.log_archive_dest_1='LOCATION=/10garchive/VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=tomstandby'

*.log_archive_dest_2='SERVICE=tommaster LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)       DB_UNIQUE_NAME=tomstandby'                           /*日志在standby别名的备机存放路径,tnsname连接标志符号一致,在次为@tommaster*/

*.LOG_ARCHIVE_DEST_STATE_1=ENABLE

*.LOG_ARCHIVE_DEST_STATE_2=ENABLE

*.FAL_SERVER='tomstandby'                              /*主机的服务器为standby*/

*.FAL_CLIENT='tommaster '                              /主机的别名,第一行一样*/

*.standby_archive_dest='/standbyarchive'

*.standby_file_management='AUTO'

以下可有可无

#*.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

#*.LOG_ARCHIVE_FORMAT=%t_%s_%r.arc

#*.LOG_ARCHIVE_MAX_PROCESS=30

5.启动备库

master  open;

standby mount ;

standby 连接master是否正常

standby : sqlplu/nolog

conn / as sysdba;

startup mount;

standby:start redo Apply;(保证主库的lgwr进程日志更新在备库的目录)

Alter database recover managed standby database disconnect from session;

/*让备机恢复主库传来的日志,并且应用更新到本机)*/

6测试物理standby;

master :Alter system switch logfile;

standby:验证物理日志的正常传输工作;(由1,2可以确定是否正常工作3更直观)

desc v$archived_log;

1)select sequence#,applied from v$archived_log order by sequence#;

2)Select sequence#,first_time,next_time from v$archived_log order by sequence#;

SEQUENCE#      FIRST_TIME              NEXT_TIME

5             08-08-29:12:02:35       08-08-30:12:34:12

6             08-08-30:12:34:12       08-08-30:12:49:36

master:主库归档日志 alter system switch logfile;

standby: Select sequence#,first_time,next_time from v$archived_log order by sequence#

SEQUENCE#      FIRST_TIME              NEXT_TIME

5             08-08-29:12:02:35       08-08-30:12:34:12

6             08-08-30:12:34:12       08-08-30:12:49:36

7             08-08-30:12:49:36       08-08-30:12:58:14

(说明如果日期不正常,则to_char(first_time,'YY-MM-DD:hh24:mi:ss'))

3)主库建表,如果备库也产生该表,则正常

master: create user tompson identified by sys;grant connect,resource to tompson;

conn tompson/sys

create table test(id number,name varchar(10))

insert into test values (001,'oracle');

insert into test values (003,'linux');

commit;

select * from test;

sys:Alter system switch logfile;

standby:

mount:可以接受应用更新master传来的日志,不能查询

open read only:可以接受master日志,不能及时应用更新,但是可以查询,数据不能更新

目前standby是mount状态,但是不能查询,因此需要将数据库open read only状态,才能查询刚才创建的用户表,是否生效

以read_only状态打开数据库

1)停掉日志的应用更新(mount)

Alert database recover managed standby database cancel;

2)Alter database open;/*read only状态*/

3)conn tompson/sys    /*创建的用户生效*/

4)select * from test  /*master 创建数据生效*/

从read_only状态切换到及时更新状态(mount):

Alter database recover managed standby database disconnect from session;

7切换

1)参看状态

standby(mount):  select name,database_role from v$database;

NAME            DATABASE_ROLE

TOM            PHYSICAK STANDBY

master(open):    select name,database_role from v$database;

NAME            DATABASE_ROLE

TOM            PRIMARY

2)

master(open)

Alter database commit to switchover to physical standby with session shutdown ;

Shutdown immediate;

Startup nomount;

Alter database mount standby database;

Recover managed standby database disconnect;

参看角色

select name,database_role from v$database;

NAME           DATABASE_ROLE

TOM            PHYSICAL STANDBY            /*此时主机切换成备机,且及时接受更新日志状态

standby:(mount)直接运行

Alter database commit to switchover to primary;/*直接切换角色*/

Shutdown immediate;

Startup;

查看角色

select name,database_role from v$database;

NAME             DATABASE_ROLE

TOM               PRIMARY                /*此时备机切换成主机*/

Select sequence#,first_time,next_time from v$archived_log order by sequence#;

可以做下创建表的测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值