选择当前操作的实例:
Solaris:
% setenv ORACLE_SID SAL1
% setenv ORACLE_HOME /u01/app/oracle/product/10.1.0/db_1
% setenv LD_LIBRARY_PATH /usr/lib:/usr/dt/lib:/usr/openwin/lib:/usr/ccs/lib
Windows:
SET ORACLE_SID=SAL1
识别数据库软件的版本:
10.2.0.3.0
第一位:Major Database Release Number
第二位:Database Maintenance Release Number
第三位:Application Server Release Number
第四位:Component-Specific Release Number
第五位:Platform-Specific Release Number
可以查询PRODUCT_COMPONENT_VERSION或V$VERSION获取数据库的版本信息
数据库管理员的安全性
建立完数据库后建议再创建一个用户日常管理工作的用户,并赋予适当的权限,不要直接使用sys和system
注意:Sys用户和system用户在创建之处均被赋予了dba角色,而dba角色是不包含sysdbahe sysoper这两个特权的
数据库管理员的认证
1、 Sysdba和sysoper特权允许在数据库未打开的情况下也能访问数据库实例,这两个特权的控制已经超出了数据库本身
2、 Sysdba和sysoper主要区别在于sysoper不能访问用户数据表中的数据,而sysdba可以
3、 注意:当以sysdba或sysoper连接时,会话的当前用户不再是命令行指定的用户,而是被转为一个专用的模式;对于sysdba连接是sys模式,而sysoper是public模式!
4、 有两种认证方式:操作系统认证和密码文件认证
5、 使用操作系统认证:
对于操作系统认证,用户必须隶属于以下几个组之一:
Operating System Group UNIX User Group Windows User Group
OSDBA dba ORA_DBA
OSOPER oper ORA_OPER
通过以下命令指定以“操作系统人在那个方式”连接数据库:
Connect / as sysdba 或
Connect / as sysoper
如果当前用户不属于以上的操作系统组,那么系统晖提示出错!
6、 使用密码文件认证:
Ø 使用以下命令创建密码文件:;
ORAPWD FILE=filename PASSWORD=password ENTRIES=max_users
Ø 将“REMOTE_LOGIN_PASSWORDFILE”这个初始化参数设为“EXCLUSIVE”
Ø 使用create user命令创建用户
Ø 使用GRANT SYSDBA to <newuser> 命令给新建用户sysdba特权
Ø 运行“CONNECT <newuser>/<userpass> AS SYSDBA”以sysdba特权连接数据库
创建和管理密码文件
1、 使用orapwd
Orapwd命令中指定的password是为sys用户设置的,当使用alter user命令改变sys用户的密码时,密码文件和数据库字典中的密码均会更改为新的密码(注意:当“REMOTE_LOGIN_PASSWORDFILE”的值为“SHARED”时,你不能更改sys用户的密码)
2、 关于“REMOTE_LOGIN_ PASSWORDFILE”初始化参数
有以下几个可以设置的参数值:
u NONE:忽略密码文件,即不可以通过密码文件来以sysdba或sysoper特权登录数据库
u EXCLUSIVE(默认值):允许增加、修改、删除用户或者改变sys用户的密码
u SHARED:密码文件不可变更,即不可新增用户或改变sys的密码
注意:如果“REMOTE_LOGIN_ PASSWORDFILE”被设置为“EXCLUSIVE”或“SHARED”而对应的密码文件又不存在,则等同于将“REMOTE_LOGIN_ PASSWORDFILE”设置为“NONE”
3、 在密码文件中新增用户
当给某个用户赋予sysdba或sysoper特权时,会将该用户名和对应的权限记入密码文件中,只要该用户留有sysdba或sysoper特权中的一个,就不会从密码文件中删除,直至取消了全部的两个特权
注意:使用alter user更改拥有sysdba或sysoper特权用户的密码也同时会修改密码文件中该用户的密码
查询试图“V$PWFILE_USERS”可以获取当前有哪些用户被赋予了这两个特权
4、 维护密码文件
替换密码文件的过程:
Ø 查询“V$PWFILE_USERS”记录已被赋予了sysdba或sysoper特权的用户
Ø 删除密码文件
Ø 使用ORAPWD新建密码文件
Ø 使用grant命令新增其他用户
删除密码文件:
删除密码文件后,只能通过操作系统认证的方式才能以sysdba或sysoper特权连接
删除用户:
Revoke sysdba from <user1>
Revoke sysoper from <user1>