Oracle 11.2.0.4.0 Dataguard部署和日常维护(2)-Datauard部署篇
1. primary库设置dataguard相关参数
1.1. 强制primay库在任何状态下必须记录日志
SYS@userdata>select FORCE_LOGGING from v$database; FORCE_LOG
---------
NO SYS@userdata>alter database force logging; Database altered. SYS@userdata>select FORCE_LOGGING from v$database; FORCE_LOG
---------
YES
1.2. 设置primay库在归档模式
SYS@userdata>shutdown immediate;
SYS@userdata>startup mount;
SYS@userdata>alter database archivelog;
SYS@userdata>alter database open;
SYS@userdata>archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 2
Next log sequence to archive 4
Current log sequence 4
1.3. 设置primary和standby库的tnsnames
$ cat $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2./db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools. userdata1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ec2t-userdata-)(PORT = ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = userdata1)
)
) userdata2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ec2t-userdata-)(PORT = ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = userdata2)
)
)
1.4. 根据spfile创建pfile文件
SYS@userdata>create pfile='/home/oracle/pfile.ora' from spfile; File created.
1.5. 更新pfile文件,添加dataguard相关参数
$ mkdir /u01/app/oracle/arch
$ cat /home/oracle/pfile.ora
userdata.__db_cache_size=
userdata.__java_pool_size=
userdata.__large_pool_size=
userdata.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
userdata.__pga_aggregate_target=
userdata.__sga_target=
userdata.__shared_io_pool_size=
userdata.__shared_pool_size=
userdata.__streams_pool_size=
*.audit_file_dest='/u01/app/oracle/admin/userdata/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oracle/oradata/userdata/control01.ctl','/u01/app/oracle/fast_recovery_area/userdata/control02.ctl'
*.db_block_size=
*.db_domain=''
*.db_name='userdata'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=userdataXDB)'
*.java_jit_enabled=FALSE
*.memory_target=
*.open_cursors=
*.processes=
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.db_unique_name='userdata1'
*.log_archive_config='DG_CONFIG=(userdata1,userdata2)'
*.log_archive_dest_1='location=/u01/app/oracle/arch'
*.log_archive_dest_2='SERVICE=userdata2 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=userdata2'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.standby_file_management='AUTO'
*.fal_client='userdata1'
*.fal_server='userdata2'
1.6. 导入新的参数文件,使dataguard配置生效
SYS@userdata>shutdown immediate;
SYS@userdata>create spfile from pfile='/home/oracle/pfile.ora';
SYS@userdata>startup;
同时修改.bash_profile的ORACLE_UNQNAME的值
2. standby库设置dataguard相关参数
2.1. 在primary库生成pfile,传到standby库
SYS@userdata>create pfile='/home/oracle/pfile.ora.bak' from spfile;
$ scp /home/oracle/pfile.ora.bak oracle@ec2t-userdata-02:/home/oracle/
2.2. 修改standby库的dataguard相关参数
$ cat /home/oracle/pfile.ora.bak
userdata.__db_cache_size=
userdata.__java_pool_size=
userdata.__large_pool_size=
userdata.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
userdata.__pga_aggregate_target=
userdata.__sga_target=
userdata.__shared_io_pool_size=
userdata.__shared_pool_size=
userdata.__streams_pool_size=
*.audit_file_dest='/u01/app/oracle/admin/userdata/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oracle/oradata/userdata/control01.ctl','/u01/app/oracle/fast_recovery_area/userdata/control02.ctl'
*.db_block_size=
*.db_domain=''
*.db_name='userdata'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=
*.db_unique_name='userdata2'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=userdataXDB)'
*.fal_client='userdata2'
*.fal_server='userdata1'
*.java_jit_enabled=FALSE
*.log_archive_config='DG_CONFIG=(userdata1,userdata2)'
*.log_archive_dest_1='location=/u01/app/oracle/arch'
*.log_archive_dest_2='SERVICE=userdata2 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=userdata2'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.memory_target=
*.open_cursors=
*.processes=
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'$ mkdir -p /u01/app/oracle/admin/userdata/adump
$ mkdir -p /u01/app/oracle/oradata/userdata/
$ mkdir -p /u01/app/oracle/fast_recovery_area/userdata
$ mkdir -p /u01/app/oracle/arch
同时修改.bash_profile的ORACLE_UNQNAME的值
2.3. 设置primary和standby库的tnsnames(从主库复制即可)
$ scp oracle@ec2t-userdata-:$ORACLE_HOME/network/admin/tnsnames.ora $ORACLE_HOME/network/admin/
2.4. 设置standby库的远程登录验证(从主库复制即可)
$ scp oracle@ec2t-userdata-:$ORACLE_HOME/dbs/orapwuserdata $ORACLE_HOME/dbs/
3. 对primary库做RMAN备份,并将备份传至standby库
$ mkdir /home/oracle/dataset
$ rman target /
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> run {
allocate channel ch1 device type disk;
sql 'alter system archive log current';
backup database format '/home/oracle/dataset/data_%U.bak';
backup archivelog all format '/home/oracle/dataset/arch_%U.bak';
backup current controlfile for standby format '/home/oracle/dataset/ctl_%U.bak';
release channel ch1;
}
allocated channel: ch1
channel ch1: SID=45 device type=DISK sql statement: alter system archive log current Starting backup at 2017-06-23 04:24:02
channel ch1: starting full datafile backup set
channel ch1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/userdata/system01.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/userdata/sysaux01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/userdata/undotbs01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/userdata/users01.dbf
channel ch1: starting piece 1 at 2017-06-23 04:24:03
channel ch1: finished piece 1 at 2017-06-23 04:25:28
piece handle=/home/oracle/dataset/data_01s7g3b3_1_1.bak tag=TAG20170623T042402 comment=NONE
channel ch1: backup set complete, elapsed time: 00:01:25
Finished backup at 2017-06-23 04:25:28 Starting backup at 2017-06-23 04:25:29
current log archived
channel ch1: starting archived log backup set
channel ch1: specifying archived log(s) in backup set
input archived log thread=1 sequence=4 RECID=1 STAMP=947322924
input archived log thread=1 sequence=5 RECID=2 STAMP=947322932
input archived log thread=1 sequence=6 RECID=3 STAMP=947391842
input archived log thread=1 sequence=7 RECID=4 STAMP=947391929
channel ch1: starting piece 1 at 2017-06-23 04:25:30
channel ch1: finished piece 1 at 2017-06-23 04:25:37
piece handle=/home/oracle/dataset/arch_02s7g3dq_1_1.bak tag=TAG20170623T042529 comment=NONE
channel ch1: backup set complete, elapsed time: 00:00:07
Finished backup at 2017-06-23 04:25:37 Starting backup at 2017-06-23 04:25:37
channel ch1: starting full datafile backup set
channel ch1: specifying datafile(s) in backup set
including standby control file in backup set
channel ch1: starting piece 1 at 2017-06-23 04:25:39
channel ch1: finished piece 1 at 2017-06-23 04:25:40
piece handle=/home/oracle/dataset/ctl_03s7g3e2_1_1.bak tag=TAG20170623T042537 comment=NONE
channel ch1: backup set complete, elapsed time: 00:00:01
Finished backup at 2017-06-23 04:25:40 Starting Control File and SPFILE Autobackup at 2017-06-23 04:25:40
piece handle=/u01/app/oracle/fast_recovery_area/USERDATA1/autobackup/2017_06_23/o1_mf_s_947391940_dnsyonvd_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2017-06-23 04:25:43 released channel: ch1 $ scp -r /home/oracle/dataset oracle@ec2t-userdata-02:/home/oracle/
4. 还原standby库
4.1. 还原参数文件
SYS@userdata>create spfile from pfile='/home/oracle/pfile.ora.bak';
SYS@userdata>startup nomount;
4.2. 还原控制文件
$ rman target /
RMAN> restore standby controlfile from '/home/oracle/dataset/ctl_03s7g3e2_1_1.bak';
RMAN> alter database mount;
4.3. 还原数据文件
RMAN> restore database;
RMAN> recover database;
5. 创建standby联机日志
5.1. 在primary库创建
SYS@userdata>SELECT GROUP#, BYTES/1024/1024 as MB FROM V$LOG;
    GROUP#       MB
