1 前言
此文档详细描述了Oracle 11gR2 数据库在AIX6.1上的安装RAC的检查及安装步骤。文档中#表示root用户执行,$表示grid或oracle用户执行。
2 系统环境
操作系统环境
说明项 |
节点1 |
节点2 |
硬件型号 |
750 |
750 |
操作系统 |
AIX(6100-07-04-1216) |
AIX(6100-07-04-1216) |
集群件 |
oracle grid |
oracle grid |
服务器主机名 |
hydzsw1 |
hydzsw2 |
IP地址 |
10.94.6.160 |
10.94.6.161 |
语言环境 |
中文/英文 |
中文/英文 |
时区 |
中国 |
中国 |
根目录/ |
30G |
30G |
目录/tmp |
10G |
10G |
文件系统/oragrid |
20G |
20G |
文件系统/oracle |
20G |
20G |
系统用户 |
root |
root |
grid |
grid |
|
oracle |
oracle |
|
系统组 |
oinstall |
oinstall |
dba |
dba |
|
asmdba |
asmdba |
|
asmadmin |
asmadmin |
|
asmoper |
asmoper |
存储环境
说明项 |
节点1 |
点节2 |
存储型号 |
日立VSP |
|
多路径软件 |
7.4.0(注意不能使用7.3版本) |
|
磁盘划分 |
hdisk3 20G hdisk4--9 150G*6 hdisk13—14 150*2 hdisk15—16 150*2 |
数据库环境
说明项 |
节点1 |
点节2 |
服务器主机名 |
hydzsw1 |
hydzsw2 |
存储型号 |
日立VSP |
|
光纤交换机 |
思科MDS9506 |
|
public IP |
10.94.6.160 |
10.94.6.161 |
vip IP |
10.94.6.162 |
10.94.6.163 |
private IP |
192.168.1.177 |
192.168.1.178 |
scan IP |
10.94.6.164 |
|
ORACLE RAC SID |
hydzsw1 |
hydzsw2 |
集群实例名称 |
hydzsw |
|
OCR |
+CRSDG |
+CRSDG |
VOTE |
+CRSDG |
+CRSDG |
数据文件 |
+DATADG |
+DATADG |
归档文件 |
存储上划分/gd1 (hdisk13、hdisk14) |
存储上划分/gd2 (hdisk15、hdisk16) |
数据库版本 |
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production |
|
GRID BASE目录 |
/oragrid/grid |
|
GRID HOME目录 |
/oragrid/11.2.0/grid |
|
数据库BASE目录 |
/oracle/app/oracle |
|
数据库HOME目录 |
/oracle/app/oracle/product/11.2.0/db_1 |
|
数据库监听端口 |
1521 |
|
数据库字符集 |
ZHS16GBK |
|
数据库系统帐号与初始密码 |
sys / oracle system / oracle |
|
数据库实例建库方式 |
ASM |
|
数据库块大小 |
8192byte |
|
ASM磁盘组 |
+CRSDG (hdisk3) |
|
+DATADG (hdisk4--9) |
注:
hdisk10、11存放备份集使用(文件系统BACKUP)
hisk12暂未使用
3 操作系统检查
注意:在每个节点上都要进行以下操作系统检查。
1) 检查操作系统版本:
#oslevel -s
6100-07-04-1216
2) 检查是否已安装HACMP:
#lslpp –l | grep cluster
3) 检查异步IO:
#ioo -o aio_maxreqs
aio_maxreqs = 65536
若值不满足65536,则使用命令进行更改:
#chdev -l aio0 -a maxreqs= 65536
4) 检查包:
lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.libperfstat
bos.perf.perfstat bos.perf.proctools rsct.basic.rte
rsct.compat.clients.rte xlC.aix61.rte
5) 检查调整虚拟内存:
检查:
vmo -L minperm%
vmo -L maxperm%
vmo -L maxclient%
vmo -L lru_file_repage
vmo -L strict_maxclient
vmo -L strict_maxperm
修改:
vmo -p -o minperm%=3
vmo -p -o maxperm%=90
vmo -p -o maxclient%=90
vmo -p -o lru_file_repage=0
vmo -p -o strict_maxclient=1
vmo -p -o strict_maxperm=0
6) 查看网络参数:
查看所有的:
#/usr/sbin/no –a | more
分项查看:
#no -a | fgrep ipqmaxlen
#no -a | fgrep rfc1323
#no -a | fgrep sb_max
#no -a | fgrep tcp_recvspace
#no -a | fgrep tcp_sendspace
#no -a | fgrep udp_recvspace
#no -a | fgrep udp_sendspace
查看下面这些网络参数:
Network Preparation
=======================================
PARAMETER RECOMMENDED VALUE
ipqmaxlen 512
rfc1323 1
sb_max 1500000
tcp_recvspace 65536
tcp_sendspace 65536
udp_recvspace 1351680
udp_sendspace 135168
注意:
udp_recvspace:应该是udp_sendspace的10倍,但是必须小于sb_max
udp_sendspace:这个值至少应该是4K+(db_block_size*db_multiblock_read_count)的大小。
若有值不满足,进行修改:
no -r -o ipqmaxlen=512
no -p -o rfc1323=1
no -p -o sb_max=1620000 --4194304 --1500000
no -p -o tcp_recvspace=65536
no -p -o tcp_sendspace=65536
no -p -o udp_recvspace=1351680
no -p -o udp_sendspace=135168
7) 查看SWAP大小:
#lsps -a
Between 1GB and 2GB then 1.5 times RAM
Between 2GB and 16 GB then match RAM
More than 16 GB then 16GB RAM
8) 检查系统时区
#echo $TZ
BEIST-8
9) 修改内核参数:
# /usr/sbin/no -a | fgrep ephemeral
tcp_ephemeral_low = 32768
tcp_ephemeral_high = 65535
udp_ephemeral_low = 32768
udp_ephemeral_high = 65535
--增强
# /usr/sbin/no -p -o tcp_ephemeral_low=9000 -o tcp_ephemeral_high=65500
# /usr/sbin/no -p -o udp_ephemeral_low=9000 -o udp_ephemeral_high=65500
10) 调整NTP服务参数:(oracle11gRAC自带有CTSS时间同步,禁用NTP,若在安装GRID时提示NTP不可用,忽略即可。)
#ps -ef |grep ntps
#vi /etc/rc.tcpip
找到:start /usr/sbin/xntpd "$src_running"
调整成:start /usr/sbin/xntpd "$src_running" "-x"
保存后,重启所有了点的时钟服务:
#startsrc –s xntpd –a "-x"
11) 修改default用户下的fsize资源限制:
#vi /etc/security/limits
更改default各项资源限制为-1。
12) 修改用户允许的最大进程数:
#smit chgsys
更改 Maximum number of PROCESSES allowed per user 为16384
查看系统当前允许运行的最大进程数:
# lsattr -E -l sys0 -a maxuproc
若不满足16384,进行更改:
# chdev -l sys0 -a maxuproc=16384
13) 安装配置ssh,确保ssh、scp正常使用:
#lslpp –l | grep ssh
14) 重启机器生效:
#shutdown -Fr
4 安装准备
1) 在每个节点上进行网络配置:
#vi /etc/hosts
内容如下:
127.0.0.1 loopback localhost
# PUBLIC
10.94.6.160 hydzsw1
10.94.6.161 hydzsw2
# PRIVATE
192.168.1.177 hydzsw1priv
192.168.1.178 hydzsw2priv
#VIP
10.94.6.162 hydzsw1vip
10.94.6.163 hydzsw2vip
#SCAN IP
10.94.6.164scanip
2) 在每个节点上建立组和用户,注意保持各节点的组及用户ID均要一致:
创建组:
mkgroup -'A' id='1000' adms='root' oinstall
mkgroup -'A' id='1100' adms='root' asmadmin
mkgroup -'A' id='1200' adms='root' dba
mkgroup -'A' id='1300' adms='root' asmdba
mkgroup -'A' id='1301' adms='root' asmoper
创建用户:
mkuser id='1100' pgrp='oinstall' groups='asmadmin,asmdba,asmoper' home='/home/grid' fsize=-1 cpu=-1 data=-1 rss=-1 stack=-1 stack_hard=-1 capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid
mkuser id='1101' pgrp='oinstall' groups='dba,asmdba' home='/home/oracle' fsize=-1 cpu=-1 data=-1 rss=-1 stack=-1 stack_hard=-1 capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle
3) 在每个节点上设置用户密码:(密码暂定为oracle)
#passwd grid
#passwd oracle
个节点分别使用grid、oracle用户登录图形化界面,修改密码,再次登陆图形界面,生成.dtprofile文件后,编辑该文件,去掉最后一行的注释符。
#su – grid
$vi .dtprofile
DTSOURCEPROFILE=true
$. ./.dtprofile
#su – oracle
$vi .dtprofile
$. ./.dtprofile
4) 在每个节点上设置grid、oracle用户使用内存参数:
#su - root
# lsuser -a capabilities grid
若没有相应参数,使用下述命令进行增加:
#chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid
# lsuser -a capabilities oracle
capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE
5) 配置互信:
注意两节点之间的时间保持一致;在两个节点都要进行互信配置(使用grid和oracle用户)。
#su - grid
$cd /software/grid/sshsetup
$./sshUserSetup.sh -user grid -hosts "hydzsw1 hydzsw2" -advanced -noPromptPassphrase
$./sshUserSetup.sh -user oracle -hosts "hydzsw1 hydzsw2" -advanced -noPromptPassphrase
节点1:
$ssh hydzsw1 date
$sshhydzsw2 date
节点2:
$sshhydzsw1 date
$sshhydzsw2 date
6) 在每个节点上建立相同的grid、oracle软件相应目录:
创建Oracle inventory 目录:
mkdir -p /oracle/app/oraInventory
chown -R grid:oinstall /oracle/app/oraInventory
chmod -R 775 /oracle/app/oraInventory
创建Grid Infrastructure BASE 及HOME 目录:
mkdir -p /oragrid/11.2.0/grid
mkdir -p /oragrid/grid
chown -R grid:oinstall /oragrid
chmod -R 775 /oragrid
创建ORACLE_BASE、ORACLE_HOME目录:
mkdir -p /oracle/app/oracle
mkdir -p /oracle/app/oracle/cfgtoollogs
mkdir -p /oracle/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /oracle/app/oracle
chmod -R 775 /oracle/app/oracle
7) 在每个节点设置grid、oracle用户环境变量,注意ORACLE_SID,并注意设置完成后使设置生效:
Grid环境变量:
#su – grid
$vi .profile
export ORACLE_BASE=/oragrid/grid
export ORACLE_HOME=/oragrid/11.2.0/grid
export ORACLE_SID=+ASM1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
注意:节点1的ORACLE_SID=+ASM1,节点2的ORACLE_SID=+ASM2。安装完grid软件后再设置ORACLE_SID。
Oracle环境变量:
#su – oracle
$vi .profile
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=hydzsw1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export LIBPATH=$LIBPATH:$ORACLE_HOME/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
注意:节点1的ORACLE_SID=hydzsw1,节点2的ORACLE_SID=hydzsw2
设置完成后,使环境变量生效:
$. ./.profile
8) 在每个节点上设置所需的共享磁盘的属主、属性等:
#cd /dev
#ls rhdisk*
#chown grid:asmadmin /dev/rhdisk3….12 (17 18 19)
#chown 660 /dev/rhdisk3….12 (17 18 19)
设置属主及权限:
#chown grid:asmadmin /dev/rhdisk3
#chown grid:asmadmin /dev/rhdisk4
#chown grid:asmadmin /dev/rhdisk5
#chown grid:asmadmin /dev/rhdisk6
#chown grid:asmadmin /dev/rhdisk7
#chown grid:asmadmin /dev/rhdisk8
#chown grid:asmadmin /dev/rhdisk9
#chown grid:asmadmin /dev/rhdisk10
#chown grid:asmadmin /dev/rhdisk11
#chown grid:asmadmin /dev/rhdisk12
#chmod 660 /dev/rhdisk3
#chmod 660 /dev/rhdisk4
#chmod 660 /dev/rhdisk5
#chmod 660 /dev/rhdisk6
#chmod 660 /dev/rhdisk7
#chmod 660 /dev/rhdisk8
#chmod 660 /dev/rhdisk9
#chmod 660 /dev/rhdisk10
#chmod 660 /dev/rhdisk11
#chmod 660 /dev/rhdisk12
设置磁盘属性:(以hdisk3为例)
#lsattr –El hdisk3
若reserve_policy属性不为no_reserve,则修改:
# chdev -l hdisk3 -a reserve_policy=no_reserve
将磁盘格式化:(以hdisk3为例)
如果lspv看到硬盘有pvid的,先执行清除:
#chdev -l hdisk3 -a pv=clear
#dd if=/dev/zero of=/dev/rhdisk3 bs=1M count=2000
5 安装步骤
上传安装介质至/software目录中,并设置属主与权限。
#cd /software
#chown grid:oinstall p10404530_112030_AIX64-5L_3of7.zip
#chmod 775 p10404530_112030_AIX64-5L_3of7.zip
#cd /software
#chown oracle:oinstall p10404530_112030_AIX64-5L_1of7.zip
#chmod 775 p10404530_112030_AIX64-5L_1of7.zip
#chown oracle:oinstall p10404530_112030_AIX64-5L_2of7.zip
#chmod 775 p10404530_112030_AIX64-5L_2of7.zip
5.1 安装grid
安装前检查环境:
#su – grid
$cd /software/grid
$./runcluvfy.sh stage -pre crsinst -n hydzsw1,hydzsw2 -fixup -verbose
此处检查执行缓慢,显示的各项检查项(注意不要只看最后一行是否成功),要结合各个检查项。
如:检查中提示有补丁未安装,此处忽略即可。
#su – grid
$unzip p10404530_112030_AIX64-5L_3of7.zip
注意使用grid用户进行解压。
在每个节点执行:
$cd /software/grid
$./rootpre.sh
以grid用户登陆图形界面,进行安装grid操作。
$cd /software/grid
$./runInstaller
密码设定为oracle123,记住该密码,在安装数据库时需要使用。
检测之后,显示有如下的警告信息,原因描述:
在修改网络内核参数后,私有网络由原有的直连线更改为通过以太网交换机进行连通。如下的网络警告信息中,提示的均为en6(逻辑网口)的警告信息,此处选择全部忽略即可。
在保证双节点时间同步的情况下,亦无需进行NTP设置。
注意在65%时,会持续运行大约25分钟左右,在76%时,弹出执行脚本对话框。
注意,脚本要按照提示的root用户及顺序执行,不可并行执行。
若节点1上root.sh脚本成功,节点2上失败,可按下方法在节点2上执行下列命令清除后再次执行root.sh
#/oragrid/11.2.0/grid/crs/install/rootcrs.pl -deconfig
#/oragrid/11.2.0/grid/root.sh
每个节点脚本执行均成功,返回图形界面,点击“确定”按钮,安装过程继续。
提示[INS-20802],点击OK,继续即可。
此时直接SKIP,点击YES即可。
安装完成后,检查CRS:
#su – grid
$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATESERVERSTATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRSDG.dg
ONLINE ONLINEhydzsw1
ONLINE ONLINEhydzsw2
ora.LISTENER.lsnr
ONLINE ONLINEhydzsw1
ONLINE ONLINEhydzsw2
ora.asm
ONLINE ONLINEhydzsw1Started
ONLINE ONLINEhydzsw2Started
ora.gsd
OFFLINE OFFLINE hydzsw1
OFFLINE OFFLINE hydzsw2
ora.net1.network
ONLINE ONLINEhydzsw1
ONLINE ONLINEhydzsw2
ora.ons
ONLINE ONLINEhydzsw1
ONLINE ONLINEhydzsw2
ora.registry.acfs
ONLINE ONLINEhydzsw1
ONLINE ONLINEhydzsw2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1ONLINE ONLINE hydzsw1
ora.cvu
1ONLINE ONLINE hydzsw1
ora.hydzsw1.vip
1ONLINE ONLINE hydzsw1
ora.hydzsw2.vip
1 ONLINE ONLINEhydzsw2
ora.oc4j
1ONLINE ONLINE hydzsw1
ora.scan1.vip
1ONLINE ONLINE hydzsw1
5.2 安装数据库软件
#su – oracle
$unzip p10404530_112030_AIX64-5L_1of7.zip
$unzip p10404530_112030_AIX64-5L_2of7.zip
注意使用oracle用户进行解压,将两个压缩包默认解压即可,解压到同一个目录。
使用oracle用户登陆图形界面。
$cd /software/database
$runInstaller
此处提示执行rootpre.sh,可直接输入y,继续即可。
互信配置,此处可直接NEXT。
注意安装路径要与环境变量中配置的一致,若不一致,请手工进行修改。
提示警告忽略即可。
安装过程至94%时,过程缓慢,需要耐心等待。
两节点顺序使用root用户执行脚本。
安装完成后,检查安装版本:
#su – oracle
$sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 11 12:14:45 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
5.3 配置ASM磁盘组
根据沟通情况,闪回暂不开启,仅配置+DATADG,进行创建数据库。
以grid用户登陆图形化界面。
$asmca
创建DG:+DATADG,选择External。
+CRSDG:该DG已在安装GRID进行创建。
检查磁盘组创建情况:
#su – grid
$sqlplus / as sysasm
SQL>select name,state from v$asm_diskgroup;
加磁盘:
在需要加磁盘的磁盘组上,点击右键,选择add disks,再选择相应的磁盘即可。
检查磁盘组创建情况:
#su – grid
$sqlplus / as sysasm
SQL>select name,state from v$asm_diskgroup;
5.4 创建数据库
以oracle用户登陆图形化界面。
$dbca
暂定密码为:oracle
输入密码:oracle123
根据沟通情况,暂不打开闪回。
在安装完成后,再对归档进行设置,此处不选择启用归档。
根据沟通结果,字符集使用ZHS16GBK。
安装完成后,再次检查crs信息,可见其中数据库DB项已OPEN。
$su – grid
$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATESERVERSTATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRSDG.dg
ONLINE ONLINEhydzsw1
ONLINE ONLINEhydzsw2
ora.DATADG.dg
ONLINE ONLINEhydzsw1
ONLINE ONLINEhydzsw2
ora.LISTENER.lsnr
ONLINE ONLINEhydzsw1
ONLINE ONLINEhydzsw2
ora.asm
ONLINE ONLINEhydzsw1Started
ONLINE ONLINEhydzsw2Started
ora.gsd
OFFLINE OFFLINE hydzsw1
OFFLINE OFFLINE hydzsw2
ora.net1.network
ONLINE ONLINEhydzsw1
ONLINE ONLINEhydzsw2
ora.ons
ONLINE ONLINEhydzsw1
ONLINE ONLINEhydzsw2
ora.registry.acfs
ONLINE ONLINEhydzsw1
ONLINE ONLINEhydzsw2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1ONLINE ONLINE hydzsw1
ora.cvu
1ONLINE ONLINE hydzsw1
ora.hydzsw.db
1ONLINE ONLINE hydzsw1 Open
2ONLINE ONLINE hydzsw2 Open
ora.hydzsw1.vip
1ONLINE ONLINE hydzsw1
ora.hydzsw2.vip
1ONLINE ONLINE hydzsw2
ora.oc4j
1ONLINE ONLINE hydzsw1
ora.scan1.vip
1ONLINE ONLINE hydzsw1
若在创建数据库时未进行空间及日志文件的调整,可参考下述命令进行调整(注意datafile的若是ASM,仅写+DATADG即可,若是其他文件系统,请列出绝对路径及名称。):
添加日志成员:
ALTER DATABASE ADD LOGFILE THREAD 1 GROUP 5 SIZE 51200K
表空间调整:
System 2000m
ALTER DATABASE DATAFILE '+DATADG/hydzsw/datafile/system.259.812633915' RESIZE 2000M
ALTER DATABASE DATAFILE '+DATADG/hydzsw/datafile/system.259.812633915' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
Sysaux 1000m
ALTER DATABASE DATAFILE '+DATADG/hydzsw/datafile/sysaux.260.812633919' RESIZE 1000M
ALTER DATABASE DATAFILE '+DATADG/hydzsw/datafile/sysaux.260.812633919' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
Users 1000m
ALTER DATABASE DATAFILE '+DATADG/hydzsw/datafile/users.264.812633933' RESIZE 1000M
ALTER DATABASE DATAFILE '+DATADG/hydzsw/datafile/users.264.812633933' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
Temp 2000m
ALTER DATABASE TEMPFILE '+DATADG/hydzsw/tempfile/temp.262.812633923' RESIZE 2000M
ALTER DATABASE TEMPFILE '+DATADG/hydzsw/tempfile/temp.262.812633923' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
Undo 2000m
Undo1:
ALTER DATABASE DATAFILE '+DATADG/hydzsw/datafile/undotbs1.261.812633921' RESIZE 2000M
ALTER DATABASE DATAFILE '+DATADG/hydzsw/datafile/undotbs1.261.812633921' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
Undo2:
ALTER DATABASE DATAFILE '+DATADG/hydzsw/datafile/undotbs2.263.812633933' RESIZE 2000M
ALTER DATABASE DATAFILE '+DATADG/hydzsw/datafile/undotbs2.263.812633933' AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
6 RAC归档设置:
6.1 更改归档目录属主权限:
节点1归档目录在/gd1,节点2归档目录在/gd2。
节点1:
#chown –R oracle:oinstall /gd1
#chmod 755 /gd1
节点2:
#chown –R oracle:oinstall /gd2
#chmod 755 /gd2
6.2 设置归档
1、先备份spfile:
$sqlplus / as sysdba
SQL>create pfile='/home/orale/pfile_bak.ora' from spfile;
SQL>quit
2、关闭所有节点数据库实例
#su – oracle
$srvctl stop database -d hydzsw
3、修改服务器配置参数
$sqlplus / as sysdba
sql>startup mount
sql>alter system set cluster_database=false scope=spfile;
sql>shutdown immediate
4、调整归档日志路径
sql>startup mount
sql>alter system set log_archive_dest_1='LOCATION=/gd1' scope=spfile sid='hydzsw1';
sql>alter system set log_archive_dest_1='LOCATION=/gd2' scope=spfile sid='hydzsw2';
调整归档日志文件命名方式
sql>alter system set log_archive_format ='arch_%s_%R_%T.arc' scope=spfile sid='hydzsw1';
sql>alter system set log_archive_format ='arch_%s_%R_%T.arc' scope=spfile sid='hydzsw2';
5、开启归档日志
sql>alter database archivelog
sql>alter database open
6、恢复服务器配置参数
sql>alter system set cluster_database=true scope=spfile;
sql>shutdown immediate;
7、打开所有节点数据库实例
$srvctl start database -d hydzsw
8、检查归档日志是否已启用
$sqlplus / as sysdba
sql>archive log list;
SQL>alter system switch logfile;
9、检查归档目录,已产生各自实例的归档。
7其他管理命令:
7.1 RAC的EM重建:
查看db console的状态:
export ORACLE_UNQNAME=hydzsw
emctl status dbconsole
启动、停止EM:
emctl start dbconsole
emctl stop dbconsole
查看RAC数据库 db control 的配置信息:
emca -displayConfig dbcontrol –cluster
清除RAC数据库旧的配置信息:
emca -deconfig dbcontrol db -repos drop –cluster
重新建立RAC数据库的db control的配置信息:
emca -config dbcontrol db -repos create –cluster
配置em的过程中有一个环节要特别主要:
不论使用dbca还是使用emca -deconfig dbcontrol db -repos drop在删除资料库时都有可能删除不干净,这样在再次创建资料库时都会出现错误(显示的log中有详细的记录),因此在创建资料库时最好使用下面命令手动删除一次:
DROP public synonym SETEMVIEWUSERCONTEXT;
DROP PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS;
DROP ROLE MGMT_USER;
DROP USER MGMT_VIEW CASCADE;
DROP USER SYSMAN CASCADE;
7.2 数据库管理命令:
管理数据库可通过EM进行。
创建表空间:
由于db_block_size=8192,数据文件最大限制32G。表空间要求50G,则需要创建2个25G数据文件。
SQL> CREATE SMALLFILE TABLESPACE "DZSW_DATA" DATAFILE '+DATADG' SIZE 25G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED , '+DATADG' SIZE 25G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
创建用户dzsw、dds:
SQL>CREATE USER dzsw IDENTIFIED BY dzsw DEFAULT TABLESPACE DZSW_DATA;
SQL>CREATE USER dds IDENTIFIED BY dds DEFAULT TABLESPACE DZSW_DATA;
SQL>ALTER USER dzsw TEMPORARY TABLESPACE TEMP;
SQL>ALTER USER dds TEMPORARY TABLESPACE TEMP;
用户授权:
SQL> GRANT RESOURCE,CONNECT,DBA TO dzsw;
SQL> GRANT CONNECT TO dds;
注:查看原库,得知dds用户的权限仅为connect。
经查原库,得知有DBLINK:
SQL> select owner,db_link,username,host from dba_db_links;
OWNER DB_LINK USERNAME HOST
-------------------- -------------------- -------------------- ------
DZSW LINKHD_MAIN HD4 hd
DZSW DZSW31 DZSW ora11gnw31
DZSW LINKHYJH HYJH HYJH
DZSW LINKHD HDJK hd
导入内网DZSW库:
imp dzsw/dzsw file=/software/dzsw_nw.dmp log=/software/dzsw_nw.log full=y
7.3 RAC相关管理命令:
检查进程:
$ ps -ef | grep crs
$ ps -ef | grep css
$ ps -ef | grep evm
$ ps -ef | grep ohas
RAC检查:
#su - grid
$ olsnodes -n
$ srvctl status nodeapps
$ srvctl config database;
$ srvctl config database -d hydzsw -a
$ srvctl config database -d hydzsw -a
$ srvctl status asm
$ srvctl config asm -a
$ srvctl status listener
$ srvctl config listener -a
$ srvctl status scan
$ srvctl config scan
$ srvctl status vip -n hydzsw1
$ srvctl status vip -n hydzsw2
$ srvctl config vip -n hydzsw1
$ srvctl config vip -n hydzsw2
$ srvctl config nodeapps -a -g -s -l
$ srvctl config nodeapps -a -g -s
$ cluvfy comp clocksync -verbose
8 备份策略:
将节点2的归档目录/gd2以NFS方式挂载至节点1的目录/gd2。
备份目录/backup,设置权限:
#chown oracle:oinstall /backup
#chmod 775 /backup
创建备份日志目录:
#su - oracle
$mkdir rmanlog
创建备份脚本目录:
#su – oracle
$mkdir script
创建脚本:
1)全库备份
$vi /home/oracle/script/full_db.sh
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=hydzsw1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export LIBPATH=$LIBPATH:$ORACLE_HOME/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
rman target / nocatalog log '/home/oracle/rmanlog/full_db.log' append<<EOF
run
{allocate channel c1 type disk;
allocate channel c2 type disk;
backup database format '/backup/full_%d_%T_%s_%p';
sql 'alter system archive log current';
backup archivelog all format '/backup/arch_%D_%T_%s_%p' ;
backup current controlfile format '/backup/ctl_%U';
}
EOF
rman target / nocatalog log /home/oracle/rmanlog/rman_delete_db.log append<<EOF
crosscheck backup;
delete noprompt obsolete;
EOF
2)归档备份
$more /home/oracle/script/rman_arch.sh
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=hydzsw1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export LIBPATH=$LIBPATH:$ORACLE_HOME/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
rman target / nocatalog log '/home/oracle/rmanlog/rman_arch.log' append<<EOF
run
{allocate channel c1 type disk;
sql 'alter system archive log current';
backup archivelog all format '/backup/arch_%D_%T_%s_%p' delete all input;
backup current controlfile format '/backup/ctl_%U';
}
EOF
rman target / nocatalog log /home/oracle/rmanlog/rman_delete_arch.log append<<EOF
allocate channel for maintenance type disk connect 'sys/oracle@hydzsw';
crosscheck backup;
delete noprompt obsolete;
EOF
手工检查备份集或归档,并删除失效的备份集或归档:
RMAN>crosscheck backup;
RMAN>delete expired backup;
RMAN>crosscheck archivelog all;
RMAN>delete expired archivelog all;
备份策略调整:
目前备份策略是2,若以后需要调整,可直接更改下面参数。
$rman target /
RMAN> show all;
………
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
………
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
根据需要,设定备份规则:
每周日晚23点备份全库,每周一至周六晚23点备归档。
#cd /var/spool/cron/crontabs
#vi hydzsw_crontab
0 23 * * 0 /home/oracle/script/full_db.sh
0 23 * * 1-6 /home/oracle/script/rman_arch.sh