1.查看主机和数据库信息
[oracle@oracle1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Tue May 29 01:19:35 2018
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> set linesize 300
set pagesize 999
select * from v$version;
BANNER CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0
PL/SQL Release 12.2.0.1.0 - Production 0
CORE 12.2.0.1.0 Production 0
TNS for Linux: Version 12.2.0.1.0 - Production 0
NLSRTL Version 12.2.0.1.0 - Production 0
SQL> set linesize 140
set pagesize 999
col name for a25
col value for a60
select name,value from v$parameter where name like '%dump%';SQL> SQL> SQL> SQL>
NAME VALUE
------------------------- ------------------------------------------------------------
shadow_core_dump partial
background_core_dump partial
background_dump_dest /data/app/oracle/product/12.2.0.1/db_1/rdbms/log
user_dump_dest /data/app/oracle/product/12.2.0.1/db_1/rdbms/log
core_dump_dest /data/app/oracle/diag/rdbms/orcl/orcl/cdump
max_dump_file_size unlimited
6 rows selected.
SQL> col value for a60
select name,value from v$parameter where name like '%pfile%';
NAME VALUE
------------------------- ------------------------------------------------------------
spfile /data/app/oracle/product/12.2.0.1/db_1/dbs/spfileorcl.ora
SQL> col name for a50
select name from v$controlfile;
NAME
--------------------------------------------------
/data/oradata/orcl/control01.ctl
/data/oradata/orcl/control02.ctl
SQL> col member for a50
select member from v$logfile;
MEMBER
--------------------------------------------------
/data/oradata/orcl/redo03.log
/data/oradata/orcl/redo02.log
/data/oradata/orcl/redo01.log
SQL> select name from v$datafile;
NAME
--------------------------------------------------
/data/oradata/orcl/system01.dbf
/data/oradata/orcl/slucex_01.dbf
/data/oradata/orcl/sysaux01.dbf
/data/oradata/orcl/undotbs01.dbf
/data/oradata/orcl/qa_01.dbf
/data/oradata/orcl/users01.dbf
/data/oradata/orcl/ucex_service_01.dbf
/data/oradata/orcl/activity_01.dbf
8 rows selected.
SQL> select name from v$tempfile;
NAME
--------------------------------------------------
/data/oradata/orcl/temp01.dbf
SQL> col PARAMETER for a30
col VALUE FOR A30
select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
PARAMETER VALUE
------------------------------ ------------------------------
NLS_CHARACTERSET AL32UTF8
$ echo $ORACLE_BASE
/data/app/oracle
$ echo $ORACLE_HOME
/data/app/oracle/product/12.2.0.1/db_1
2.准备工作
实施前需要准备事情:灾备端安装好数据库软件,为避免不必要的麻烦,软件目录和数据文件目录结构与主库的一致。如果两端的数据文件结构不一致,则需要重启数据库。
修改主备库/etc/hosts文件。
3.确定主库处于归档模式
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination +DATA
Oldest online log sequence 2314
Next log sequence to archive 2315
Current log sequence 2315
如果处于非归档模式需要修改为归档模式。
4.修改主库为强日志模式
SQL> select force_logging from v$database;
FOR
---
NO
经检查不是强日志模式,先修改为强日志模式,命令如下:
SQL> alter database force logging;
5.备库创建相同的目录结构
步骤省略,参考前面输出内容创建
6.主库修改参数
SQL>
alter system set standby_file_management=auto scope=both sid='*';
alter system set fal_server=orcl scope=both sid='*';
alter system set log_archive_config='dg_config=(orcl,standby)' scope=both sid='*';
alter system set log_archive_dest_1='location=/data/arch valid_for=(all_logfiles,all_roles) db_unique_name=orcl' sid='*';
7.配置tnsnames.ora
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.190.60)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
STANDBY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.190.61)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = standby)
)
)
8.传送参数文件和密码文件至备库
9.主库使用RMAN备份
RMAN> run{
allocate channel ch1 type disk;
allocate channel ch2 type disk;
backup database format '/data/backup/dbf_%d_%T_%s_%p';
sql 'alter system archive log current';
backup archivelog all format '/data/backup/arc_%d_%T_%s_%p' delete input;
backup current controlfile for standby format '/data/backup/control01.ctl';
}
传送备份文件至备库。
10.启动备库至nomount状态
SQL> startup nomount;
修改DB_UNIQUE_NAME
SQL> ALTER SYSTEM SET DB_UNIQUE_NAME=standby scope=spfile;
注意:主备库两边的db_name必须一致,db_unique_name必须不一致。
备库修改参数
alter system set db_file_name_convert='/data/oradata/orcl','/data/oradata/orcl' scope=spfile ;
alter system set log_file_name_convert='/data/oradata/orcl','/data/oradata/orcl' scope=spfile ;
重新启动,使参数生效:
SQL> shutdown immediate;
SQL> startup nomount;
11.恢复控制文件
RMAN> restore standby controlfile from '/data/backup/control01.ctl';
12.启动备库至mount状态
RMAN> alter database mount;
13.恢复备库
RMAN> restore database;
RMAN> recover database;
14.添加standby logfiles(在主库和备库都执行)
检查当前环境logfile
SQL> set lines 200 pages 300
col member for a60
select a.thread#,a.group#,b.member,b.type,a.bytes/1024/1024 MB from v$log a,v$logfile b where a.group#=b.group#
union all
select a.thread#,a.group#,b.member,b.type,a.bytes/1024/1024 MB from v$standby_log a,v$logfile b where a.group#=b.group#;
THREAD# GROUP# MEMBER TYPE MB
---------- ---------- ------------------------------------------------------------ ------- ----------
1 1 /data/oradata/orcl/redo01.log ONLINE 200
1 3 /data/oradata/orcl/redo03.log ONLINE 200
1 2 /data/oradata/orcl/redo02.log ONLINE 200
SQL> alter database add standby logfile
group 14 '/data/oradata/orcl/redo14.log' size 200M,
group 15 '/data/oradata/orcl/redo15.log' size 200M,
group 16 '/data/oradata/orcl/redo16.log' size 200M,
group 17 '/data/oradata/orcl/redo17.log' size 200M;
15.在主库恢复打开
SQL> alter system set log_archive_dest_2='service=standby lgwr async COMPRESSION=ENABLE valid_for=(online_logfiles,primary_role) db_unique_name=standby' scope=both;
注意:检查 log_archive_dest_state_1 和 log_archive_dest_state_2 参数是否设置为enable ,如果没有设置为enable ,切换的时候可能会出问题.
16.在备库打开
备库修改参数
local_listener 参数修改为备库的host
alter system set log_archive_dest_1='location=/data/arch valid_for=(all_logfiles,all_roles) db_unique_name=standby' scope=both;
alter system set local_listener='(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.190.61)(PORT=1521))' scope=both;
SQL> alter database open read only;
SQL> recover managed standby database using current logfile disconnect;
17.检查是否搭建成功
在主库上切归档
SQL> alter system archive log current;
SQL> alter system archive log current;
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /data/arch
Oldest online log sequence 142
Next log sequence to archive 143
Current log sequence 144
备库查询能应用
$ orac -dgarc
Session altered.
SEQUENCE# FIRST_TIME NEXT_TIME APPLIED ARCHIVED
--------- -------------------- -------------------- ---------- --------
135 2018-07-18 00:00:09 2018-07-18 03:40:02 YES YES
136 2018-07-18 03:40:02 2018-07-18 03:40:03 YES YES
137 2018-07-18 03:40:03 2018-07-18 10:12:50 YES YES
138 2018-07-18 10:12:50 2018-07-18 14:31:00 YES YES
139 2018-07-18 14:31:00 2018-07-18 16:00:59 YES YES
140 2018-07-18 16:00:59 2018-07-18 16:02:42 YES YES
141 2018-07-18 16:02:42 2018-07-18 16:03:27 YES YES
142 2018-07-18 16:03:27 2018-07-18 16:03:31 YES YES
143 2018-07-18 16:03:31 2018-07-18 16:08:01 YES YES
144 2018-07-18 16:08:01 2018-07-18 16:10:03 IN-MEMORY YES
检查备库alert日志,没有报错,说明就搭建成功了
$ orac -log db 20
2018-07-18T16:03:31.294903+08:00
Recovery of Online Redo Log: Thread 1 Group 15 Seq 143 Reading mem 0
Mem# 0: /data/oradata/orcl/redo15.log
2018-07-18T16:08:01.891964+08:00
RFS[1]: Selected log 14 for T-1.S-144 dbid 1507958524 branch 980177790
2018-07-18T16:08:01.892027+08:00
Archived Log entry 49 added for T-1.S-143 ID 0x59e1d0fc LAD:1
2018-07-18T16:08:01.974669+08:00
Media Recovery Waiting for thread 1 sequence 144 (in transit)
2018-07-18T16:08:01.974916+08:00
Recovery of Online Redo Log: Thread 1 Group 14 Seq 144 Reading mem 0
Mem# 0: /data/oradata/orcl/redo14.log
2018-07-18T16:10:04.097893+08:00
RFS[1]: Selected log 15 for T-1.S-145 dbid 1507958524 branch 980177790
2018-07-18T16:10:04.097907+08:00
Archived Log entry 50 added for T-1.S-144 ID 0x59e1d0fc LAD:1
2018-07-18T16:10:04.180686+08:00
Media Recovery Waiting for thread 1 sequence 145 (in transit)
2018-07-18T16:10:04.180958+08:00
Recovery of Online Redo Log: Thread 1 Group 15 Seq 145 Reading mem 0
Mem# 0: /data/oradata/orcl/redo15.log
- Oracle 12C R2 on Linux 7.X 单实例静默安装文档
禁用防火墙systemctl stop firewalld.servicesystemctl disable firewalld.service 禁用SELinuxcat /etc/selinux/c ...
- Install Oracle 12c R2 on CentOS 7 silent
准备工作 VMware 虚拟机 CentOS 7 17.08 系统安装包镜像 Oracle 12c R2 软件安装包 配置 yum 库并安装如下包 binutils-2.23.52.0.1-12.el ...
- Install Oracle 12c R2 on CentOS 7 silently
准备工作 VMware 虚拟机 CentOS 7 17.08 系统安装包镜像 Oracle 12c R2 软件安装包 配置 yum 库并安装如下包 binutils-2.23.52.0.1-12.el ...
- Oracle12c Data Guard搭建手册
Oracle12c Data Guard搭建手册 注:本文来源: 红黑联盟 < Oracle12c Data Guard搭建手册 > Oracle 12c 的DataGuard 是在CDB ...
- Oracle 11g 单实例到单实例OGG同步实施文档-OGG initial load
Oracle 11g 单实例到单实例OGG同步实施文档-OGG initial load 2018-06-07 00:514730原创GoldenGate 作者: leo 本文链接:https://w ...
- Oracle 11g 单实例到单实例OGG同步实施文档-RMAN 初始化
Oracle 11g 单实例到单实例OGG同步实施文档-RMAN 初始化 2018-06-07 13:455170原创GoldenGate 作者: leo 本文链接:https://www.cndba ...
- Oracle 11g 单实例到单实例OGG同步实施文档-EXPDP初始化
Oracle 11g 单实例到单实例OGG同步实施文档-EXPDP初始化 2018-06-07 00:446470原创GoldenGate 作者: leo 本文链接:https://www.cndba ...
- Oracle11g Active Data Guard搭建、管理
说明:參考网络众多人的笔记及思路,加上自己亲身实践之后的整理笔记.仅供參考. Data Guard与RAC不同的是.在普通情况下.Standby仅仅有一个节点处于活动状态,全部的应用都连接到主serv ...
- OCM_第二十天课程:Section9 —》Data Guard _ DATA GUARD 搭建/DATA GUARD 管理
注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...
随机推荐
- 网络地图WebMap介绍
WebMap是从ArcGIS Online或者ArcGIS for Portal item上获取显示到用户的界面中. 需要的是地图的ID. 创建一个新的网络地图需要设置ID号,然后再用地图底图MapV ...
- IT人都欠自已一个Lable Page
平时, 你是不是喜欢将一些工作或者技术的网站都会Mark一下.慢慢,自已收藏的标签越来越多.收藏后去查找的比较麻烦,而且不是很方便. 下面的文章是介绍我自已是怎么实现一个简单的Lable Page. ...
- 手把手教你用vue-cli构建一个简单的路由应用
上一章说道:十分钟上手-搭建vue开发环境(新手教程)https://www.jianshu.com/p/0c6678671635 开发环境搭建好之后,那么开始新添加一些页面,构建最基本的vue项目, ...
- Android中关于Volley的使用(十)对Request和Reponse的认识
我们知道,在网络Http通信中.一定会有一个Request.相同的,也一定会有一个Response.而我们在Volley中利用RequestQueue来加入请求之前,一定会先创建一个Request对象 ...
- 6.Maven之(六)setting.xml配置文件详解
转自:https://blog.csdn.net/u012152619/article/details/51485152
- jq---方法总结
1. 什么是jQuery 在使用jQuery之前,我们必须先了解什么是jQuery,它能够干什么(不然我们为啥要用它). jQuery是一个非常流行的快速.小巧.功能强大的开源JavaScript库. ...
- 120.VS调试技巧
设置断点调试 在一行代码的左侧点击即可设置断点,按F5(调试->开始调试)即可运行到第一个端点处暂停 逐语句调试 按F11(调试->逐语句)即可开始一步一步执行 逐过程调试 按F10(调试 ...
- POJ 3170 线段树优化DP
题意: 思路: 先搞一个vector 存以T2结尾的结构体 (结构体里面有开始工作的时间和花费) f[i]表示取区间[M,i)的代价 易得f[i]=min(f[k]+w,f[i]);T1<=k ...
- POJ 2430 状压DP
题意: 思路: 先预处理出所有格子的statement statement=1–>只有上边的格子被覆盖 statement=2–>只有下边的格子被覆盖 statement=3–>上下 ...
- Vagrant 和 docker
Docker应用实践 http://dockerone.com/article/146 Vagrant 适合用来管理虚拟机,而docker适合用来管理应用环境 http://www.linuxidc. ...