1 概述
在ORACLE中有种特殊级别权限——sysdba权限sysdba权限拥有ORACLE系统最高权限有打开数据库、关闭数据库、恢复数据库等高级权限我们在工程安装和日常维护中经常涉及到sys用户就有sysdba权限sysdba是管理oracle例子它存在不依赖于整个数据库完全启动只要例子启动了他就已经存在以sysdba身份登陆装载数据库、打开数据库只有数据库打开了或者说整个数据库完全启动后dba角色才有了存在基础
Sysdba用户有两种认证方式:操作系统认证和密码文件认证本文主要阐述是sysdba权限区别认证方式含义和配置介绍说明
2 Sysdba登陆方式
6种登陆思路方法(采用操作系统认证):
1. sys/www as sysdba
2. sys / as sysdba
3. sys as sysdba
4. / as sysdba
5. sqlplus /as sysdba
6. sqlplus /nolog
前4种是在SQL*PLUS登陆框用户名栏目中输入后2种是DOS环境下直接输入
3 查看具有sysdba权限用户
以sys用户登陆Oracle执行select * from V_$PWFILE_USERS;可查询到如下结果:
SQL> select * from V_$PWFILE_USERS;
USERNAME SYSDBA SYSOPER
------------------------------ ------ -------
SYS TRUE TRUE
(何为sysoper权限:SYSOPER特权也是Oracle数据库种特殊权限当用户具有该特权时可以启动数据库关闭数据库但是不能建立数据库也不能执行不完全恢复这也是和SYSDBA最大区别另外也不具有DBA角色任何权限建立了Oracle数据库后默认情况下只有SYS用户具有SYSOPER特权需要注意是如果要以SYSOPER身份登陆要求OS用户必须具有OSOPER角色(Windows平台:ORA_OPER角色)当以SYSOPER身份登陆时必须带有AS SYSOPER选项)
4 相关参数含义
(Sysdba权限认证过程主要涉及ORACLE中相关参数和配置文件介绍说明如下
4.1 SQLNET.AUTHENTICATION_SERVICES
该参数在$ORACLE_HOME/NETWORK/ADMIN/sqlnet.ora目录下 是ORACLE网络配置文件SQLNET.AUTHENTICATION_SERVICES参数可以通常设置为:
■ NONE 采用密码文件认证方式需要输入用户名称和密码
■ NTS 采用WINDOWS安全认证方式(WINDOWS专用);
■ ALL 可以采用密码和操作系统认证方式
4.2 remote_login_passwordfile
该参数可以设置为:
■ NONE 采用操作系统方式认证不需要用户名称密码;
■ EXCLUSIVE 采用密码文件方式认证且密码文件只能被个例子使用;
■ SHARED 采用密码文件方式认证 密码文件可以被多个例子使用;
(注意:如果密码文件被多个例子使用密码文件名称为去掉sid后文件名称如pwd.ora)
5 各种认证设置过程
要由于windows和UNIX平台下设置不尽相同下面分别进行阐述:
5.1 WINDOWS下设置:
5.1.1 操作系统认证设置步骤:
■目前登陆操作系统用户属于ora_dba组般在安装ORACLE时候创建;
■ Sqlnet.ora文件中设置需要设置SQLNET.AUTHENTICATION_SERVICES= (NTS)表示通过NT进行认证;
■ ORACLE参数文件中:remote_login_passwordfile(可以设置为NONE,EXCLUSIVE,SHARED)操作系统认证时候可以随便设置
5.1.2 通过密码文件进行认证设置步骤:
■ 密码文件路径在$ORACLE_HOME/DATABASE/PWDSID.ORA,SID为实际数据库SID;
■ Sqlnet.ora文件中设置 SQLNET.AUTHENTICATION_SERVICES可以不用设置可以注释掉,如果只想用密码认证需要设置为NONE;
■ ORACLE参数文件中参数:remote_login_passwordfile必须设置为EXCLUSIVE,SHARED.
5.2 UNIX下认证
5.2.1 通过操作系统认证设置:
■ 目前登陆操作系统用户属于dba组般在安装ORACLE时候建立;
■ Sqlnet.ora文件可以设置为默认不管但是不能设置为NONE
■ ORACLE参数文件中:remote_login_passwordfile(可以设置未NONE,EXCLUSIVE,SHARED)操作系统认证时候可以随便设置
5.2.2 通过密码文件进行认证:
■密码文件路径在$ORACLE_HOME/dbs/orapwsid,SID为实际数据库SID;
■ Sqlnet.ora文件不需要设置
■ RACLE参数文件中参数:remote_login_passwordfile必须设置为EXCLUSIVE,SHARED.)
(注意:不管怎样如果remote_login_passwordfile设置为exclusive,shared数据库启动过程会查找密码文件设置为none不需要)
6 重建密码文件
般在sys用户密码丢失或者想增加sysdba权限用户个数时候需要重新创建密码文件
创建密码文件命令和解释
orapwd file=filename password=sys用户密码 entries=entries.
■ File 为密码文件名称可以指定路径也可以不指定路径不指定路径情况windows下该密码文件路径为:$ORACLE_HOME\DATABASE\pwdsid.ora,unix下路径为:$ORACLE_HOME/dbs/orapwsid (sid为例子名)该参数必须输入;
■ Password 为该用户密码该参数必须输入;
■ Entries表示最大允许超级用户个数该参数为可选参数按自己需要输入
Example:orapwd file=orapwora92 password=manager entries=3
最新评论