SRVCTL 命令参考
SRVCTL赌王大房ORACLEi RAC配置管理的工具。本文是对SRVCTL的所有命令进行详细说明的一篇参考文档。
5H_a7D_}_s_o_u0
_e-o"}_r_LM_Z_V7f0SRVCTL AddITPUB个人空间3D;j_r&o C_K_H
D%e6A_o
光良第一次下载ITPUB个人空间 @_r_e*@_X&u y:xg"|
添加数据库实例的配置信息。在增加实例中,与-i一起指定的名字应该与INSTANCE_NAME ORACLE_SID参数匹配。ITPUB个人空间 K_A7o_i4N_N*C/i_]
ITPUB个人空间:N_R2j_}_]_X.N_I
srvctl add database -d database_name [-m domain_name] -o oracle_home [-s spfile]ITPUB个人空间-J a } m(Y2\"X

"l&L7P_vZ8Y'Jk#Y0srvctl add instance -d database_name -i instance_name -n node_name
!P_y_B*Y;P_x_z_h [/]0ITPUB个人空间9S_r$?_W)I;Q_d&R
- SRVCTL Add命令详细选项ITPUB个人空间9|(]_d_l,L m_w
ITPUB个人空间8U_M q5n G __@7a_~:k)O

命令  选项ITPUB个人空间 K.K l_Y9L
ITPUB个人空间_j_a r P$j.t6c_A_t
-m  数据库域名 格式如"us.mydomain"
2Go
Y_v:{_c Y7N0ITPUB个人空间9Q|_N_c_u*q_e_P
-m 选项指定的数据库域名必须匹配数据库INIT.ORA或者SPFILEDB_DOMAIN DB_NAME参数。在增加数据库时,-d指定的数据库名必须与DB_NAME参数匹配
/Y_M.n_`_W.N0
"Z A/O_|-])y A a0-n  实例节点名
_Y_Q:V"\)W*O2i0
*v_A8[$E_S_N _9d8^0-o  $ORACLE_HOME(用来确定lsnrctlOracle等命令路径)
/Y n0x,m_c;I8a0ITPUB个人空间%J(W_h)f_ut)z_Z
-s  SPFILE 文件名ITPUB个人空间
i_R `%]_I^L
[_u

ITPUB个人空间-}4k%p Y___A_R#B_i
实例:添加一个新的数据库
,e_Q_Y9\__0K,X.l_\0ITPUB个人空间,j_N_}_n_[_h_W&q_x _
srvctl add database -d mydb -o /ora/ora
!E5j%W"w_f/T_F&u0ITPUB个人空间'u0O_Z_V_X'C_S$s M_x
实例:向数据库添加实例
J
J7N_u)l_@_]_Y_a$p_f0ITPUB个人空间2?_p_I_R9B_X
srvctl add instance -d mydb -i mydb0 -n gm0
'V/t_W7W#n,D _ S_d_Q_b0ITPUB个人空间K'P_g3?_N_f_T_w
srvctl add instance -d mydb -i mydb0 -n gm0ITPUB个人空间6p_S_e"z-T)|_C-x$y F
ITPUB个人空间_@;h7^1c+f&d-P$?
srvctl add instance -d mydb -i mydb0 -n gm0
_Z_w_A3C5H_P0
_O_@.q_B.^*H_@_\ p0
SRVCTL Config
2f_dM8}_F_?_D'x0
(|4M@_V~_|S_b/i7z P3h0显示保存在SRVM配置文件中的配置信息
_o_?_u_[_V_|,Ab4O_@0
_i_F_a2a_o_Z/e0srvctl config databaseITPUB个人空间_L_dO_q j _,A @
ITPUB个人空间,N U-y r/c+g!B_}
显示数据库配置列表
6v$__^7e)^t/E3Q_`/Z0ITPUB个人空间 y;q E3{/A
srvctl config database -d database_name
_p_LX_X_K"r(z/z;T S0ITPUB个人空间_E+l:p.z(h_X1G_\$E_R_?
数据库配置信息显示的格式:
Q!|,Y.]7[_K5H9e0ITPUB个人空间
f Z)q&gx_?/A.e_g
nodename instancename oraclehome
]_T_`_r_b}_G,J6K+P0ITPUB个人空间_u_X_o j6z CB
nodename instancename oraclehomeITPUB个人空间3}_P_^3o+@_A6i_H
  实例:显示数据库配置信息ITPUB个人空间__$P_?_@M
