oracle登录验证方式(Authentication Methods):
管理员用户sysdba,sysoper可以通过口令文件登录db,启动db。
1:如果是本地登录的话(secureCRT远程登录到linux也属于本地登录),可以有两种验证方式:
一个是操作系统验证(os)。一个是口令文件验证(口令文件位置为:$ORACLE_HOME/dbs/orapwORACLE_SID)
(1):操作系统验证即是使用oracle用户登录,此时不需要密码,只要如下:
#sqlplus /nolog 然后 sql>conn / as sysdba 然后sql>startuop --即可以启动数据库。
(2):如果不是oracle用户登录的话,比如说用wilson用户登录,因为wilson不是dba组的,所有想连接oracle数据库得通过口令文件验证方式登录数据库,如下:
设置两个变量:
#export ORACLE_HOME=...(写oracle用户下设置的$ORACLE_HOME变量)
#export ORACLE_SID=...(写oracle用户下设置的$ORACLE_SID变量)
# /u01/oracle/bin/sqlplus /nolog --当上面两个变量设置完成后(不直接输入sqlplus是因为此用户没有sqlplus命令的执行权限??)
sql> conn / as sysdba --此时会报权限不够(insufficient privileges),因为需要走口令文件验证。
sql> conn sys/123 as sysdba--输入错误的密码,也是报上面错误。
sql>conn sys/oracle as sysdba --只有输入口令文件中存在的dba用户和正确的密码,才会连接到oracle,然后即可以启动数据库。
Connected to an idle instance--有连接到空闲instance的提示,证明此时已经通过口令文件的验证方式连接到了空闲实例。
2:如果是远程登录的话,也可以通过os或者orapwORACLE_SID口令进行验证。
远程客户端连接服务器数据库时,数据库必须启动监听:
#lisrctl start --启动监听。
客户端方面也要有tnsnames文件的配置
(2.1)连接可以用tcp(不安全的,明文传送)或者tcps(安全的)),如果是tcp的话即是不安全连接一定会走口令文件验证。
cmd远程sqlplus连接如下:
(1)sqlplus sys/oracle@ORCL1 as sysdba --ORCL1是tnsnames文件中配置的连接字符
(2)sqlplus sys/oracle@远程服务器ip:端口号(默认是1521)/service_name(??) as sysdba --??是不确定具体描述。
3:口令文件的创建:
$orapwd file=$ORACLE_HOME/dbs/orapwORACLE_SID password=oracle entries=5(entries是最多可以存放的用户数量)
注意要在参数文件中设置:remote_login_passwordfile=exclusive.--(才支持口令文件验证)。
然后可以通过grant sysdba to yonghu;--给用户授权添加到orapw中
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29117696/viewspace-1073661/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29117696/viewspace-1073661/