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 ...
随机推荐
- SQL 查找存在某内容的存储过程
--查找存在某表名的存储过程 SELECT distinct b.name from syscomments a,sysobjects b WHERE a.id=b.id and a.TEXT LIK ...
- Microsoft office2016(专业增强版) 安装错误,报CRT(KB2999226)
对着这个错误的出现,网上有解释,这里不多说(实际是我没有找到比较靠谱的说法..),跟Window Update这个服务有关. 首先打开”Windows人为管理器”->"服务" ...
- Django transaction 误用之后遇到的一个问题与解决方法
今天在调试项目开发好的一个模块的时候,发现了一个很诡异的现象,最后追踪发现是因为在项目中事务处理有误所致.这个问题坑了我好一会,所以记录一下,以免再踩坑.下面开始详述. 我们都知道 Django 框架 ...
- python 爬虫使用
python爬虫架构 Python 爬虫架构主要由五个部分组成,分别是 调度器.URL管理器.网页下载器.网页解析器.应用程序. 调度器:相当于一台电脑的CPU,主要负责调度URL管理器.下载器.解析 ...
- python编程:从入门到实践--项目1-外星人入侵_学习笔记_源码
这里有九个.py文件,在工作的间隙,和老板斗智斗勇,终于完成了,实现了游戏的功能,恰逢博客园开通,虽然是对着书上的代码敲了一遍,但是对pygam这个库的了解增加了一些,作为一个python初学者,也作 ...
- MySQL事务(event scheduler)的学习【事务创建之后,没有运行的问题】
[本篇文章主要解决的是,MySQL事务创建之后,没有运行的问题] 首先从这里开始:http://www.w3schools.in/mysql/event-schedule/,创建了基本的MySQL事务 ...
- AngularJS实现cookie跨域
前后端分离被越来越多的公司重视利用.然后带来的最棘手的问题就是.用户信息应怎样保存. 一.场景描写叙述 以Java为后台,AngluarJS做前端为例进行描写叙述:当用户在界面登录时.需把用户信息(如 ...
- ESP8266学习笔记4:ESP8266的SmartConfig
今天花了将近一天的时间来研究ESP8266的SmartConfig功能,这个应该算是wifi云产品的标配.这篇文章先把SmartConfig操作一遍,我还写了还有一篇文章梳理了物理层的详细协议,点击这 ...
- socket编程之中的一个:计算机网络基础
在開始学习网络之前先复习下计算机网络基础吧. 鲁迅说,天下文章一大抄.看你会炒不会炒,基础知识就抄抄书吧. 一 分层模型 1 为什么分层 为了简化网络设计的复杂性.通讯协议採用分层结构.各层协议之间既 ...
- 小贝_redis高级应用-安全性
redis高级应用-安全性 一.为什么redis须要安全性 二.设置redis验证password 三.验证 一.为什么redis须要安全性 1.redis作为数据的存储介质.假设无法保证redi ...