oracle rac 数据库常用命令:
1.所有实例和服务的状态
srvclt status database -d
orcl
单个实例的状态:
srvctl status instance -d orcl -i
orcl1/orcl2
在数据库全局命名服务的状态:
srvctl status service -d orcl -s
orcltest
特定节点应用程序的状态:
srvctl status nodeapps -n linux1
srvctl status
nodeapps -n linux2
ASM状态实例
srvctl status asm -n
linux1
列出配置的所有数据库:
srvctl config database
显示RAC数据库的配置信息:
srvctl
config database -d orcl
显示指定集群数据库所有的服务
srvctl config service -d
orcl
显示节点应用程序的配置信息(VIP,GSD,ONS,监听器等)
srvctl config nodeapps -n linux1 -a
-g -s -l
显示ASM实例的配置
srvctl config asm -n
linux1
集群中所有正在运行的实例:
select
inst_id,instance_number
inst_no,instance_name is inst_name,
parallel,status,database_status
db_status,
active_state state,host_name host from gv$instance
order by
inst_id;
位于磁盘组中的所有数据文件:
select name from v$datafile
union
select
member from v$logfile
union
select name from
v$controlfile
union
select name from v$tempfile;
启动和停止RAC数据库:
su - oracle
hostname
停止oracle rac
10g环境:
第一步:停止oracle实例,当此实例(和相关服务)关闭后,关闭ASM实例
,最后,关闭节点应用程序(虚拟IP,GSD,TNS监听器和ONS)
export
oracle_sid=orcl
emctl stop dbconsole
srvclt stop instance -d orcl -i
orcl1
srvctl stop asm -n rac1
srvctl stop nodeapps -n
rac1
启动RAC环境:
第一步是启动节点应用程序(虚拟IP,GSD,TNS监听器和ONS
).当成功启动节点应用程序后,启动ASM实例,最后,启动ORACLE实例(和相关的服务)以及企业管理器数据库控制台。
export
oracle_sid=orcl1
srvctl start nodeapps -n rac1
srvctl start asm -n
rac1
srvctl start instance -d orcl -i orcl1
emctl start
dbconsole
实用srvclt 启动停止所有实例:
srvclt start database -d orcl
srvctl stop
database -d orcl
启动停止监听程序:
lsnrctl start listener_hostb
lsnrctl stop
listener
****************************************************************************************************************************
Oracle
10G R2 RAC 日常管理
CRS的管理
CRSCTL命令控制着本地节点的CRS服务(Oracle clusterware
processes)
停止CRS:
$ crsctl stop crs或者
$ /etc/init.crs stop或者
$
crs_stop –all
启动CRS:
$ crsctl start crs或者
$ /etc/init.d/init.crs
start
禁止Clusterware在系统重启后自动启动的方法:
$ /etc/init.d/init.crs
disable
启动Clusterware在系统重启后自动启动的方法:
$ /etc/init.d/init.crs
enable
查看CRS服务状态
$ crsctl check crs
OCR的资源管理
OCR的资源,当RAC
cluster启动并成功运行以后,你可以使用crs_stat工具看到如下内容:
$ORA_CRS_HOME/bin/crs_stat
通常情况下,所有的资源的状态都应该是online。另外,OCR每4个小时会备份一次。有一些情况你可以通过恢复的OCR的配置文件来恢复出现问题的OCR。
比如使用出现如下情况:
$
crs_stat -t
CRS-0184: Cannot communicate with the CRS daemon.
$ crsctl
check boot
Failure 4 at procr_open_key with status 4.
PROC-4: The cluster
registry key to be operated on does not exist.
$ crsctl check crs
Failure
1 contacting CSS daemon
Cannot communicate with CRS
Cannot communicate
with EVM
引起这个错误的一种可能原因是OCR配置丢了。这个我们可以利用这些备份来还原以前的配置。
# /etc/init.crs
disable
# /etc/init.crs stop
先保证所有的crs进程全部停止。
# su – oracle
$ cd
$ORA_CRS_HOME/bin
$./ocrconfig -restore
/opt/app/oracle/crs/cdata/crs/week.ocr
然后切换到root用户下,重新enable CRS
#
/etc/init.crs
enable
最后reboot两个节点
SRVCTL命令介绍
SRVCTL命令可以控制RAC数据库中的instance,listener以及services。
通常SRVCTL在ORACLE用户下执行。下面我们来介绍srvctl命令。
1、通过SRVCTL命令来start/stop/check所有的实例:
$
srvctl start|stop|status database -d
2、start/stop指定的实例:
$
srvctl start|stop|status instance -d -i
3、列出当前RAC下所有的
$ srvctl config database -d
4、start/stop/check所有的nodeapps,比如:VIP, GSD, listener,
ONS:
$ srvctl start|stop|status nodeapps -n
5、如果你使用ASM,srvctl也可以start/stop ASM实例:
$ srvctl
start|stop asm -n [-i ]
[-o]
6、可以获取所有的环境信息:
$ srvctl getenv database -d
[-i ]
7、设置全局环境和变量:
$ srvctl setenv
database -d -t LANG=en
8、从OCR中删除已有的数据库:
$ srvctl remove
database -d
9、向OCR中添加一个数据库:
$ srvctl add database -d
-o
[-m ]
[-p] [-A /netmask] [-r {PRIMARY | PHYSICAL_STANDBY
|LOGICAL_STANDBY}] [-s ]
10、向OCR中添加一个数据库的实例:
$ srvctl
add instance -d -i -n
$
srvctl add instance -d -i -n
11、向OCR中添加一个ASM实例:
$ srvctl add asm -n -i
-o
12、添加一个service
$ srvctl add
service -d -s -r [-a
] [-P ] [-u]
13、修改在其他节点上的service
$
srvctl modify service -d -s -I
-t
14、relocate某个节点的service到其他节点
srvctl relocate
service -d -s
-I
CRS及相关服务的常用命令的演示
1、查看状态的命令
# su–oracle --先切换到oracle用户
$ crs_stat
-t --查看crs及所有的service的状态
$ crsctl check crs --用crsctl命令,检查crs相关服务的状态
$
srvctl status nodeapps -n db01 (db02) --使用srvctl查看所有节点上的服务是否正常
$ srvctl
status database -d db --使用srvctl查看数据库状态
启动和关闭相关服务的命令
# su – oracle
$
crs_start–all --启动所有的crs服务
$ crs_stop–all --停止所有的crs服务
$ crsctl start crs
--启动crs服务
$ crsctl stop crs --停止crs服务
$ srvctl start nodeapps -n
db01(db02) --启动某节点上所有的应用
$ srvctl stop nodeapps -n db01(db02)
--停止某节点上所有的应用
$ srvctl start listener -n db01(db02) --启动某个节点的listener
$
srvctl stop listener -n db01(db02) --停止某个节点的listener
$ srvctl start
instance–d db–i db01(db02) --启动某个instance
$ srvctl stop instance–d db–i
db01(db02) --停止某个instance
$ srvctl start database–d db --启动数据库
$ srvctl
stop database–d db --停止数据库