ITPUB个人空间#a9z_{#n6l7S O
srvctl config database -d mydb
"Y_} L j&F0ITPUB个人空间 m9}9x#\(K_[%_2s
SRVCTL Getenv
8p-e!f7j_E_n(j0
:[K$k_^_v_D_x__0getenv操作用来从SRVM配置文件中获取与显示环境变量ITPUB个人空间_G i_M ~$c)c+{_fH_L

%W#L_?*H0a4U_K+R0宋仲基宋慧乔离婚srvctl getenv database -d database_name [-t name[name……]]ITPUB个人空间 z w_k9lq

$x(WH)t,A)R_J0srvctl getenv instance -d database_name -i instance_name [-t name[name……]]
'x_E {7G_y8U0ITPUB个人空间_b'R_d_V'O)B&B_g_w
实例:列出数据库的所有环境变量ITPUB个人空间_Q f"{_n/|1{

_Q_{_H_`"M#M2l-h+u0srvctl getenv database -d mydb
_q_f5V#E*Zz0

_W_b p"ND&r#t_e0SRVCTL ModifyITPUB个人空间1Al'i5^:^9n_\
E_K
ITPUB个人空间_j_j_Z*l_S_v3N
修改实例的节点配置信息。这些修改会在程序下次重新启动后生效。修改后的信息将永久保存。
!L_B mf_a_I0ITPUB个人空间3i_w_T_B2R_b
srvctl modify instance -d database_name -i instance_name -n node_name
+I_w"V.} G(h_z0ITPUB个人空间_vm8[5p7d0H'c
实例:修改实例到另一个节点
;M!U_T3k n__5t0
)M_h/N_P7c_D&W3}0srvctl modify instance -d mydb -n my_new_node
_M$I_e_C_O.v_L_L2A0ITPUB个人空间_| i_LT_t_b8w j.b/|8w_h
SRVCTL Remove
_m,S_x_A4S!f#e_M(e u_e_?0
_}_U a3t M c0
这是用来删除SRVM库中配置信息的命令。对象相关的环境设置也同样删除。如果你未使用强制标志(-f),ORACLE将提示你确认是否删除。
  ITPUB个人空间_U+H_k_{_}
使用强制选项(-f),删除操作将不进行提示
_z0{_o/_%p_V_j_N[8v_D0ITPUB个人空间"k_R_[:M_L7s
srvctl remove database -d database_name [-f]
_{ P_F_a_|8h0
3C_s7{_V6a_q"^_^\(`0srvctl remove instance -d database_name -i instance_name [-f]ITPUB个人空间4T3{6y;V
J%o(x_@
ITPUB个人空间8I;x.G_}4mb_n9k__&~ P
SRVCTL Remove命令详细选项
)O:U/r N1h_J7@'g_n0ITPUB个人空间_j;T'^:G_v!F
-f 强制删除应用时不进行确认提示ITPUB个人空间1V_}_|_N_Fp
ITPUB个人空间9y_Q_`1Bl_t ^_[P_^
实例:删除数据库ITPUB个人空间_S_T5n_B,H_~


7c5{V.z!Y_}2o0srvctl remove database -d mydbITPUB个人空间_?_N @_U_w'`}

_@*N_M_O3y'I0实例:删除数据库实例ITPUB个人空间 ^6]2m;N_Z X:\
ITPUB个人空间_i_|'?-y_[
srvctl remove instance -d mydb -i mydb0ITPUB个人空间)f T5\_F'g/Q_E+I
ITPUB个人空间_E_d }_M)K&n B_b H_Z$F
srvctl remove instance -d mydb -i mydb0

