rac 服务器修改口令,RAC+DG(二)

第二部分主要介绍了DG的配置及主备库角色切换

一、安装准备工作

1、安装grid

2、创建ASM磁盘组(与rac库一致)

3、安装oracle软件

4、挂载文件磁盘(rac1与dg)

fdisk /dev/sdb1

fdisk -l

mkfs.ext4 /dev/sdb1

mkdir rman_backup

chown -R oracle:oinstall /rman_backup/

mount -t ext4 /dev/sdb1 /rman_backup/

df -Th

--创建开机挂载

vi /etc/fstab

/dev/sdb1 /rman_backup  ext4 defaults

0 0

二、RAC 主库配置单实例 Active Dataguard

1、RAC主库准备工作

RAC 主库必须置为归档模式:

select open_mode ,log_mode from v$database;

alter database archivelog;

select open_mode ,log_mode from v$database;

RAC 主库必须置为 Force Logging 模式:

select name,log_mode,force_logging from gv$database;

alter database force logging;

select name,log_mode,force_logging from gv$database;

RAC 主库执行 RMAN 全备:

list archivelog all;

RMAN> run{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

allocate channel c4 type disk;

backup database format '/rman_backup/Full_%U.bak' ;

backup archivelog all format '/rman_backup/ARC_%U.bak';

release channel c1;

release channel c2;

release channel c3;

release channel c4;

}

RAC 主库执行创建物理备库控制文件:

backup device type disk format

'/rman_backup/standby_%U.ctl' current

controlfile for standby;

RAC 主库创建物理备库初始化参数文件:

show parameter spfile;

create pfile='/rman_backup/initorcl.ora' from spfile;

RAC 主库修改口令文件,使双节点 SYS 用户口令一致:

alter user sys identified by oracle;

三、物理备库准备工作

1、FTP 主库备份文件+备库控制文件+备库参数文件至物理备库服务器:

cd /rman_backup/

scp /rman_backup/Full_0*.bak 192.168.3.20:/rman_backup/

scp /rman_backup/ARC_0fnpvd06_1_1.bak

192.168.3.20:/rman_backup/

scp /rman_backup/initorcl.ora 192.168.3.20:/rman_backup/

scp /rman_backup/standby_0gnpvd65_1_1.ctl

192.168.3.20:/rman_backup/

--scp /filename root@ip:/path

2、物理备库创建口令文件:

orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle

entries=5

3、物理备库初始化参数文件修改:

cat /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora

orcl.__db_cache_size=255852544

orcl.__java_pool_size=4194304

orcl.__large_pool_size=4194304

orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from

environment

orcl.__pga_aggregate_target=419430400

orcl.__sga_target=423624704

orcl.__shared_io_pool_size=0

orcl.__shared_pool_size=146800640

orcl.__streams_pool_size=0

*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'

*.audit_trail='db'

*.cluster_database=false

*.compatible='11.2.0.0.0'

*.control_files='+DATA/orcl/controlfile/cont.ctl'

*.core_dump_dest='/u01/app/oracle/diag/rdbms/orcl/cdump'

*.db_block_size=8192

*.db_create_file_dest='+DATA'

*.db_domain=''

*.db_file_name_convert='+DATA/orcl/','+DATA/orcl/'

*.db_name='orcl'

*.db_recovery_file_dest='+FLA'

*.db_recovery_file_dest_size=4070572032

*.db_unique_name='orcldg'

*.diagnostic_dest='/u01/app/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'

*.fal_client='orcltns'--tns中配置

*.fal_server='orcl1tns','orcl2'tns --tns中配置

*.log_archive_config='dg_config=(orcl,orcldg)'

--DB_UNIQUE_NAME

*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST

valid_for=(all_logfiles,all_roles)

db_unique_name=orcldg'

*.log_archive_dest_2='service=orcl1tns

valid_for=(online_logfiles,primary_role)

db_unique_name=orcl'

*.log_archive_format='ARC_%t_%S_%r.arc'

*.log_file_name_convert='+DATA/orcl/','+DATA/orcl/'

--主备库日志文件存放路径

*.memory_target=842006528

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='exclusive'

*.service_names='orcldg'

*.standby_file_management='auto'

*.thread=1

*.undo_management='auto'

*.undo_tablespace='UNDOTBS1

***********

若dg库路径不一致需做如下操作

mkdir创建admin下的文件

su - grid

asmcmd -P

cd data

mkdir orcldg

*************************

4、配置tnsnames并测试登录(两边)

orcltns

orcl1tns

orcl2tns

四、创建物理备库

1、物理备库启动 NOMOUNT 状态:

env|grep ORA --查环境变量

> startup nomount;

2、RMAN 恢复备库控制文件:

>rman target /

restore standby controlfile from

'/rman_backup/standby_0gnpvd65_1_1.ctl';

3、MOUNT 物理备库:

alter database mount;

4、RMAN restore 物理备库:

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

allocate channel c4 type disk;

restore database;

release channel c1;

release channel c2;

release channel c3;

release channel c4;

}

5、备库上创建 standby logfile:

select * from v$standby_log;

alter database add standby logfile thread 1 group 5 size

