数据库管理员DBA通常执行一些特殊 *** 作,如打开与关闭数据库。这些管理 *** 作需要通过两个特殊的系统权限执行:SYSDBA和SYSOPER。
以SYSDBA或SYSOPER权限连接时,连接的是一个默认模式,而不是与当前用户的模式。对于SYSDBA,模式为SYS;对于SYSOPER,模式为PUBliC。
sql> conn scott/tiger as sysdba;
Connected.
sql> show user
USER is "SYS"
l *** 作系统OS认证l 口令文件认证
执行远程数据库管理,需要注意大多数流行的连接协议,如TCP/IP和DECnet,是不安全的。因此需要使用口令文件认证。
1、 *** 作系统OS认证
首先,需要一个 *** 作系统用户,属于OSDBA或OSOPER组。在windows下,组名称分别为ORA_DBA和ORA_OPER,在“计算机管理”下的“本地用户和组”中可以看到;在Unix下,组名称分别为dba和oper。
设置文件sqlnet.ora。默认位置为%ORACLE_HOME%/network/admin (windows),$ORACLE_HOME/network/admin (Unix)。
sqlNET.AUTHENTICATION_SERVICES= (NTS) (windows)
sqlNET.AUTHENTICATION_SERVICES= (ALL) (Unix)
设置初始化参数:REMOTE_LOGIN_PASSWORDfile=NONE。
可以根据SPfile生成文本参数文件,然后修改文本文件,再生成SPfile。
sql> create pfile from spfile;
编辑文本参数文件。关闭数据库。
sql> shutdown immediate;
sql> create spfile from pfile;
sql> startup;
测试,不需要密码即可登陆。
sql> conn / as sysdba;
sql> conn sys/whatever as sysdba; //随便什么口令,不输入也可以
注:此时远程连接不能使用OS认证,但我在VMWARE中创建的两个windows Server2003却可以远程连接。
sql> conn /@primary as sysdba
Connected.
其中primary为连接字符串。
使用另一台物理机连接时(TCP/IP),出现以下错误:
sql> conn /@primary as sysdba
ERROR:
ORA-01031:insuffIEnt privileges
此时,远程管理需要使用口令文件。
2、口令文件认证
首先,使用ORAPWD工具创建口令文件。
orapwd file=’C:/oracle/product/10.1.0/Db_1/database’ password=oracle entrIEs=20
设置初始化参数:REMOTE_LOGIN_PASSWORDfile=EXCLUSIVE。方法参见前文。
将超级用户权限SYSDBA和SYSOPER授予其他用户。
sql> grant sysdba to scott;
sql> select * from v$pwfile_users;
USERname SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
SCott TRUE FALSE
为了测试效果,可以先禁用 *** 作系统认证方式。编辑sqlnet.ora文件:
sqlNET.AUTHENTICATION_SERVICES= (NONE)
测试,本地连接方式:
sql> conn sys/whatever as sysdba // *** 作系统认证方式被禁用
ERROR:
ORA-01017: invalID username/password; logon denIEd
Warning: You are no longer connected to ORACLE.
sql> conn sys/oracle as sysdba //口令文件认证
Connected.
sql> conn scott/tiger as sysdba; //注意登录用户为SYS
Connected.
sql> show user
USER is "SYS"
测试,远程连接方式:
sql> conn sys/oracle@primary as sysdba
Connected.
sql> conn scott/tiger@primary as sysdba
Connected.
sql> show user
USER is "SYS"
sql> conn scott/tiger@primary //以scott登录
Connected.
sql> show user
USER is "SCott"
总结以上是内存溢出为你收集整理的Oracle管理员认证方式全部内容,希望文章能够帮你解决Oracle管理员认证方式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)