</p> 三、 向密码文件中增加、删除用户:
7 ~' E( t' W) m) r9 w+ g/ l* a$ G 当初始化参数REMOTE_LOGIN_PASSWORDFILE设置为EXCLUSIVE时,系统允许除INTERNAL/SYS以外的其他用户以管理员身份从远端或本机登录到Oracle数据库系统,执行数据库管理工作;这些用户名必须存在于密码文件中,系统才能识别他们。由于不管是在创建数据库实例时自动创建的密码文件,还是使用工具ORAPWD.EXE手工创建的密码文件,都只包含INTERNAL/SYS用户的信息;为此,在实际操作中,可能需要向密码文件添加或删除其他用户帐号。4 D+ F1 m! J, q- A
由于仅被授予SYSOPER/SYSDBA系统权限的用户才存在于密码文件中,所以当向某一用户授予或收回SYSOPER/SYSDBA系统权限时,他们的帐号也将相应地被加入到密码文件或从密码文件中删除。由此,向密码文件中增加或删除某一用户,实际上也就是对某一用户授予或收回SYSOPER/SYSDBA系统权限。, e) E, v, f& R
要进行此项授权操作,需使用SYSDBA权限(或INTERNAL帐号)连入数据库,且初始化参数REMOTE_LOGIN_PASSWORDFILE的设置必须为EXCLUSIVE。具体操作步骤如下:
7 P* Q5 z: ^3 T2 ?) o9 ^! X ^, J 创建相应的密码文件;' p2 Q$ P$ ?! e- N
设置初始化参数REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE;
# O* |; R1 N- u6 m! z1 O 使用SYSDBA权限登录: CONNECT SYS/internal_user_passsword AS SYSDBA;
. Y8 O" a1 Z6 q3 T 启动数据库实例并打开数据库;
9 ^+ {9 Z9 f) z) X" Z$ B1 U" P 创建相应用户帐号,对其授权(包括SYSOPER和SYSDBA): 授予权限:GRANT SYSDBA TO user_name;3 y$ b9 M' R+ t8 S# v3 N
收回权限:REVOKE SYSDBA FROM user_name;3 P6 X. O6 N n! q. w/ h% I
现在这些用户可以以管理员身份登录数据库系统了;
: e8 }- _+ x! H/ {/ k' \ 四、 使用密码文件登录:$ g( R2 J8 O. r5 o2 w; M: a
有了密码文件后,用户就可以使用密码文件以SYSOPER/SYSDBA权限登录Oracle数据库实例了,注意初始化参数REMOTE_LOGIN_PASSWORDFILE应设置为EXCLUSIVE或SHARED。任何用户以SYSOPER/SYSDBA的权限登录后,将位于SYS用户的Schema之下,以下为两个登录的例子:5 `6 ]7 l: a8 f% b0 x
1. 以管理员身份登录:# k3 C/ G& _6 W5 O4 n1 F' i9 m
假设用户scott已被授予SYSDBA权限,则他可以使用以下命令登录:& w8 o6 l/ W) L8 F3 Q
CONNECT scott/tiger AS SYSDBA% J. H. g. Y$ C/ e' B3 e: Q
2. 以INTERNAL身份登录:
4 S' O7 ~1 n X: a" s+ i& m# U2 Q7 W4 g# f m$ z) X
CONNECT INTERNAL/INTERNAL_PASSWORD |