oracle 切换用户操作--or--sys用户密码忘记

Posted Jesson

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

4. 如果忘记了sys或者system的密码:

在数据库服务器本地,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用户远程登录!!!

 

以上是关于oracle 切换用户操作--or--sys用户密码忘记的主要内容,如果未能解决你的问题,请参考以下文章

普通用户sudosu 到root免密码

Linux下普通用户免密切换root

Linux系统命令"su - user"在普通用户之间的免密切换

oracle 远程连接

Oracle项目实战之ATM

Shell脚本中实现切换用户并执行命令操作