oracle的三种密码验证机制以及在windows和linux下的不同启动过程

oracle数据库的密码验证机制:

① 操作系统验证
拥有SYSDBA和SYSOPER的用户用该方式验证
此时数据库无需启动,也无需开启监听和实例服务。

要求:本地组ora_dba中有该操作系统的登录用户
如果从改组中删除登录用户 就不能用 sqlplus / as sysdba了
只能用 sqlplus 正确的用户名/正确的密码 as sysdba 登录[转为密码文件验证]

 

② 密码文件验证
拥有SYSDBA和SYSOPER的用户用该方式验证
此时数据库无需启动,也无需开启监听和实例服务。

密码文件:ORACLE_HOME\database\PWDYEQING
如果此时不能通过①验证,而密码文件也损坏了。那么可以使用如下命令重新生成文件

orapwd file=c:\ORACLE_HOME\database\PWDyeqing.ora password=123456 entries=10 force=y;
file:创建目录
用户名默认为sys 可以不写 
password:密码
entries:特权用户的个数
force:强制覆盖已有文件

这时通过 sqlplus sys/123456 as sysdba 登录

 

③ 数据库验证
启动数据库后,输入数据库中已经存在的用户名和密码验证。
一般都是无SYSDBA和SYSOPER权限的用户用该方式验证。普通用户的验证方式。

 

④ linux下oracle的启动过程:

sys用户
1、启动监听服务
lsnrctl start

2、将登录信息传递给监听器
sqlplus sys/syspwd as sysdba
这时一看是 as sysdba,就不会将数据传给数据库验证,而是将其传给操作系统或者密码文件验证。
验证通过

3、启动数据库实例
startup

4、再进行普通用户登录
sqlplus lisi/lisi
如果是监听和实例未启动的时候,一开始就用lisi登录,是登录不上的。

备注:
1、如果oracle的服务是自启动的,那么一开始用sqlplus lisi/lisi也是可以的。因为服务已经是自启动的了。
2、如果是oracle8或者oracle9版本的,那么只能以如下步骤启动
lsnrctl start
sqlplus /nolog
conn sys/syspwd as sysdba
startup
sqlplus lisi/lisi


⑤ windows 下oracle的启动过程
lsnrctl start
oradim -start -sid yeqing

 

你可能感兴趣的:(windows)