安装配置DG环境及DG相关运维命令

前提:选用《Oracle配置Dataguard》文档中的章节5,配置oracle11g的物理Active Dataguard!

################################################################
首先确定原生产库是否安装Dataguard组件:
SQL> select * from v$option where parameter='Oracle Data Guard';

PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
Oracle Data Guard
TRUE
################################################################

一、安装前准备工作
1、修改primary和standby主机名,内容如下:
# vi /etc/hosts   //并添加内网IP地址对应的hostname,如下
127.0.0.1           localhost
::1                   localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.151 dg-primary
192.168.8.152 dg-standby

2、primary和standby服务器均安装ssh服务:
# yum install -y openssh-clients

3、修改standby数据库的/etc/sysconfig/iptables文件,开通1521端口:
# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
# service iptables restart

二、standby服务器上安装oracle环境,只安装软件,不安装数据库:
1、安装yum:
# ln -sf /media/RHEL_6.4\ x86_64\ Disc\ 1/ rhel

# vi /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///root/rhel/
enabled=1
gpgcheck=0
gpgkey=file:///root/rhel/

2、安装oracle必须的包:(将pdksh-5.2.14-36.el5.x86_64.rpm包上传至/root/目录下)
# yum -y install gcc-c++*
# yum -y install libaio-devel*
# yum -y install elfutils-libelf-devel*

# cd /root/rhel/Packages
# rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm

# cd 
# rpm -ivh pdksh*

3、修改内核参数
# vi /etc/sysctl.conf 在文件最后增加:
推荐值:
fs.aio-max-nr = 1048576
fs.file-max = 6553600
kernel.shmall = 8388608
kernel.shmmax = 9663676416
kernel.shmmni = 4096
kernel.sem = 2010 285420 100 142
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

(参考值:
fs.aio-max-nr = 1048576
fs.file-max = 6553600
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
)


参数详解如下:
fs.aio-max-nr = 1048576         //同时可以拥有的的异步IO请求数目。1048576 即 1024*1024 也就是 1024K 个。
fs.file-max = 6553600           //系统允许打开的文件数。
kernel.shmall = 2097152         //设置共享内存总页数。这个值太小有可能导致数据库启动报错。
                                  计算公式为:内存(G)*1024*1024*1024/4096,4096为getconf PAGE_SIZE得到分页大小。
kernel.shmmax = 2147483648      //Linux进程可以分配的单独共享内存段的最大值。一般设置为内存总大小的一半。
                                  这个值的设置应该大于SGA_MAX_TARGET或MEMORY_MAX_TARGET的值,
                                  因此对于安装Oracle数据库的系统,shmmax的值应该比内存的二分之一大一些。

kernel.shmmni = 4096            //设置系统级最大共享内存段数量。推荐最小值为4096。
kernel.sem = 250 32000 100 128  //从左到右分别为SEMMSL、SEMMNS、SEMOPM和SEMMNI。
                                  1)SEMMSL:设置每个信号灯组中信号灯最大数量,推荐的最小值是250。
                                             对于系统中存在大量并发连接的系统,推荐将这个值设置为PROCESSES初始化参数加10。
                                            
                                  2)SEMMNS:设置系统中信号灯的最大数量。操作系统在分配信号灯时不会超过LEAST(SEMMNS,SEMMSL*SEMMNI)。
                                             事实上,如果SEMMNS的值超过了SEMMSL*SEMMNI是非法的,因此推荐SEMMNS的值就设置为SEMMSL*SEMMNI。
                                             Oracle推荐SEMMNS的设置不小于32000,假如数据库的PROCESSES参数设置为600,则SEMMNS的设置应为:

                                             SQL> select (600+10)*142 from dual;

                                                 (600+10)*142
                                                 ------------
                                                  86620

                                  3)SEMOPM:设置每次系统调用可以同时执行的最大信号灯操作的数量。
                                             由于一个信号灯组最多拥有SEMMSL个信号灯,因此有推荐将SEMOPM设置为SEMMSL的值。
                                             Oracle验证的10.2和11.1的SEMOPM的配置为100。

                                  4)SEMMNI:设置系统中信号灯组的最大数量。Oracle10g和11g的推荐值为142。

net.ipv4.ip_local_port_range = 1024 65000    //ip_local_port_range表示端口的范围,为指定的内容 
net.core.rmem_default = 262144               //表示接收套接字缓冲区大小的缺省值(以字节为单位)。
net.core.rmem_max = 4194304                  //表示接收套接字缓冲区大小的最大值(以字节为单位)。
net.core.wmem_default = 262144               //表示发送套接字缓冲区大小的缺省值(以字节为单位)。
net.core.wmem_max = 1048586                  //表示发送套接字缓冲区大小的最大值(以字节为单位。

最后输入下面的命令,让内核参数生效:
# /sbin/sysctl -p

sysctl -p 报错解决方法如下:
modprobe bridge
lsmod | grep bridge
sysctl -p


4、修改用户的限制文件
# vi /etc/security/limits.conf 在文件后增加
oracle           soft    nproc           2047
oracle           hard    nproc           16384
oracle           soft    nofile          1024
oracle           hard    nofile          65536
oracle           soft    stack           10240


# vi /etc/pam.d/login 文件,(64位系统时,千万别写成/lib/security/pam_limits.so,否则导致无法登录)增加如下:
session  required  /lib64/security/pam_limits.so
session  required  pam_limits.so


# vi /etc/profile (在unset -f pathmunge下一行)增加如下内容:
if [ $USER = "oracle" ]; then
 if [ $SHELL = "/bin/ksh" ]; then
  ulimit -p 16384
  ulimit -n 65536
 else
  ulimit -u 16384 -n 65536
 fi
fi


5、建立用户组及用户
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba -d /home/oracle oracle
# passwd oracle          //设置oracle密码


6、创建目录及修改权限:
# mkdir -p /home/oracle/app
# mkdir -p /home/oracle/app/oracle
# mkdir -p /home/oracle/app/oracle/product
# mkdir -p /home/oracle/app/oracle/product/11.2.0            //数据库系统安装目录
# mkdir -p /home/oracle/app/oracle/product/11.2.0/dbhome_1
# mkdir -p /home/oracle/backup                         //数据备份目录
# mkdir -p /home/oracle/oraInventory                    //清单目录

# chown -R oracle:oinstall /home/oracle/app
# chown -R oracle:oinstall /home/oracle/backup
# chown -R oracle:oinstall /home/oracle/oraInventory

# chmod -R 775 /home/oracle/app

7、设置并刷新环境变量:
# su - oracle
$ vi /home/oracle/.bash_profile
umask 022
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=xtwl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

$ source ~/.bash_profile

8、解压安装包:
# yum install -y unzip
# su - oracle
$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip

$ cp -R /home/oracle/database/response /home/oracle         //复制一份模板
$ cd /home/oracle/response
$ vi db_install.rsp                                      //修改安装应答文件

9、修改db_install.rsp文件如下:
ORACLE_HOSTNAME=dg-standby    //通过hostname命令获取
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/home/oracle/app
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=xtwl
oracle.install.db.config.starterdb.SID=xtwl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=5120
oracle.install.db.config.starterdb.password.ALL=dbadmin1122  //注意修改
oracle.install.db.config.starterdb.control=DB_CONTROL
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true   //一定要是true

10、安装ora

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值