oracle 切换用户操作--or--sys用户密码忘记
1、sqlplus中以普通用户登录oracle后,
普通用户的登录方式:
sqlplus /nolog
conn 用户名/密码@IP地址/orcl:1521;
这个时候,想要切换sys用户,conn sys/密码@实例名 as sysdba; 执行这个命令切换到sys用户。 -----默认的sys用户的密码为change_on_install,system的密码为:manager
2、创建用户,在sys用户下,执行
CREATE user test identified by test;
3、授权
grant connect,resource,dba to test; ---注意:这里dba权限是针对dba管理员用户的,平时给普通用户赋权的时候,一般conn,resource权限日常就够了,包括测试人员和开发人员!!!
4. 如果忘记了sys或者system的密码:
system默认密码:manager
sys默认密码:change_on_install
使用SQL Plus登录数据库时,system使用密码manager可直接登录。
但如果是sys用户,密码必须加上as sysdba,即登录时完整密码为:change_on_install as sysdba
如果要修改密码:
在数据库服务器本地,sqlplus / as sysdba;连接数据库,然后执行:
alter user system identified by 新的密码;
用户已更改。
SQL> alter user sys identified by 新的密码;
用户已更改。
如果用户状态是锁定的需要给用户解锁:
alter user system account unlock;
5. 客户端如何连接远程数据库服务器的sys用户:
默认情况下oracle 11g r2是不允许客户端远程以sys用户登录的,除非你是远程直接连的数据库服务器操作系统,然后切换到oracle用户下,sqlplus / as sysda登录;
那么客户端如何实现远程可以直接连接数据库的sys or system用户呢?
alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile;
这个修改完了,因为是静态参数,要重启一下数据库才会生效!
然后:
conn sys/密码@orcl as sysdba
如果为了系统安全,我们不想让用户远程可以sys登录,那么可以通过如下命令将默认设置再改回来:
alter system set remote_login_passwordfile=none scope=spfile;
记得重启数据库 配置生效!
这里需要注意:
1. SYS用户是特权用户,远程登录数据库就要使用TCP/IP协议,这是一个不安全是协议,因此一定要通过口令文件认证方式,这是他唯一的登录途径,因此,你只要设置初始化参数REMOTE_LOGIN_PASSWORDFILE=none,就可以禁止SYS远程登录数据库了.
2. system用户其实就是一个拥有DBA角色的一般用户,他是通过数据库认证的,只要数据库服务器提供远程服务,他就可以登录,不知道怎么禁止system用户远程登录!!!
例如:用system连接的时候,不需要加as sysdba;
SQL> conn system/123456@orcl
Connected.