dataguard搭建-rac到单机

一 检查源端,打开归档

SQL>archive log list;
#如果未打开,关闭数据库
Shutdown immediate;
#启动至mount状态
Startup mount
#开启归档
SQL> alter database archivelog ; 
Database altered. 
#打开强制日志,不打开,使nologging选项时,备库的表会报错
SQL> alter database force logging;
 Database altered.
SQL> alter database open; 
Database altered.
#检查
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /data/arch
Oldest online log sequence     12
Next log sequence to archive   14
Current log sequence           14
SQL> select force_logging from v$database;
FORCE
---
YES

二 更改参数

alter system set log_archive_config=‘DG_CONFIG=(db,standby)‘ scope=both;
alter system set log_archive_dest=‘‘ scope=both;
alter system set log_archive_dest_1=‘location=/data/arch‘ scope=spfile;
--用归档传输
alter system set log_archive_dest_2=‘service=standby arch valid_for=(online_logfiles,primary_role) db_unique_name=standby‘ scope=spfile;
--首选在线日志传输,实时应用
alter system set log_archive_dest_2=‘service=standby lgwr sync affirm valid_for=(online_logfiles,primary_role) db_unique_name=standby‘ scope=both;
SQL> alter system set log_archive_max_processes=4 scope=both;
SQL> alter system set fal_server=standby scope=both;
SQL> alter system set fal_client=db scope=both;
SQL> alter system set standby_file_management=auto scope=both;
SQL> alter system set db_file_name_convert=‘+data‘,‘/data‘ scope=spfile;
SQL> alter system set log_file_name_convert=‘+data‘,‘/data‘ scope=spfile;
Sql>alter system set db_unique_name=db scope=spfile;
#先不启用
SQL>alter system set log_archive_dest_state_2=defer;

三 配置tnsnames

服务端$ORACLE_HOME/network/admin/tnsnames.ora

standby =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.84.17)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = standby)
    )
  )

四 备份主库:

rman "target / nocatalog"
run{
configure default device type to disk;
configure device type disk parallelism 1;
backup as compressed backupset database format ‘/home/oracle/full_%s_%p_%T.bak‘ TAG fullbak_fordg;
}

五 创建standby controlfile:

创建standby controlfile:

SQL> alter database create standby controlfile as ‘/home/oracle/standby.ctl‘;

六 创建pfile

create pfile=‘/data/backup/pfile.ora‘ from spfile;

主要修改db_unique_name

Fal_server

Fal_client

参考如下:

*.audit_file_dest=‘/opt/db/adump‘
*.audit_trail=‘none‘
*.cluster_database=false
*.compatible=‘11.2.0.4.0‘
*.db_file_name_convert=‘+DATA‘,‘/data‘
*.log_file_name_convert=‘+DATA‘,‘/data‘
*.control_files=‘/u01/data/ctl_01.ctl‘
*.log_archive_config=‘DG_CONFIG=(db,standby)‘
*.db_block_size=8192
*.db_create_file_dest=‘/data‘
*.db_domain=‘‘
*.db_files=200
*.db_name=‘db‘
*.db_unique_name=‘standby‘
*.db_recovery_file_dest_size=53477376000
*.db_recovery_file_dest=‘‘
*.deferred_segment_creation=FALSE
*.diagnostic_dest=‘/u01/app/oracle‘
*.dispatchers=‘(PROTOCOL=TCP) (SERVICE=TCIS30XDB)‘
*.log_archive_dest_1=‘location=/data/arch valid_for=(all_logfiles,all_roles) db_unique_name=standby‘
*.open_cursors=100
*.pga_aggregate_target=50MB
*.processes=100
*.remote_login_passwordfile=‘exclusive‘
*.sessions=150
*.sga_target=100MB
*.undo_tablespace=‘UNDOTBS1‘
*.fal_server=db

七 创建密钥文件

orapwd file=orapw$ORACLE_SID password=oracle

八 创建备库 listener.ora

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /opt/product/11.2)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = standby)
      (ORACLE_HOME = /opt/product/11.2)
      (SID_NAME = sid_name)
    )
  )

9 备机创建目录

mkdir /data/arch

mkdir /data/dg1

mkdir –p /u01/app/oracle/admin/standby/adump

