sysdba权限的管理[2]
使用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 sy *** da也不需口令 connect a/a as sysdba即使用户a不存在也可登录数据库 因为这时还是采用操作系统认证
Internal用户密码忘记的处理方法
有两种办法
ALTER USER SYS IDENTIFIED BY新密码;//这同时也改变了Internal的密码 在Oracle I中通过
重新创建一个新的密码文件 指定一个新的密码
lishixinzhi/Article/program/SQL/201311/16312