---------- ----------
       1      100
       2      100
       3      100
SYS@userdata>select GROUP#,MEMBER from v$logfile;
    GROUP# MEMBER
---------- --------------------------------------------------
       1   /u01/app/oracle/oradata/userdata/redo01.log
       2   /u01/app/oracle/oradata/userdata/redo02.log
       3   /u01/app/oracle/oradata/userdata/redo03.log
SYS@userdata>alter database add standby logfile ('/u01/app/oracle/oradata/userdata/stredo01.log') size 100M;
Database altered.
SYS@userdata>alter database add standby logfile ('/u01/app/oracle/oradata/userdata/stredo02.log') size 100M;
Database altered.
SYS@userdata>alter database add standby logfile ('/u01/app/oracle/oradata/userdata/stredo03.log') size 100M;
Database altered.
SYS@userdata>alter database add standby logfile ('/u01/app/oracle/oradata/userdata/stredo04.log') size 100M;
Database altered.
SYS@userdata>select GROUP#,BYTES/1024/1024 as MB from v$standby_log;
    GROUP#       MB
---------- ----------
       4      100
       5      100
       6      100
       7      100
SYS@userdata>select GROUP#,MEMBER,TYPE from v$logfile;
    GROUP#                              MEMBER                  TYPE
---------- -------------------------------------------------- ---------------------
       1        /u01/app/oracle/oradata/userdata/redo01.log              ONLINE
       2     /u01/app/oracle/oradata/userdata/redo02.log              ONLINE
       3     /u01/app/oracle/oradata/userdata/redo03.log              ONLINE
       4     /u01/app/oracle/oradata/userdata/stredo01.log           STANDBY
       5     /u01/app/oracle/oradata/userdata/stredo02.log           STANDBY
       6     /u01/app/oracle/oradata/userdata/stredo03.log              STANDBY
       7     /u01/app/oracle/oradata/userdata/stredo04.log              STANDBY
