读书人

Oracle dataguard 配备

发布时间: 2012-11-09 10:18:48 作者: rapoo

Oracle dataguard 配置

Oracle dataguard 配置 系统 linux

说明:主服务器 ora10g01(192.168.1.252)

Standby服务器 orac10g02(192.168.1.253)

两台机器都安装相同版本的数据库

主库创建数据库

物理备库不创建数据库

1. 主库备库必须要是归档模式,主库和备库监听全部起来lsnrctl start

2. Archive log list

3. 设置主库强制归档

Conn /as sysdba

startup

Alter database force logging;

4. 修改主库的tnsnames

加上

ORA10G01 =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ora10g)

)

)

ORA10G02 =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ora10g)

)

)

5. 修改备库的tnsnames

加上

ORA10G01 =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ora10g)

)

)

ORA10G02 =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ora10g)

)

)

6.生成备用库的控制文件

Alter database create standby controlfile as ‘/u01/app/oracle/standby.ctl’

7.修改主库初始化参数文件

create pfile from spfile

加上

log_archive_dest_1='LOCATION=/u01/app/oracle/archive'

log_archive_dest_state_1=enable

log_archive_dest_2='SERVICE=ora10g01'

log_archive_dest_state_2=enable

log_archive_format='%t_%s_%r.arc'

log_archive_max_processes=2

fal_server=ora10g01

fal_client=ora10g02

db_unique_name=ora10g01

8.shutdown immediate

9.vi /etc/hosts

加上

192.168.1.252 ora10g01

192.168.1.253 ora10g02

10.主库的数据文件,控制文件,日志文件拷到备库上

scp -r ora10g ora10g02 :/u01/app/oracle/oadata

scp-r /u01/app/oracle/standby.ctl ora10g02 :/u01/app/oracle

scp r initora10g.ora ora10g02 :/u01/oracle/oradata

11.要确保密码一样的也可以重建密码文件

Orapwd file= /u01/app/oralce/product/10.2.0/db_1/dbs/orapwora10g

12.备库初始化参数文件

加上

log_archive_dest_1='LOCATION=/u01/app/oracle/archive'

log_archive_dest_state_1=enable

log_archive_dest_2='SERVICE=ora10g02'

log_archive_dest_state_2=enable

log_archive_format='%t_%s_%r.arc'

log_archive_max_processes=2

fal_server=ora10g02

fal_client=ora10g01

db_unique_name=ora10g02

13.检查下归档的文件夹是否创建

14.删除备库的控制文件

Mv standby.ctl to control01.ctl

Cp control01.ctl control02.ctl

Cp control01.ctl control03.ctl

14.启动主库

Conn /as sysdba

Create spfile from pfile

Startup

Select name,database_role from v$database;

15.启动备库

Conn /as sysdba

Create pfile from pfile

Startup nomount

Alter database mount standby database;

Select name,database_role from v$database;

Alter database recover managed standby database disconnect from session;

16.可以建表测试

主库create table a (id1 number,id2 number);

Insert into a values(1,1);

Commit;

Alter system switch logfile;

Alter system switch logfile;

Alter system switch logfile;

备库 select sequence#,first_name,next_time from v$archive_log orader by sequence#;

Select sequence#,applied from v$archived_log order by sequence#;

Alter database recover managed standby database cancel;

Alter database open read only;

Select * from a;

Alter database recover managed standby database disconnect from session;启动redo应用

17.主备库切换

更改主数据库为备用状态

Alter database commit to switchover to physical standby;

关闭主数据库

Shutdown immediate;

在备用模式启动主数据库

Startup nomount;

alter database mount standby database;

select name,open_mode,protection_mode,database_role from v$database;

alter database recover managed stanby database disconnect from session;

打开备用数据库

Conn / sysdba

Alter database commit to switchover primary;

Shutdown immediate;

Startup

Alter system switch logfile;

18.failover

在standby 上

Alter database recover managed standby database finish;

Alter database recover managed standby database skip standby logfile;

Alter database commit to switchover to primary;

Shutdown immediate;

Startup;

19. Alter database recover managed standby database cancel;

Alter database open read only;

如果直接切换到主库

alter database commit to switchover to primary;会报错

ORA-16139: media recovery required

必须执行

alter database recover managed stanby database disconnect from session;

alter database commit to switchover to primary;

读书人网 >其他数据库

热点推荐