使用EXCLUSIVE表示只有当前INSTANCE使用这个password文件而且允许有别的用户作为sysdba登录进系统里边而若选择了SHARED则表明不止一个实例使用这个密码文件伴随着一个很强的约束sysdba权限只能授予sys和internal这两个用户名
用SQL*Plus或SERVER MANAGER运行下面命令登录进系统CONNECT INTERNAL/密码
注意点
当选择密码文件认证方式时可以再向系统中加入其他超级用户比如用以下语句把用户SCOTT加入超级用户之中(由具有sysdba权限的人执行)
SQL>GRANT SYSDBA TO SCOTT;这样SCOTT用户就具有了sysdba权限注意此时SCOTT用户可以以两种身份登录SCOTT SYS当SCOTT在登录时没有输入AS SYSDBA时SCOTT是作为普通用户登录的而当登录时输入了AS SYSDBA时此时SCOTT登录进去的用户实际上为sys
当前系统中的具有sysdba权限的用户名可以从数据字典视图v$pwfile_user中查询得到
SELECT * FROM V$PWFILE_USERS;
系统中最大的具有sysdba权限的用户数由创建密码文件时的ENTRIES参数决定当需要创建更多的具有sysdba权限的用户时就需要删除原有的密码文件重新创建一个在entries中输入足够大的数目再启动Oracle这时所有原来被授权的超级用户都不再存在需要重新授权所以在重新创建密码文件前先要查询该视图记下用户名再在创建完密码文件后重新授权
运行orapwd时一定要在数据库关闭的情况下且最好先备份原来的密码文件在数据库运行时执行orapwd将不能远程以sysdba登录数据库因为此时v$pwfile_user中具有sysdba权限的用户的记录已清空
选择password文件认证方式时如以oracle用户(属于dba组)在数据库所在主机运行connect internal或connect / as sysbda也不需口令connect a/a as sysdba即使用户a不存在也可登录数据库因为这时还是采用操作系统认证
Internal用户密码忘记的处理方法
有两种办法
ALTER USER SYS IDENTIFIED BY新密码;//这同时也改变了Internal的密码在OracleI中通过
重新创建一个新的密码文件指定一个新的密码
[] []