Linux环境上部署Oracle11gR2并搭建ADG,成功实践

一.搭建环境

虚拟机系统: CentOS6.10(final)(64位)

数据库版本: Oracle 11gR2 11.2.0.4 (64位)

IP地址规划:

192.168.88.111 192.168.88.112
SID:fsda SID:fsdb
db_name:pri db_name:pri
db_unique_name:fsda db_unique_name:fsdb

在数据安装完后,可用下面的命令检查配置是否正确

select dbid,name,open_mode,db_unique_name from v$database;
select instance_name from v$instance;

基础要求:(1)安装两台虚拟机分别作为主库和备库,硬盘大小随意。但是必需保证根分区有20G,物理内存1G,SWAP 2G

关于Active database duplication方式:
在Oracle 10g下,我们可以使用RMAN duplicate 命令创建一个具有不同DBID 的复制库。 到了Oracle 11gR2, RMAN 的duplicate 有2种方法实现:

  1. Active database duplication (本文所使用的方式,适用于11gR2之后的版本)

  2. Backup-based duplication (传统方式,10g,11g通用)

Active database duplication 通过网络,直接copy target库(目标库)到auxiliary库(辅助库),然后创建复制库。这种方法就不需要先用RMAN 备份数据库,然后将备份文件发送到auxiliary端。
这个功能的作用是非常大的。 尤其是对T级别的库。 因为对这样的库进行备份,然后将备份集发送到备库,在进行duplicate 的代价是非常大的。 一备份要占用时间,二要占用备份空间,三在网络传送的时候,还需要占用带宽和时间。所以Active database duplicate 很好的解决了以上的问题。 它对大库的迁移非常有用。
如果是从RAC duplicate 到单实例,操作是一样的。如果是从单实例duplicate到RAC。 那么先duplicate到单实例。 然后将单实例转换成RAC。

二:安装数据库软件前的系统配置(主库和备库端都要做下列操作)

1.基本配置:
一定要用新装的系统(这里以CentOS版6.10(final)为例),系统要求最低配置内存1G,swap分区2G,根分区20G以上,装好系统后先配置好yum,IP地址,/etc/sysconfig/network文件中的主机名,以及/etc/hosts文件中的IP地址和主机名的对应关系。

主库IP:192.168.88.111  
主库主机名:pri
备库IP:192.168.88.112
备库主机名:sla

2.安装依赖包

binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
pdksh-5.2.14-21.x86_64.rpm
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)
unixODBC-2.2.14-11.el6 (x86_64) or later
unixODBC-2.2.14-11.el6.i686 or later
unixODBC-devel-2.2.14-11.el6 (x86_64) or later
unixODBC-devel-2.2.14-11.el6.i686 or later

3.创建相关的组与用户

groupadd oinstall
groupadd -g 502 dba
groupadd -g 503 oper
useradd -u 502 -g oinstall -G dba,oper oracle
passwd oracle

4.创建所需的目录并赋予特定的属主和属组

mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app

5.编辑limits.conf 文件

vim /etc/security/limits.conf
在行末添加如下参数
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
oracle              soft    stack   10240 

6.编辑sysctl.conf文件,设置相关参数
添加/修改下列内容:(注意!下面的参数,若是已经存在,则直接修改数值,不要再添加同样的参数,相同的参数只能有一个!如果需要修改的参数已经大于下面的数字,则不用修改,请仔细核对!)

vim /etc/sysctl.conf
在行末添加如下参数

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

#sysctl –p 使其生效
# /sbin/sysctl -p
保存退出后,别忘了用sysctl -p命令使参数生效!

7.编辑vim /home/oracle/.bash_profile文件,配置相关环境变量,添加下列几行:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2/db
export ORACLE_SID=fsda (备库端设置为fsdb)
export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=$ORACLE_HOME/bin:$PATH

关闭iptables和selinux

service iptables stop
chkconfig iptables off
[root@pri ~]#vi /etc/selinux/config

将SELINUX的值改为disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

三:开始安装oracle11g数据库软件 (主库和备库端都要做下列操作)

1.上传oracle11g的镜像到/tmp目录下,并把3个包解压

cd /mnt/cdrom/
unzip p13390677_112040_Linux-x86-64_1of7.zip -d /usr/local/src
unzip p13390677_112040_Linux-x86-64_2of7.zip -d /usr/local/src
unzip p13390677_112040_Linux-x86-64_3of7.zip -d /usr/local/src

(只装数据库的话,解压前两个包即可,第三个包是grid)
2. root身份执行xhost +,然后切换到oracle用户进入/tmp/database目录中,执行runInstaller 开始安装 (database是默认解压完的目录名)

$ ./runInstaller

注意:安装oracle11g要求分辨率最低为1024x768,不然无法完整显示安装过程
安装过程:参考一下我的教程即可
注意:主库在安装完软件后需要进行DBCA建库操作,推荐不要启用归档模式,会节省时间,备库端不要建库!可以开启监听程序

四:开始搭建Dataguard

1:将数据库改为强制日志模式(此步骤只在主库上做)

[oracle@pri ~]$sqlplus /as sysdba
查看当前是否强制日志模式:

sys@pri> select name,log_mode,force_logging from v$database;   
NAME LOG_MODE FOR

---------         ------------ ---

PRI         NOARCHIVELOG NO

sys@pri> alter database force logging;

Database altered.

 
sys@pri> select name,log_mode,force_logging from v$database;

NAME LOG_MODE FOR

--------- 
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
部署ADG基础环境需要以下步骤: 1. 安装Oracle 11g数据库软件 2. 创建主库和备库的数据库实例 3. 配置主库和备库之间的网络连接 4. 在主库上启用归档模式和日志传输服务 5. 在备库上启用数据保护模式和重做日志应用服务 6. 创建主库和备库之间的数据同步连接 7. 启动主库和备库的数据库实例和数据同步服务 具体步骤如下: 1. 安装Oracle 11g数据库软件 按照Oracle官方文档的指示安装Oracle 11g数据库软件,并在安装过程中创建主库和备库的数据库实例。 2. 创建主库和备库的数据库实例 在安装完成后,使用Oracle提供的工具创建主库和备库的数据库实例。可以使用Oracle企业管理器或命令行工具来创建数据库实例。 3. 配置主库和备库之间的网络连接 确保主库和备库之间可以互相通信,可以使用ping命令测试网络连接是否正常。 4. 在主库上启用归档模式和日志传输服务 在主库上启用归档模式,这样可以将主库的重做日志传输到备库。同时启用日志传输服务,确保重做日志能够被传输到备库。 5. 在备库上启用数据保护模式和重做日志应用服务 在备库上启用数据保护模式,这样可以保证备库是只读的,并防止数据被修改。同时启用重做日志应用服务,确保备库可以应用从主库传输过来的重做日志。 6. 创建主库和备库之间的数据同步连接 在主库上创建数据同步连接,将数据同步到备库。可以使用Oracle企业管理器或命令行工具来创建数据同步连接。 7. 启动主库和备库的数据库实例和数据同步服务 启动主库和备库的数据库实例和数据同步服务,确保数据同步正常运行。可以使用Oracle企业管理器或命令行工具来启动数据库实例和数据同步服务。 以上就是部署ADG基础环境的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A Master

您的鼓励是对我最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值