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.

原文地址:https://www.cnblogs.com/hellojesson/p/6992147.html