更改~/.bash_profile

Export ORACLE_SID=standby

10启动及恢复

cp standby.ctl /data/standby/ctl01.ctl
SQL> startup nomount;
SQL> alter database mount standby database;
rman target /
catalog start with ‘/home/oracle/backup‘;
Restore database;
SQL>recover managed standby database disconnect from session;

11 备库添加standby log file;

alter database recover managed standby database cancel
alter database add standby logfile thread 1 group 10 ‘+data(flashfile)‘ size 50m;
alter database add standby logfile thread 1 group 11 ‘+data(flashfile)‘ size 50m;
alter database add standby logfile thread 2 group 12 ‘+data(flashfile)‘ size 50m;
alter database add standby logfile thread 2 group 13 ‘+data(flashfile)‘ size 50m;
alter database add standby logfile group 14 ‘/u01/data/standbyredo09.log‘ size 50m;

#主库启用日志传送

SQL>alter system set log_archive_dest_state_2=enabled;

#模式为最大可用

SQL>alter database set standby database to maximize availability;
alter database recover managed standby database cancel;
alter database open;
alter database recover managed standby database using current logfile disconnect from session;

12 检查

select process,client_process,sequence#,status from v$managed_standby;
col  current_scn for 999999999999;
select protection_mode,database_role,open_mode,current_scn from v$database
col name for a50 ;
col sequence# for 9999999;
select name,sequence#,to_char(completion_time,‘yyyy-mm-dd hh24:mi:ss‘) from v$archived_log order by 2;
SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;
--主库查询
 select sequence#,status from v$Log;
 col value for a30;
 col name for a13;
 col unit for a30;
 select name,value,unit,time_computed from v$dataguard_stats;