50m,group 6 size 50m,group 7 size 50m;

alter database add standby logfile thread 2 group 8 size

50m,group 9 size 50m,group 10 size 50m;

6、主库参数调整:

show parameter spfile;

alter system set log_archive_dest_2='service=orcldg lgwr sync

valid_for=(online_logfiles,primary_role) db_unique_name=orcldg'

sid='*';

show parameter log_arch

alter system set log_archive_config='dg_config=(orcl,orcldg)'

sid='*';

7、备库接收主库日志:

select sequence#,name, applied from v$archived_log;

可能遇到备库无法顺利接收主库日志

解决:调整节点 2 的 SYS 用户口令,或者重新配置口令文件。

8、备库开始应用日志:

alter database recover managed standby database using current

logfile disconnect from session;

select sequence#,name, applied from v$archived_log;

9、备库以 READ ONLY 方式打开:

select

dbid,name,switchover_status,db_unique_name,database_role,open_mode,current_scn

from v$database;

MOUNTED

alter database open;

报错

alter database recover managed standby database cancel;

alter database open;

select

dbid,name,switchover_status,db_unique_name,database_role,open_mode,current_scn

from v$database;

READ ONLY

alter database recover managed standby database using current

logfile disconnect from session;

select

dbid,name,switchover_status,db_unique_name,database_role,open_mode,current_scn

from v$database;

READ ONLY WITH APPLY

select sequence#,name, applied from v$archived_log;

RAC 主库配置 Active Physical Dataguard 成功

五、测试

1、测试文件同步

主库查看表空间信息:

select file_name,tablespace_name from dba_data_files;

create tablespace dg_tbs datafile size 5m;

select file_name,tablespace_name,bytes/1024/1024 M from

dba_data_files;

查看物理备库表空间信息是否同步:

select file_name,tablespace_name from dba_data_files;

主库删除表空间:

drop tablespace dg_tbs including contents and datafiles;

再次查看物理备库表空间是否同步:

select file_name,tablespace_name from dba_data_files;

2、测试数据同步

主库创建测试表:

备库查看测试表同步:

六、测试 DATAGUARD SWITCHOVER 功能

1、RAC主库、Active Dataguard 角色切换

主库修改相关参数 fal_client、fal_server:

alter system set fal_client='orcl1tns' sid='orcl1';

alter system set fal_client='orcl2tns' sid='orcl2';

alter system set fal_server='orcltns' sid='*';

show parameter fal

主库创建 standby logfile:

select * from v$standby_log;

alter database add standby logfile thread 1 group 5 size

50m,group 6 size 50m,group 7 size 50m;

alter database add standby logfile thread 2 group 8 size

50m,group 9 size 50

主库修改相关参数 standby_file_management 、 db_file_name_convert

、log_file_name_convert:

show parameter standby_file

show parameter db_file_na

show parameter log_file

alter system set standby_file_management='auto' sid='*'

scope=spfile;

alter system set

db_file_name_convert='+DATA/orcl/','+DATA/orcl/' sid='*'

scope=spfile; --先orcldg后主库orcl

alter system set

log_file_name_convert='+DATA/orcl/','+DATA/orcl/' sid='*'

scope=spfile;--先orcldg后主库orcl

停止RAC节点2:

select

dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status

from gv$database;

shutdown immediate;

RAC节点1 切换原RAC主库到备库:

alter database commit to switchover to physical standby with

session shutdown;

select

dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status

from gv$databas

READ WRITE状态

切换原物理备库到主库角色:

alter database commit to switchover to primary;

select

dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status

from gv$databas

alter database open;

将原 RAC主库2 个实例都启动到 MOUNT状态:

srvctl start database -d devdb -o mount

MOUNTED状态

原RAC主库启动redo apply:

select

dbid,name,current_scn,protection_mode,database_role,force_logging

recovery needed 执行

alter database recover managed standby database using current

logfile disconnect from session;

原 RAC主库停止redo apply,并将 RAC主库所有节点以READ ONLY打开:

alter database recover managed standby database cancel;

alter database open;

select

dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status

from gv$database;

alter database recover managed standby database using current

logfile disconnect from session;

2、单实例主库,RAC 备库角色切换

即,将新 RAC 备库切换为主库,新单实例主库切换为备库:

新主库(单实例库)状态查看:

select

dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status

from v$database;

新备库(RAC 库)状态查看:

select

dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status

from gv$database;

新备库(RAC 库)停止节点 2:

shutdown immediate;

新主库(单实例库)切换到备库:

alter database commit to switchover to physical standby with

session shutdown;

新备库(RAC 库)节点 1 切换到主库:

alter database recover managed standby database using current

logfile disconnect from session;

select

dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status

from gv$database;

alter database commit to switchover to primary;

select

dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status

from gv$database;

新备库(RAC 库)全部启动所有节点:

startup

srvctl start database -d devdb -o start

新备库(单实例库)重新启动并开始 redo apply:

alter database recover managed standby database using current

logfile disconnect from session;

select

dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status

from v$database;

至此,完成一次角色切换,即将新的备库(RAC 库)切换成主库,新的备库(单实例库)又重新切换为物理备库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值