a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 76|回复: 0

[考试辅导] Oracle技术:OracleSysdba权限认证管理

[复制链接]
发表于 2012-8-4 14:06:19 | 显示全部楼层 |阅读模式
1 概述
" |6 }9 }7 ?' v6 L  在ORACLE中有一种特殊级别权限——sysdba权限,sysdba权限拥有ORACLE系统的最高权限,有打开数据库、关闭数据库、恢复数据库等高级权限,我们在工程安装和日常维护中经常涉及到的sys用户就有sysdba权限。sysdba是管理oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,他就已经存在。以sysdba身份登陆,装载数据库、打开数据库。只有数据库打开了,或者说整个数据库完全启动后,dba角色才有了存在的基础。
. Z7 P" [# k6 |+ q  _; ?  Sysdba用户有两种认证方式:操作系统认证和密码文件认证,本文主要阐述的是sysdba权限不同认证方式的含义和配置说明。
5 l) c; [+ _3 V9 |, v  2 Sysdba登陆方式
/ w2 u4 y2 x" q2 N  S- e  六种登陆方法(采用操作系统认证):
6 w$ J7 L1 {1 M2 C" M9 Z  1. sys/www as sysdba
( _# k4 L# j6 G% t: }! ~9 t  2. sys / as sysdba
) Y$ L2 m' x1 `4 G% M+ g$ P6 y; o& R" U  3. sys as sysdba. P& R- r* _- \! j$ `6 b
  4. / as sysdba
7 m& B$ a# M1 y; i( b5 W  5. sqlplus /as sysdba
4 u( x9 Z7 E9 `  6. sqlplus /nolog
( k2 b, m0 s1 N% e7 q9 T4 y  前4种是在SQL*PLUS登陆框的用户名栏目中输入,后2种是DOS环境下直接输入。
3 L4 b1 S+ b" m- \, N  3 查看具有sysdba权限的用户
0 w4 P) m. b* A% [; k3 w  以sys用户登陆Oracle,执行select * from V_$PWFILE_USERS;可查询到如下结果:( ^# B5 o, f* N2 H
   SQL> select * from V_$PWFILE_USERS; * F/ N( \6 c  p6 {
  USERNAME SYSDBA SYSOPER
# M) }( J* c: x9 q  SYS TRUE TRUE
2 {1 {& i% L. {8 k& x  (何为sysoper权限:SYSOPER特权也是Oracle数据库的一种特殊权限。当用户具有该特权时,可以启动数据库,关闭数据库,但是不能建立数据库,也不能执行不完全恢复,这也是和SYSDBA的最大区别,另外,也不具有DBA角色的任何权限。建立了Oracle数据库后,默认情况下只有SYS用户具有SYSOPER特权。需要注意的是,如果要以SYSOPER身份登陆,要求OS用户必须具有OSOPER角色(Windows平台:ORA_OPER角色),当以SYSOPER身份登陆时,必须带有AS SYSOPER选项。)
* ]  N0 F: E  Z+ }! K& K( q& @" ]  4 相关参数含义# {% G! d9 U! ~# K, L
  (Sysdba权限认证过程主要涉及ORACLE中的相关参数和配置文件说明如下
$ }6 y) t" D2 Z1 g/ `& {+ M  4.1 SQLNET.AUTHENTICATION_SERVICES3 e. m/ l, W1 ^5 O
  该参数在$ORACLE_HOME/NETWORK/ADMIN/sqlnet.ora目录下, 是ORACLE的网络配置文件,SQLNET.AUTHENTICATION_SERVICES参数可以通常设置为:
) P) A( T" [* {' ~! _" i  ■ NONE 采用密码文件认证方式,需要输入用户名称和密码。
1 P! A+ ]2 r, D% D) O  ■ NTS 采用WINDOWS的安全认证方式(WINDOWS专用);
" W+ b0 L$ q9 A& e  ■ ALL 可以采用密码和操作系统认证方式。! ^' C' s) H9 v4 O9 @/ o5 A* w4 g
  4.2 remote_login_passwordfile/ N  M# X5 T' g" [+ _' Y1 [
  该参数可以设置为:+ }5 C; d- b& X- V! J+ A) Y
  ■ NONE 采用操作系统方式认证,不需要用户名称密码;
