一.Oracle Rac常用命令
cat /etc/hosts
cd $ORACLE_HOME/bin/
1--查询
--检查集群中各组件状态
olsnodes -s
--查看集群名称
cemutlo -n
--查询群集状态
--也可以加-all 查询所有节点
crsctl check cluster
--检查crs状态
crsctl check crs
--检查集群中资源的状态
--crs_*命令oracle官方已经不建议使用了
crsctl stat res -t
crs_stat -t
--查询节点应用程序状态
srvctl status nodeapps
--节点应用程序配置(VIP、GSD、ONS、监听器)
srvctl config nodeapps
--ASM查询
srvctl status asm
srvctl status asm -a
--查看asm配置
srvctl config asm -a
2--监听查看
--查看监听状态
srvctl status listener
--查看监听配置
srvctl config listener -a
--查看scan监听器的状态
srvctl status scan_listener--查看scan网络配置
srvctl config scan
--查看vip网络
srvctl status vip -n yzz1
srvctl config vip -n yzz2
3.--数据库查看
--数据库名称
srvctl config database
--数据库状态
srvctl status database -d yzz
srvctl status database -d yzz -f -v
--检查指定实例的状态
srvctl status instance -d yzz -i yzz1
--查看数据库配置
srvctl config database -d yzz -a
4--管理命令
--RAC群集管理命令
--停止&启动节点集群服务,须要以root用户
--crs_start命令
--启动
crs_start -all
--查看
crs_start -t
--关闭
crs_stop -all
5.--crsctl命令
--启动
crsctl start crs -wait
--查看
crsctl stat res -t
--关闭
crsctl stop crs -wait
--停止所有节点集群服务
crsctl stop cluster -all--停⽌本节点集群服务
crsctl stop cluster
6.--自启动设置
--查询状态
crsctl config crs
--(查询结果)
CRS-4622: Oracle High Availability Services autostart is enabled.
--如果上面检查出来的状态是disable可以通过以下命令进行启用
crsctl enable crs
--关闭database
srvctl stop database -d yzz
srvctl status database -d yzz
--从OCR中删除已有的数据库
srvctl remove database -d yzz
--向OCR中添加⼀个数据库的实例
srvctl add instance -d -i -n
--通过srvctl命令管理⼀个节点的rac
srvctl start|stop|status nodeapps -n node1
--查看节点1状态
srvctl status nodeapps -n yzz1
7.--ORACLE数据库管理命令
--通过SRVCTL命令来start/stop/check所有的实例
srvctl start|stop|status database -d db_name
srvctl status database -d yzz
--通过SRVCTL命令来start/stop/check管理指定实例
srvctl start|stop|status instance -d -i
--查询实例1状态
srvctl status instance -d yzz -i yzz1
--ASM管理命令
--启动前确保css、has服务启动
--启动ASM实例
sqlplus / as sysasm
startup
select instance_name,status from v$instance;
--进⼊ASM
asmcmd -p
8.--重启RAC数据库
--关闭顺序:关闭PDB-->关闭数据库-->关闭集群服务 (先关闭PDB在关闭数据库实例,否则smon将有⼀个用动恢复过程)
--启动顺序:开机⾃启动集群服务查看集群服务器是否正常-->打开数据库-->启动PDB(默认是在mount状态下)
二.srvctl命令详细说明文档
简介: SRVCTL是ORACLE9i RAC 集群配置管理的工具。
注:
RAC: Real Application Clusters
SRVM: Server Management
---------------------------------------------------------------------
1.srvctl add
添加数据库或实例的配置信息。在增加实例中,与-i 一起指定的名字应该与INSTANCE_NAME和 ORACLE_SID参数匹配。
srvctl add database -d database_name [-m domain_name] -o oracle_home [-s spfile]
srvctl add instance -d database_name -i instance_name -n node_name
SRVCTL Add命令详细选项
-------------------------------------------------------------------------------------------------
命令 选项
--------------------------------------------------------------------------------------------------
-i 在增加实例中,与-i一起指定的名字应该与instance_name和oracle_sid参数匹配。
数据库域名 格式如"us.mydomain.com"
-m 选项指定的数据库域名必须匹配数据库INIT.ORA或者SPFILE中
DB_DOMAIN和DB_NAME参数。在增加数据库时,-d指定的数据库名必须
与DB_NAME参数匹配
-n 实例节点名
-o $ORACLE_HOME(用来确定 lsnrctl 和 Oracle 等命令路径)
-s SPFILE 文件名
-d 在增加数据库时,-d指定的数据库名必须与db_name参数匹配
-p spfile 文件名
---------------------------------------------------------------------
实例:添加一个新的数据库
srvctl add database -d mydb -o /ora/ora9
$srvctl add database -d rac -o /u01/oracle/product/10.2.0/db_1 -p +rac_disk/rac/spfilerac.ora
实例:向数据库添加实例
srvctl add instance -d mydb -i mydb01 -n gm01
srvctl add instance -d mydb -i mydb02 -n gm02
srvctl add instance -d mydb -i mydb03 -n gm03
$srvctl add instance -d rac -i rac1 -n node1
$srvctl add instance -d rac -i rac2 -n node2
2.serctl config
显示保存在SRVM配置文件中的配置信息
srvctl config database
显示数据库配置列表
srvctl config database -d database_name
数据库配置信息显示的格式:
nodename1 instancename1 oraclehome
nodename2 instancename2 oraclehome
实例:显示数据库配置信息;
srvctl config database -d mydb
$srvctl config database
3.srvctl getenv
getenv操作用来SRVM配置文件中获取与显示环境变量
srvctl getenv database -d database_name [-t name[,name,...]]
srvctl getenv instance -d database_name -i instance_name [-t name[,name,...]]
实例:列出数据库的所有环境变量
srvctl getenv database -d mydb
4.srvct modify
修改实例的节点配置信息。这些修改会在程序下次重新启动后生效。
(修改后的信息将永久保存)
srvctl modify instance -d database_name -i instance_name -n node_name
实例:修改实例到另一个节点
srvctl modify instance -d mydb -n my_new_node
5.srvctl remove
这是用来删除SRVM库中配置信息的命令。
对象相关的环境设置也同样删除。如果你未使用强制标志(-f),ORACLE将提示你确认是否删除。
使用强制选项(-f),删除操作将不进行提示
srvctl remove database -d database_name [-f]
srvctl remove instance -d database_name -i instance_name [-f]
srvctl remove命令详细选项
---------------------------------------------------------------------
-f强制删除应用时不进行确认提示
实例:删除数据库
srvctl remove database -d mydb
实例:删除数据库实例
srvctl remove instance -d mydb -i mydb01
srvctl remove instance -d mydb -i mydb02
srvctl remove instance -d mydb -i mydb03
实例:
$srvctl remove database -d rac
$srvctl remove instance -d rac -i rac1
$srvctl remove instance -d rac -i rac2
6.srvctl setenv
设置SRVM配置文件中的环境变量值。
srvctl setenv database -d database_name -t name=value [,name=value,...]
srvctl setenv instance -d database_name [-i instance_name] -t name=value [,name=value,...]
实例:设置数据库环境变量
$srvctl setenv database -d rac -t lang=en
srvctl setenv database -d mydb -t LANG=en
7.srvctl start
启动数据库,所有实例或指定的实例,及启动所有相关未启动的监听。
---------------------------------------------------------------------
注:
对于start命令和其它一些可以使用连接字符串的操作,如果你不提供连接字符
串,那么 ORACLE 会使用"/ as sysdba"在实例上执行相关的操作。另外,要执行
类似的操作,你必须是OSDBA组的成员。关于更多的OSDBA组权限信息,请参考
ORACLE9i的安装指南。
srvctl start database -d database_name [-o start_options] [-c connect_string]
srvctl start instance -d database_name -i instance_name [,instance_name-list] [-o start_options] [-c connect_string]
scvctl start 命令详细选项
---------------------------------------------------------------------
命令 选项
---------------------------------------------------------------------
-o 在 SQL*Plus 直接传递的startup命令选项,可以包括PFILE
-c 使用SQL*Plus连接数据库实例的连接字符串
---------------------------------------------------------------------
实例:启动数据库及所有的实例
srvctl start database -d mydb
实例:启动指定的实例
srvctl start instance -d mydb -i mydb1,mydb4
例:
$srvctl start database -d rac
$srvctl stop database -d rac -c “sys/sys_password as sysdba”
$srvctl start instance -d rac -i rac1,rac2
startup:
node1 $srvctl start nodeapps -n rac1
node1 $srvctl start nodeapps -n rac2
node1 $srvctl start asm -n rac1
node1 $srvctl start asm -n rac2
node1 $srvctl start database -d rac
node1 $srvctl start service -d rac
node1 $crs_stat -t
shutdown:
node1 $srvctl stop service -d rac
node1 $srvctl stop database -d rac
node1 $srvctl stop asm -n rac2
node1 $srvctl stop asm -n rac1
node1 $srvctl stop nodeapps -n rac2
node1 $srvctl stop nodeapps -n rac1
node1 $crs_stat -t
如果用srvctl关闭监听后,再用lsnrctl start打开监听。这时srvctl仍然认为监听已经关闭。因此,再次使用srvctl关闭监听,似乎srvctl根本没有去执行。如果希望srvctl可以关闭监听,那么需要先用srvctl启动监听,然后再关闭。搜索了一下metalink,没有发现关于这个问题的说明。而且,这个问题只在关闭监听时出现,启动监听则没有问题。svrctl显然只记录它自己的操作,而不去检查listener真正的状态。
8.srvctl status
显示指定数据库的当前状态
srvctl status database -d database_name
srvctl status instance -d database_name -i instance_name [,instance_name-list]
实例:显示数据和所有实例状态
$srvctl status database -d rac
srvctl status database -d mydb
实例:显示指定实例的状态
$srvctl status instance -d rac -i rac1,rac2
srvctl status instance -d mydb -i mydb1,mydb2
9.srvctl stop
停止数据库所有实例可者指定实例
srvctl stop database -d database_name [-o stop_options] [-c connect_string]
srvctl stop instance -d database_name -i instance_name [,instance_name_list] [-o stop_options][-c connect_string]
Srvctl Stop 命令详细选项
------------------------------------------------------------------
命令 选项
--------------------------------------------------------------------
-c 使用 SQL*Plus 连接数据库实例的连接字符串
-o 在SQL*Plus 直接传递的 shutdown 命令选项
---------------------------------------------------------------------
实例:停止数据库所有的实例
$srvctl stop database -d rac
srvctl stop database -d mydb
实例:停止指定实例
$srvctl stop instance -d rac -i rac2
srvctl stop instance -d mydb -i mydb1
$ srvctl stop service -d db_name [-s service_name_list [-i inst_name]]
$ srvctl stop asm -n node
10.srvctl unsetenv
取消SRVM配置文件中环境变量定义值
srvctl unsetenv database -d database_name-t name[,name,...]
srvctl unsetenv instance -d database_name[-i instance_name] -t name[,name,...]
实例:取消环境变量,回到缺省值
srvctl unsetenv database -d mydb -t CLASSPATH
11.srvconfig
使用srvconfig导入和导出raw设备配置信息,你可使用srvconfig导入和导出raw设备配置信息,不管配置文件是在集群文件系统上还是在raw设备上,你可以使用这种方法来备份与恢复srvm配置信息。
例:
导出配置信息的内容到你指定文件名的文本文件中。
$srvconfig -exp file_name
从指定文本文件中导入配置信息到到你运行命令的rac环境配置信息库。
$srvconfig -imp file_name
12.使用srvconfig导入和导出RAW设备配置信息
你可使用SRVCONFIG导入和导出RAW设备配置信息,不管配置文件是在集群文件系统上还是在RAW设备上。你可以使用这种方法来备份与恢复SRVM配置信息。
例如:
下面的命令用来导出配置信息的内容到你指定文件名的文本文件中。
srvconfig -exp file_name
下面的命令用来从指定文本文件中导入配置信息到到你运行命令的 RAC 环境配
置信息库。