srvctl 工具都有哪些功能
oracle 12c:新特性-RAC数据库的增强
What-if命令评估
通过srvctl使用新的What-if命令评估选项,现在可以确定运行此命令所造成的影响。这一新添加到srvctl的命令,可以在没有实际执行或是不对当前系统做任何改变的情况下模拟此命令。这在想要对一个已存在的系统进行更改却对结果不确定的时候特别有用。这样,此命令就会提供进行变更的效果。而–eval 选项也可以通过crsctl 命令来使用来源:CUUG官网。
例如,如果你想要知道停止一个特定数据库会发生什么,那么你就可以使用以下示例:
$ ./srvctl stop databa –d MYDB –eval
$ ./crsctl eval modify resource -attr “value”
srvctl的改进
对于srvctl命令还有一些新增功能。以下演示了如何用这些新增功能停止或启动集群上的数据库或实例资源。
srvctl start databa|instance –startoption NOMOUNT|MOUNT|OPEN
如何用srvctl命令添加ASM amp;DATABASE&LISTENER 注册信息
1.模拟删除ASM & DATABASE 注册信息
删除前请确认这些资源已经是STOP 状态
[oracle@vmrehl4n1 ~]$ srvctl remove databa -d myrac
Remove the databa myrac? (y/[n]) y
[oracle@vmrehl4n1 ~]$ srvctl remove asm -n vmrehl4n1 -i +ASM1
[oracle@vmrehl4n1 ~]$ srvctl remove asm -n vmrehl4n2 -i +ASM2
2.添加ASM & DATABASE 注册信息
[oracle@vmrehl4n1 ~]$ srvctl add databa -d myrac -o /app/oracle/product/10.2.0/db_1
[oracle@vmrehl4n1 ~]$ srvctl add instance -d myrac -i myrac1 -n vmrehl4n1
[oracle@vmrehl4n1 ~]$ srvctl add instance -d myrac -i myrac2 -n vmrehl4n2
[oracle@vmrehl4n1 ~]$ srvctl add asm -n vmrehl4n1 -i +ASM1 -o /app/oracle/product/10.2.0/db_1
[oracle@vmrehl4n1 ~]$ srvctl add asm -n vmrehl4n2 -i +ASM2 -o /app/oracle/product/10.2.0/db_1
查看[oracle@vmrehl4n2 admin]$ crs_stat -p ora.myrac.myrac1.inst
显示的此行
REQUIRED_RESOURCES=ora.vmrehl4n1.vip ora.vmrehl4n1.ASM1.asm
如果没有ora.vmrehl4n1.ASM1.asm
需要继续运行以下命令,否则CRS自动启动时不能启动DATABASE:
[oracle@vmrehl4n1 ~]$ srvctl modify instance -d myrac -i myrac1 -s +ASM1
[oracle@vmrehl4n1 ~]$ srvctl modify instance -d myrac -i myrac2 -s +ASM2
srvctl status asm 只显示一个节点 什么原因
二节点的asm没启动起来,这里已经写了是Failed to start ASM,原因是Start of resource "ora.asm -init" failed,在节点1运行ora.asm -init脚本时出现的问题,应该是asm实例的问题,
请教RAC的 srvctl add rvice中rvice概念
这个添加的rvice是Failover中的rvice服务,也就是你在DBCA建库的过程中可以同时使用DBCA工具创建的rvice服务。 这个服务实质就是TAF(Transparent Application Failover),不过它与TAF的区别是不用在客户端的tnsnames.ora文件中配置,而...
drupal如何实现集群管理?
1.在管理集群数据库的时候,因为数据库处于应用层所以要使用srvctl命令来进行管理,通过-h可以查看命令的使用方法
请点击输入图片描述
2.通过status可以查看数据库在各节点的状态
请点击输入图片描述
3.通过stop命令可以停止集群数据库,如果不能正常停止的话可以加-f参数强制停止
请点击输入图片描述
4.在启动集群数据库的时候可以通过-n来指定节点名称,通过-o来指定启动状态,但在应用-n指定节点名称时却提示无效,-o的参数有nomount,mount,open
请点击输入图片描述
5.同样在关闭的时候也可以指定关闭的方式,如下图,-o的参数可以为abort,immediate,nomal,transactional
请点击输入图片描述
6.同时通过config指令可以查看数据库的基本信息
请点击输入图片描述
7.同样通过enable,disable可以设定是否让数据库随着系统启动而自动启动
请点击输入图片描述
如何诊断RAC环境下sysdate 返回错误时间问题
1. 操作系统级别的时区设置,并确保操作系统命令date 能返回正确的时间。对于如何查看不同平台的时区设置,请参考note 1209444.1
2. 确认GI 配置文件<gi_home>/crs/install/s_crsconfig_<节点名>_env.txt文件中的变量TZ和操作系统的TZ 设置一致。
3. 确认是否在databa或listener资源层面设置了TZ变量。如果设置了,是否和OS,GI的设置是一致的。
4. 另外,rver process的环境变量LIBPATH 或 LD_LIBRARY_PATH 也会对oracle访问操作系统函数产生影响。而且GI 的agent进程(适用于版本11.2.0.3 及以上的版本)在启动资源时(例如:databa资源)会自动的将进程的以下环境变量清空
LD_LIBRARY_PATH, SHLIB_PATH (HP-UX), LD_LIBPATH_PATH_64 (Solaris), LIBPATH(AIX)
所以,如果您的databa是使用srvctl 命令启动的,就需要确认上面的环境变量被设置正确。
例如:srvctl tenv databa -d <db_name> -t 'LIBPATH=<gi_home/lib>'
注意:不同的Unix平台,以上命令可能会不同。
所以,我们也去要确认databa 资源的LIBPATH 或 LD_LIBRARY_PATH 变量是否被设定。
例如:srvctl getenv databa -d <db_name>
另外,在诊断这种问题时,需要搜集以下信息。
1. <gi_home>/crs/install/s_crsconfig_<节点名>_env.txt文件
2. 操作系统时区设置(cat /etc/sysconfig/clock) 和环境变量TZ的设置。以及pmon进程的环境变量。
3. databa和 listener资源的环境变量
例如:srvctl getenv databa -d <db_name>
srvctl getenv listener -l <listener name>
4. 如果以上的信息没有问题,那么就需要搜集listener 进程的truss(或strace) 输出找到有问题的环境变量设置。
5. 如果1—4 中的信息仍然无法找到问题的原因,请搜集客户端和服务器端的sqlnet trace,以便确认是否有任何的’alter ssion t ...’命令修改了会话的时区或者相关的变量。
客户端sqlnet trace:设置以下参数到客户端的sqlnet.ora 文件中。
trace_level_client=16
trace_directory_client=c:\tmp ==> 确保该路径存在
trace_file_client=client
trace_unique_client=on
trace_timestamp_client=on
服务器端sqlnet trace:设置以下参数到服务器端的sqlnet.ora文件中
trace_level_rver=16
trace_file_rver=rver
trace_directory_rver=/tmp ==> 确保该路径存在
trace_timestamp_rver=ON