SELECT * FROM V$STANDBY_EVENT_HISTOGRAM WHERE NAME = ‘apply lag‘ AND COUNT > 0;
 col checkpoint_change# for 99999999999999;
 select name,checkpoint_change# from v$datafile;
 select name,checkpoint_change# from v$datafile_header;
 
 SELECT DBID,
       NAME,
       TO_CHAR(CREATED, ‘DD-MON-YYYY HH24:MI:SS‘) CREATED,
       OPEN_MODE,
       LOG_MODE,
       TO_CHAR(CHECKPOINT_CHANGE#, ‘999999999999999‘) AS CHECKPOINT_CHANGE#,
       CONTROLFILE_TYPE,
       TO_CHAR(CONTROLFILE_CHANGE#, ‘999999999999999‘) AS CONTROLFILE_CHANGE#,
       TO_CHAR(CONTROLFILE_TIME, ‘DD-MON-YYYY HH24:MI:SS‘) CONTROLFILE_TIME,
       TO_CHAR(RESETLOGS_CHANGE#, ‘999999999999999‘) AS RESETLOGS_CHANGE#,
       TO_CHAR(RESETLOGS_TIME, ‘DD-MON-YYYY HH24:MI:SS‘) RESETLOGS_TIME
  FROM V$DATABASE;
--sofar 单位为KB
select * from v$recovery_progress;
--检查归档应用情况
col name for a50 ;
col sequence# for 9999999;
select name,sequence#,to_char(completion_time,‘yyyy-mm-dd hh24:mi:ss‘) from v$archived_log order by 2;
SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;
select thread#,max(sequence#) maxseq from gv$archived_log group by thread# order by thread#;
select * from v$archive_gap;
--检查net_timeout的适当值
select frequency,duration from v$redo_dest_resp_histogram where dest_id=2 and frequency>1;
select recovery_mode from v$archive_dest_status where dest_id=2;
时间: 2024-07-30 04:28:47

dataguard搭建-rac到单机的相关文章

Oracle Data Guard RAC到单机ASM配置(物理standby)

本次配置11G rac到单机ASM的dataguard配置,11G rac的安装参考oracle 11G rac 安装(VMware + rhel6.3),11G 单机ASM安装参考Oracle 11G 单机asm安装. 环境介绍: 主库: 11203 2节点RAC   实例名:racdb1,racdb2  db_name:racdb  db_unique_name:racdb 备库: 11203 单机 ASM   实例名:racdbstd        db_name:racdb  db_un

ORACLE 11G 之DATAGUARD搭建逻辑standby

Oracle Data Guard逻辑备库是利用主库的一个备份首先建立一个物理备库,然后再将其转换为逻辑备库.这之后主库将日志传递到备库,备库利用logminer从主库的日志中解析出主库所执行过的SQL,在备库上重新执行一遍,从而保证与主库的数据在逻辑上保持一致.与物理备库相对应的是,物理备库使用的是redo apply,逻辑备库使用的是sql apply.因此逻辑备库仅仅保证数据与主库是在逻辑上是一致的,从而逻辑备库可以处于open状态下并进行相应的DML操作. 在转换physical备库到l

Oracle_lhr_CentOS 7.3 ECS上搭建RAC 18c+单实例DG+EMCC+DG

Oracle_lhr_CentOS 7.3 ECS上搭建RAC 18c+单实例DG+EMCC+DG的FSFO快速故障转移配置 [大型连续免费公开课]Oracle 18c rac+dg+13.3的emcc部署配置(2018年最后一次免费公开课) 报名连接:https://ke.qq.com/course/315575 讲师:小麦苗 预计课时:6课时 开课时间:11月9日20点 相关软件下载地址:https://share.weiyun.com/57HUxNi 听课福利: 1.获得讲课文档pdf和课

Dataguard搭建灾备库操作手册

数据库:Oracle11gr2 主库 alter database force logging; alter system set db_unique_name='erpdb' scope=spfile;  --我们让主库db_name=db_unique_name alter system set REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE scope=spfile; alter system set LOG_ARCHIVE_FORMAT='%t_%s_%r.arc

CentOS 5.11下Oracle 11G R2 Dataguard搭建

Datagard算是Oracle企业版的一种容灾方案,在企业中广泛应用,我就将搭建过程记录下来以作备用. 主机名    数据库版本    实例名    IP db1    Oracle 11G R2    member    172.16.1.250 db2    Oracle 11G R2    member    172.16.1.251 默认情况下以上都已经安装好了Oracle数据库,但是只在db1上建立了数据库和监听,db2只安装Oracle软件不建库,不建监听. 目录: 打开强制归档日

全世界最详细的一步一步搭建RAC步骤(一)---安装操作系统RHEL4.6【weber出品】

全文搭建RAC分为3步骤 <--安装操作系统RHEL4.6> <--配置ASM+裸设备> <--安装集群软件>       <--安装数据库软件>       <--维护RAC> 虚拟磁盘布局情况: 建安装目录 添加硬盘 第二块硬盘叫做VOTING-DISK.vmdk 增加网络适配器 全部设置: 接着配置虚拟机的一些个问题. 为了在vmsare workstation上实现共享存储,修改文件D:\RAC1\RAC1.vmx的以下参数: 详细配置见

在Windows 2008 R2上搭建RAC+DG

前期规划: 节点1: tc1 192.168.56.101 内存:2G 节点2: tc2 192.168.56.102 内存:2G 物理备库:tcdg192.168.56.108内存:1G 操作系统:Windows 2008 R2 Enterprise ******* RAC部分 ******* 一.准备工作 1.修改提升权限提示方式为"不提示,直接提升"(默认为"非Windows二进制文件的同意提示") cmd> secpol.msc->本地策略-&g

dataguard rac到单机之间的switch over

搭建参见文章http://snowhill.blog.51cto.com/339421/1923591,搭好后,做switch over: 1 检查参数fal_server,fal_client,log_archive_dest_2,log_file_name_convert,data_file_name_convert, standby_file_management 源: fal_server=standby fal_cleint=db alter system set db_file_na

Oracle 10gR2 Dataguard搭建(非duplicate方式)

我的实验环境:源生产库(主库):IP地址:192.168.1.30Oracle 10.2.0.5 单实例 新DG库(备库):IP地址:192.168.1.31Oracle 10.2.0.5 单实例 1.源生产库开启归档 2.rman备份源生产库 3.修改源生产库参数 4.配置tnsnames.ora 5.同步密码文件 6.配置pfile文件 7.创建备库控制文件 8.还原备库 9.开启日志应用 10.switchover测试 11.创建还原点,激活备库测试 12.failover测试 1.源生产