7 rows selected.
5.2. 在standby库创建
SYS@userdata>SELECT GROUP#, BYTES/1024/1024 as MB FROM V$LOG;
    GROUP#       MB
---------- ----------
     1      100
     3      100
     2      100
SYS@userdata>select GROUP#,MEMBER from v$logfile;
    GROUP# MEMBER
---------- --------------------------------------------------
     1 /u01/app/oracle/oradata/userdata/redo01.log
     2 /u01/app/oracle/oradata/userdata/redo02.log
     3 /u01/app/oracle/oradata/userdata/redo03.log
SYS@userdata>alter database add standby logfile ('/u01/app/oracle/oradata/userdata/stredo01.log') size 100M;
Database altered.
SYS@userdata>alter database add standby logfile ('/u01/app/oracle/oradata/userdata/stredo02.log') size 100M;
Database altered.
SYS@userdata>alter database add standby logfile ('/u01/app/oracle/oradata/userdata/stredo03.log') size 100M;
Database altered.
SYS@userdata>alter database add standby logfile ('/u01/app/oracle/oradata/userdata/stredo04.log') size 100M;
Database altered.
SYS@userdata>select GROUP#,BYTES/1024/1024 as MB from v$standby_log;
    GROUP#       MB
---------- ----------
     4      100
     5      100
     6      100
     7      100
SYS@userdata>select GROUP#,MEMBER,TYPE from v$logfile;
    GROUP# MEMBER                          TYPE
---------- -------------------------------------------------- ---------------------
     1 /u01/app/oracle/oradata/userdata/redo01.log          ONLINE
     2 /u01/app/oracle/oradata/userdata/redo02.log          ONLINE
     3 /u01/app/oracle/oradata/userdata/redo03.log          ONLINE
     4 /u01/app/oracle/oradata/userdata/stredo01.log      STANDBY
     5 /u01/app/oracle/oradata/userdata/stredo02.log      STANDBY
     6 /u01/app/oracle/oradata/userdata/stredo03.log      STANDBY
     7 /u01/app/oracle/oradata/userdata/stredo04.log      STANDBY
7 rows selected.
6. 启动standby监听
$ lsnrctl start
7. 开启stanby库恢复进程
SYS@userdata>alter database recover managed standby database disconnect from session using current logfile;
8.primary库归档,查看dataguard数据同步是否成功
SYS@userdata>select name,archived,applied,sequence# from v$archived_log; NAME ARCHIVED APPLIED SEQUENCE#
-------------------------------------------------- --------- --------------------------- ----------
/u01/app/oracle/arch/1_4_947274260.dbf YES NO 4
/u01/app/oracle/arch/1_5_947274260.dbf YES NO 5
/u01/app/oracle/arch/1_6_947274260.dbf YES NO 6
/u01/app/oracle/arch/1_7_947274260.dbf YES NO 7
/u01/app/oracle/arch/1_8_947274260.dbf YES NO 8
userdata2 YES YES 8 6 rows selected. SYS@userdata>alter system archive log current; System altered. SYS@userdata>alter system archive log current; System altered. SYS@userdata>select name,archived,applied,sequence# from v$archived_log; NAME ARCHIVED APPLIED SEQUENCE#
-------------------------------------------------- --------- --------------------------- ----------
/u01/app/oracle/arch/1_4_947274260.dbf YES NO 4
/u01/app/oracle/arch/1_5_947274260.dbf YES NO 5
/u01/app/oracle/arch/1_6_947274260.dbf YES NO 6
/u01/app/oracle/arch/1_7_947274260.dbf YES NO 7
/u01/app/oracle/arch/1_8_947274260.dbf YES NO 8
userdata2 YES YES 8
userdata2 YES YES 9
/u01/app/oracle/arch/1_9_947274260.dbf YES NO 9
/u01/app/oracle/arch/1_10_947274260.dbf YES NO 10
userdata2 YES YES 10
userdata2 YES NO 11
/u01/app/oracle/arch/1_11_947274260.dbf YES NO 11 12 rows selected.
Oracle 11.2.0.4.0 Dataguard部署和日常维护(2)-Datauard部署篇的更多相关文章
- Oracle 11.2.0.4.0 Dataguard部署和日常维护(3)-Datauard监控篇
		
