Oracle ADG 数据库部署、切换、运维手册
Oracle ADG 数据库部署、切换、
备份、运维手册
Oracle ADG 数据库部署、切换、运维手册
目录
一、 数据库环境概述............................................................................................. 4
1.1 部署环境及架构............................................................................................ 4
1.2 数据库信息.................................................................................................... 4
二、 数据库的访问................................................................................................. 5
2.1 通过 Linux 系统访问数据库..........................................................................5
2.2 通过工具访问数据库(此处以 plsqldev 为例).........................................5
三、 数据库的启动和关闭..................................................................................... 6
3.1 启动................................................................................................................ 7
3.2 关闭................................................................................................................ 7
四、 主备库角色切换............................................................................................. 7
4.1 通过 DG Broker 进行切换..............................................................................7
4.2 通过 SQL 命令行进行切换............................................................................9
4.2.1 PRIMARY 数据库操作.......................................................................... 9
4.2.2 STANDBY 数据库操作........................................................................ 10
五、 检查数据库基本情况................................................................................... 11
5.1 检查 Oracle ADG 实例状态......................................................................... 11
5.2 检查 Oracle 服务进程..................................................................................12
5.3 检查 Oracle 监听状态..................................................................................12
六、 检查 Oracle 对象状态...................................................................................13
6.1 检查 Oracle 控制文件状态..........................................................................13
6.2 检查 Oracle 联机重做日志文件状态..........................................................13
6.3 检查 Oracle 表空间的状态..........................................................................14
6.4 检查 Oracle 数据文件的状态......................................................................14
6.5 检查无效文件.............................................................................................. 15
6.6 检查所有回滚段状态.................................................................................. 16
七、 检查 Oracle 相关资源的使用情况...............................................................17
7.1 检查 Oracle 初始化文件中相关的参数值...................................................17
7.2 检查数据库连接情况.................................................................................. 18
Oracle ADG 数据库部署、切换、运维手册
7.3 检查 Oracle 各个表空间使用情况..............................................................18
7.4 检查一些扩展异常的对象.......................................................................... 19
八、 检查 Oracle 备份情况...................................................................................20
8.1 数据库的备份策略及备份路径.................................................................. 20
8.2 查看数据库备份日志文件.......................................................................... 21
九、 Oracle 数据库环境事故应急处理................................................................22
9.1 表空间扩容.................................................................................................. 22
9.2 数据库死锁处理.......................................................................................... 23
9.3 通过闪回表恢复误操作数据...................................................................... 24
Oracle ADG 数据库部署、切换、运维手册
一、 数据库环境概述
1.1 部署环境及架构
部署平台:阿里云 ECS 服务器*2
操作系统:CentOS 6.8 (64 位)
CPU:8 核
内存:32G
数据库版本:Oracle 11.2.0.4
数据库架构:Oracle Active Dataguard + DG Broker + HAVIP
1.2 数据库信息
在阿里云 ECS 服务器上搭建一套 Oracle ADG。数据库的详细信息参见下表:
Mmbsso 库
要素
主库
备库
备注
hostname
oracledb1
oracledb2
IP
192.168.181.16
192.168.181.17
db_name
sid
mmbsso
mmbsso
mmbsso
mmbsso
db_unique_name
mmbsso_pri
mmbsso_std
service_name
mmbsso
mmbsso
网络服务名
mmbsso
mmbsso_std
golbal_dbname
mmbsso_pri_dgmgrl
mmbsso_std_dgmgrl
安装时默认会是
db_unique_name,后期
根据业务需求做更改
tnsnames.ora 文件中使
用
listener.ora 文件使
用,注册静态监听,用
于 duplicate 创建备库
和 DGbroker
Oracle ADG 数据库部署、切换、运维手册
golbal_dbname
cableexc_pri_dgmgrl
cableexc_std_dgmgrl
listener.ora 文件使
用,注册静态监听,用于
duplicate 创建备库和
DGbroker
二、 数据库的访问
我们在搭建数据库时使用了 HAVIP(192.168.181.15),即高可用虚拟 IP,该
IP 总是在主数据库上,所以我们在业务中,或在日常访问数据库时,都使用 HAVIP
进行连接。
2.1 通过 Linux 系统访问数据库
a) 使用 Xshell 登录阿里云上的跳板机
Xshell:\> ssh xx.xx.xx.xx
b) 在跳板机上使用 oracle 用户登录数据库所在服务器
主数据库:
# ssh oracle@192.168.181.15
或者
# ssh oracle@192.168.181.16
备数据库:
# ssh oracle@192.168.181.17
c) 在@后面指定需要访问数据库的网络服务名(具体可查看 1.2 数据库信
息)
# sqlplus username/password@xxx
2.2 通过工具访问数据库(此处以 plsqldev 为例)
a) 首先,在本地电脑上安装 Oracle 客户端,注意目录不要存在中文。以 D
Oracle ADG 数据库部署、切换、运维手册
盘为例,安装后的路径即为“D:\oracleclient”
b) 配置系统环境变量。右键点击“计算机”,选中“属性”,在弹出页面选
中“高级系统设置”
c) 在弹出的系统属性窗口点击环境变量,新增 3 个环境变量:
变量名:ORACLE_HOME
变量值:D:\oracleclient
变量名:TNS_ADMIN
变量值:D:\oracleclient\NETWORK\ADMIN
变量名:NLS_LANG
变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
d) 修改 Path 变量,在变量值的最后面添加 ; D:\oracleclient
e) 打开 tnsnames.ora 文件 ,使用记事本打开。路径:oracle 安装路径
\network\admin 。 这 里 是 : D:\oracleclient\NETWORK\ADMIN 。 在
tnsnames.ora 文件添加需要访问的数据库别名配置。
f) 修改完成后,打开 plsqldev 工具。此时,在登录窗口即可选择所需要登
录的数据库。输入相应的用户名、密码即可登录。
三、 数据库的启动和关闭
我们通过 linux 登录至数据库,进行启动和关闭操作。由于我们部署的是
Oracle ADG,所以在对数据库进行启动和关闭时,是需要注意顺序的。
下面“SQL>”后面跟的命令,都是默认已经通过 linux 访问数据库以后进行
的。
Oracle ADG 数据库部署、切换、运维手册
3.1 启动
先启动备库,再启动主库。启动命令如下:
SQL> STARTUP;
3.2 关闭
先关闭主库,再关闭备库。关闭命令如下:
SQL> SHUTDOWN IMMEDIATE;
四、 主备库角色切换
4.1 通过 DG Broker 进行切换
我们部署了 DG Broker 对 ORACLE ADG 进行管理,可以实现一键对主备库角
色进行切换。下面为实际切换操作过程:
a) 通过 2.1 的 b 步骤登录主备库任一服务器(因为主备库服务器都可访问
DG Broker)
b) 登录 DG Broker
# dgmgrl sys/xxxx@mmbsso
或者
# dgmgrl
DGMGRL> connect sys/xxxx@mmbsso
c) 查看 DG Broker 中配置信息
DGMGRL> show configuration verbose;
Oracle ADG 数据库部署、切换、运维手册
红色方框中的内容就是当前 Oracle ADG 的主备两节点的角色信息 。
“Primary database”对应的就是主库,“Physical standby database”对应的就
是备库。
d) 主备数据库角色切换(将主库切换至 mmbsso_std)
DGMGRL> switchover to mmbsso_std;