z_n_N_w:x_i/d v_w0ITPUB个人空间_~ })P Y"TK%V x_Y3n
srvctl remove instance -d mydb -i mydb0
_} ?#M,e(Q6L_C h0
;p_P/h.UP9h__n{0SRVCTL SetenvITPUB个人空间!S_l_{_F2@_{

.~k/F_O!x0设置SRVM配置文件中的环境变量值。ITPUB个人空间_x_C#E_Y$[_d_j
ITPUB个人空间3v_O'o_OB_XZ'm_s

srvctl setenv database -d database_name -t name=value [name=value……]ITPUB个人空间 v_o_~/Q_\0Gr
ITPUB个人空间_L6D#B'f9b6x T
srvctl setenv instance -d database_name [-i instance_name] -t name=value [name=value……]ITPUB个人空间/L$~_R_[ h_h"d4~_F&B

_VD:d)s[8\-r_s n-Z9?_e0实例:设置数据库环境变量
 
3n:T3n_F1M+b___n_Y0srvctl setenv database -d mydb -t LANG=en
-q(j+b___N5@(K0
y/K6e;a_t*s n_T_r0SRVCTL Start
_n:?_z f:r_H_G_bL0ITPUB个人空间8V3g5D5s*F_X8G*a_L
启动数据库,所有实例或指定的实例,及启动所有相关未启动的监听。ITPUB个人空间:s H e)R_c J2F r F
ITPUB个人空间/B&Q_\5h_o#^_|_U:}$P(H*g
注:ITPUB个人空间;S(o |&B_D N7m
ITPUB个人空间"U#W2?_d_k_O_q

对于start命令和其它一些可以使用连接字符串的操作,如果你不提供连接字符串,那么ORACLE会使用"/ as sysdba"在实例上执行相关的操作。另外,要执行类似的操作,你必须是OSDBA组的成员。关于更多的OSDBA组权限信息,请参考ORACLEi 安装指南。
4V+u_E9W4r0
u_{x SZ0srvctl start database -d database_name [-o start_options] [-c connect_string]
_@"p ~_u N6x'Q J0
$ov9s_N_g i_K-t)c N0srvctl start instance -d database_name -i instance_name [我在身边instance_name-list] [-o start_options] [-c connect_string]
7{_j ~3c4W&q_}_F0ITPUB个人空间_K_U9\3X_Y_u%]
- SRVCTL Start命令详细选项ITPUB个人空间-D3N9\_X_P3p ^_j_R
ITPUB个人空间[ S#V;w_L-?+YS
命令  选项ITPUB个人空间_u_[_G"B4`,L$u1G8E

x5x&E*W@6`-z0-o  SQL*Plus直接传递的startup命令选项,可以包括PFILE
_U {P_s_B_bn_[0

_fO j!l_G9g0-c  使用SQL*Plus连接数据库实例的连接字符串ITPUB小沈阳否认与赵本山闹僵个人空间Z*m)O_{!b a
ITPUB个人空间b)?8f_g
\&@_h7U_~_G
实例:启动数据库及所有的实例
 
_R8F,v_R/]0srvctl start database -d mydb
-?_h8AS_M-V_@0ITPUB个人空间_G/t$i+|)U_S_g
实例:启动指定的实例ITPUB个人空间 D_F2C_h_D_g3t#i_c_s_A__*a
ITPUB个人空间%v_d2F_Mr_C
srvctl start instance -d mydb -i mydbmydbITPUB个人空间8I#V,j O/D_j#d

_T_B L/j ] z0SRVCTL StatusITPUB个人空间0~_so%_+O'C6r

4A'V_J;@_}m(P|0显示指定数据库的当前状态ITPUB个人空间 l*c_R,t&D_{$W
ITPUB个人空间7P_ds_x_DA6b

srvctl status database -d database_name
2g)k_\_Z-{_h0ITPUB个人空间N M_k_[_A,f_]
srvctl status instance -d database_name -i instance_name [instance_name-list]ITPUB个人空间_L4T"~ }_B_A_E_j

_Y3s7C/w_o3sb0实例:显示数据和所有实例状态ITPUB个人空间_O_m+Y D:R_B_R$\_K2[

_x0r,} W1F0srvctl status database -d mydb
C | [2N/^-s_m:Y0M_]0
#[%Z_t!i5e B_u0实例:显示指定实例的状态ITPUB李文慧 yellow个人空间$Z8T#L_X_k6N/o9{

$L)M_y%Z!y]_@0srvctl status instance -d mydb -i mydbmydbITPUB个人空间_Z_l VT;E_x:F_@
ITPUB个人空间_~ w#t_g_T_V1G(A7x
SRVCTL Stop
_m)b v P_Z3X4A%S4K0ITPUB个人空间;c_uV5d4\_P
停止数据库所有实例可者指定实例ITPUB个人空间_}!X }_n_T_f"w:| m:T

4@_e_g d0b4I_e0srvctl stop database -d database_name [-o stop_options] [-c connect_string]ITPUB个人空间+O!B6S_z&Ds3J_D

,`_X%j_X_M_@ L2f)p(}0srvctl stop instance -d database_name -i instance_name [instance_name_list] [-o stop_options][-c connect_string]ITPUB个人空间_k)C$P_F t_\_a0Hf

_K#H1L_L_B_F/w'P_W_k0- SRVCTL Stop命令详细选项
{_`(V_~(u.h }+m0ITPUB个人空间_g_l_x*@#R_} v
命令  选项
9]2a i.P1I_S_[!?_X_H0ITPUB个人空间7}_g Q_o_F4Q_K!a,m
-c  使用SQL*Plus连接数据库实例的连接字符串ITPUB个人空间 B i/U U2b_P_f_] k
ITPUB个人空间l_[_y g_\ n_f
-o  SQL*Plus直接传递的shutdown命令选项ITPUB个人空间l_I_v(n_c:A _ n

]5A5E [_@0
实例:停止数据库所有的实例
_HA_y4E_s_u_D&Z;t0ITPUB个人空间_^'z#C/BV N&o-Q,{_vU
srvctl stop database -d mydbITPUB个人空间_l_@.H s;L_o [+k
ITPUB个人空间4]0c!F_`D_t_[
实例:停止指定实例ITPUB个人空间!v
a;k&L_g

'X_K0@ u8N4q_}"K0srvctl stop instance -d mydb -i mydbITPUB个人空间(T2} e_~_z*Y"{
ITPUB个人空间%s_f)Y ^(z C6P p8U
SRVCTL Unsetenv
J_p_~0M!H!Z_@2F;@_M_M0ITPUB个人空间_F_m_a_@_p$G_G s"Y&~
取消SRVM配置文件中环境变量定义值
_o"m l_W8]:U0ITPUB个人空间_t_d_Znci_w#|
srvctl unsetenv database -d database_name-t name[name……]ITPUB个人空间_Mr_W ~_p'x_?;n__

g_v_b_uc_T_s*Z0
srvctl unsetenv instance -d database_name[-i instance_name] -t name[name……]
.p J_I'q4f8]0ITPUB个人空间_M_b.O ~0e p
实例:取消环境变量,回到缺省值
m_?_t/g#g_?+x0
-a_V0|_J_D z_y,q_n0srvctl unsetenv database -d mydb -t CLASSPATHITPUB个人空间6^9C%u_s_b_k_s

*a'z%g_L_u_m0使用SRVCONFIG导入和导出RAW设备配置信息
_{_v2f `,}_W#W.X_f0
_U2k$T*l_o_Q L0你可使用SRVCONFIG导入和导出RAW设备配置信息,不管配置文件是在集文件系统上还是在RAW设备上。你可以使用这种方法来备份与恢复SRVM配置信息。
_b!Z_h_b+x0
w7H_d4s_g_w_N_t0例如:
3v7`/t/D___x_|L0
_b
y4W*h_S+K__4F v0下面的命令用来导出配置信息的内容到你指定文件名的文本文件中。ITPUB个人空间_F q_^3\+w N_}_[_k_L*y


_g_`i_@
a7D_I0srvconfig -exp file_name
1`;c$L/}_]5C0ITPUB个人空间/Ft$o F9C_J_u2P_i
下面的命令用来从指定文本文件中导入配置信息到到你运行命令的RAC环境配置信息库。
'`_y_P_t$Y M_P#]_O0
_K_S_F%v_e_I_M*z-J0srvconfig -imp file_name