1. v$database 查看当前数据库的角色和保护模式 primary库查看 column NAME format a10 column PROTECTION_MODE format a2 ...
 - Oracle 11.2.0.4.0 Dataguard部署和日常维护(1)-数据库安装篇
		
本次测试环境 系统版本 CentOS release 6.8 主机名 ec2t-userdata-01 ec2t-userdata-01 IP地址 10.189.102.118 10.189.100. ...
 - Oracle 11.2.0.4.0 Dataguard部署和日常维护(4)-Datauard Gap事件解决篇
		
Oracle dataguard主库删除备库需要的归档时,会导致gap事情的产生,或者备库由于网络或物理故障原因,倒是备库远远落后于主库,都会产生gap事件,本例模拟gap事件的产生以及处理. 1. ...
 - Oracle 11.2.0.4.0 Dataguard部署和日常维护(5)-Datauard 主备切换和故障转移篇
		
1. dataguard主备切换 1.1. 查看当前主备库是否具备切换条件 on slave select sequence#,first_time,next_time,archived,appl ...
 - Oracle 11.2.0.4.0 Dataguard部署和日常维护(6)-Active Dataguard篇
		
1. 检查主备库的状态 on primary column DATABASE_ROLE format a20 column OPEN_MODE format a15 column PROTECTION ...
 - Oracle 11.2.0.4.0 Dataguard部署和日常维护(7) - Dataguard Flashback篇
		
1. 设置备库的闪回目录 show parameter db_recovery_file; NAME TYPE VALUE ------------------------------------ - ...
 - Oracle 11.2.0.4.0 Dataguard部署和日常维护(6)-Dataguard Snapshot篇
		
1. 检查当前主备库同步状态 on primary select ads.dest_id,max(sequence#) "Current Sequence", max(log_se ...
 - Gitlab 快速部署及日常维护 (二)
		
一.概述 上一篇我们将Gitlab的安装部署和初始化设置部分全部讲解完成了,接下来我们介绍Gitlab在日常工作中常遇见的问题进行梳理说明. 二.Gitlab的安装和维护过程中常见问题 1.Gitla ...
 - Gitlab 快速部署及日常维护 (一)
		
一.GitLab简介GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务 二.GitLab系统架构git用户的主目录通常是/home/git(~ ...
 
随机推荐
- 【Luogu P2764】最小路径覆盖问题
			
网络流 \(24\) 题之一. Problem Description 给出一个 \(n\) 个点 \(m\) 条边的 \(DAG\) ,求最小路径点覆盖,并输出路径选择方案. Input Forma ...
 - [UVA-11100] The Trip
			
题目大意 大箱子能装小箱子,求在满足最少箱子的情况下,最小化每个箱子中最大的箱子个数. 解析 想到二分枚举箱子数,然后贪心的选择放进箱子的位置. 最优策略一定是将最大的 \(m\) 个先找出来,然后把 ...
 - CSS深入
			
块元素:div.h1.p等等. 列表的样式: /*使用系统提供的一些样式:例如无序.有序都可以使用circle*/ ul{ list-style-type: circle; } ol{ list-st ...
 - vs里32位项目和64位项目的区别
			
由于操作系统内存分配的不同,导致软件开发过程中,需要编译不同版本的软件. 1.编译程序根据需要选择不同的编译环境. x86和win32为32位程序,x64为64位程序,可以选择不同的编译条件形成不同位 ...
 - ImgQuoteUIWindow
			
using System;using UnityEngine;using UnityEngine.UI;using UnityEditor;using System.Collections;using ...
 - 在阿里云服务器上搭建xampp遇到的问题
			
参考文章:http://blog.csdn.net/hel12he/article/details/49781813 http://www.laozuo.org/8178.html http://bl ...
 - Bootstrap  &  Font Awesome  学习笔记
			
学习网站:http://bootstrap.ninghao.net/index.html https://www.freecodecamp.cn http://www.runoob.com/boots ...
 - Windows下Apache服务器搭建
			
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件,可以在大多数计算机操作系统中运行,由于其多平台和安全性 ...
 - java扫描文件夹下面的所有文件(递归与非递归实现)
			
java中扫描指定文件夹下面的所有文件扫描一个文件夹下面的所有文件,因为文件夹的层数没有限制可能多达几十层几百层,通常会采用两种方式来遍历指定文件夹下面的所有文件.递归方式非递归方式(采用队列或者栈实 ...
 - Spring Bean 定义继承
			
本例子源于:W3CSchool,在此作记录 bean 定义可以包含很多的配置信息,包括构造函数的参数,属性值,容器的具体信息例如初始化方法,静态工厂方法名,等等. 子 bean 的定义继承父定义的配置 ...