$ |2 c$ z4 s$ k; D0 x% [* v  ■ EXCLUSIVE 采用密码文件方式认证,且密码文件只能被一个实例使用;
. C& {/ s, f6 n1 o! y2 f( r  ■ SHARED 采用密码文件方式认证, 密码文件可以被多个实例使用;
1 B6 M# H) _2 s% p  (注意:如果密码文件被多个实例使用,密码文件的名称为去掉sid后的文件名称如pwd.ora)& e& W) k0 R3 x2 P" v: \8 x
  5 各种认证的设置过程1 [: T) L' Q. U0 P
  要由于windows和UNIX平台下的设置不尽相同,下面分别进行阐述:
# N, G- G2 E( s2 X$ |) n5 J  5.1 WINDOWS下的设置:
: a1 Q; B1 }7 G7 b# G& B1 t6 x  5.1.1 操作系统认证设置步骤:
' N5 }  r1 [7 m1 X# j" D  ■目前登陆的操作系统用户属于ora_dba组,一般在安装ORACLE时候创建;
# e( x& T  t4 P2 |8 C% o2 j4 p# L; ]% m  ■ Sqlnet.ora文件中的设置,需要设置SQLNET.AUTHENTICATION_SERVICES= (NTS),表示通过NT进行认证;
) y* s, s2 S' a, R" ~  X: E. x  ■ ORACLE参数文件中:remote_login_passwordfile(可以设置为NONE,EXCLUSIVE,SHARED),操作系统认证时候,可以随便设置。
( b' j5 Y1 J! B! Q, \  5.1.2 通过密码文件进行认证设置步骤:( C4 E: M' A' [* L4 |- r0 N+ a
  ■ 密码文件的路径在$ORACLE_HOME/DATABASE/PWDSID.ORA,SID为实际的数据库SID;% z) w" m' F0 T6 ^- A- g
  ■ Sqlnet.ora文件中的设置, SQLNET.AUTHENTICATION_SERVICES可以不用设置,可以注释掉,如果只想用密码认证需要设置为NONE;, P; m: U0 {5 e4 s: {) E
  ■ ORACLE参数文件中参数:remote_login_passwordfile,必须设置为EXCLUSIVE,SHARED.& e0 k' u* O1 J
  5.2 UNIX下的认证! r; E. g' g* H+ P8 l
  5.2.1 通过操作系统认证设置:
* o. a: U9 R  T) V: e  ■ 目前登陆的操作系统用户属于dba组,一般在安装ORACLE时候建立;* d. P; D% c+ ^( n
  ■ Sqlnet.ora文件可以设置为默认不管,但是不能设置为NONE。, _$ L! [7 H. x( L$ l0 A; U) p
  ■ ORACLE参数文件中:remote_login_passwordfile(可以设置未NONE,EXCLUSIVE,SHARED),操作系统认证时候,可以随便设置。
0 u; k2 u% `  X$ C5 _  5.2.2 通过密码文件进行认证:6 _" ?+ n8 y0 X9 W: N: z7 _. j
  ■密码文件的路径在$ORACLE_HOME/dbs/orapwsid,SID为实际的数据库SID;% t8 R$ r7 o6 y# ]
  ■ Sqlnet.ora文件不需要设置。5 D6 E7 r+ g3 r! m* {. Q+ z
  ■ RACLE参数文件中参数:remote_login_passwordfile,必须设置为EXCLUSIVE,SHARED.)
2 K& ?6 s( M' R4 D, n7 e  (注意:不管怎样如果remote_login_passwordfile设置为exclusive,shared数据库启动过程会查找密码文件,设置为none不需要)
2 {; X" Y2 k7 c$ A. b- C* V  6 重建密码文件& N: M. L7 j  C, y
  一般在sys用户的密码丢失或者想增加sysdba权限用户的个数的时候,需要重新创建密码文件。
1 l: U9 Y; F' P$ e* p  创建密码文件命令和解释
8 K7 v1 P: a8 g  orapwd file=filename password=sys用户密码 entries=entries.
+ C; Y+ N  f3 k- l7 G  ■ File 为密码文件的名称,可以指定路径,也可以不指定路径,不指定路径的情况,windows下该密码文件的路径为:$ORACLE_HOME\DATABASE\pwdsid.ora,unix下的路径为:$ORACLE_HOME/dbs/orapwsid (sid为实例名),该参数必须输入;
$ R6 k7 z6 Z& H; }8 J  W' t  ■ Password 为该用户的密码,该参数必须输入;+ A7 j6 M: \7 M( d8 l
  ■ Entries表示最大允许的超级用户的个数,该参数为可选参数,按自己的需要输入。+ R/ I1 X+ y* \) X3 h. v
  Example:orapwd file=orapwora92 password=manager entries=3。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-5 20:26 , Processed in 0.259186 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表