SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用于数据库管理的用户。在数据库安装完之后,应立即修改SYS,SYSTEM这两个用户的密码,以保证数据库的安全。
安装完之后修改密码方法
cmd命令行下输入 sqlplus / as sysdba;
法1.SQL>alter user sys identified by huozhe
法2.SQL>grant connect to sys identified by 123456
法3. SQL> password system
更改 system 的口令
新口令:
重新键入新口令:
口令已更改
(注:法3只适用于SYSTEM)
验证:
SQL> conn system/huozhe
已连接。
SQL> show user
USER 为 "SYSTEM"
SQL> exit
注:SYS和SYSTEM用户之间可以相互修改口令
修改SYS用户口令后的登录
将SYS用户的口令修改成123456后,可按以下几种方法登录:
法1.sqlplus / as sysdba 【以操作系统认证的方式登录,不需要用户名和口令】
法2.sqlplus sys/abcde as sysdba;
法3.sqlplus sys/ as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 11月 6 19:10:54 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
输入口令:
注意:这里提示输入口令,不输入口令直接回车
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionssqlplus sys as sysdba;
上述语句,都可以登录成功,然后查看当前用户:
SQL> show user
USER 为 "SYS"
这是为什么呢,为什么修改了口令没有效果,不用口令或者随便用什么口令都可以进入呢。
答案是:认证方法。
oracle的口令认证
SYS口令认证分为操作系统认证和Oracle认证方法。
操作系统认证方式
对于如果是Unix操作系统,只要是以DBA组中的用户登录的操作系统,就可以以SYSDBA的身份登录数据库,不会验证SYS的口令。
对于windows操作系统,在oracle数据库安装后,会自动在操作系统中安装一个名为ORA_DBA的用户组,只要是该组中的用户,即可以SYSDBA的身份登录数据库而不会验证SYS的口令。也可以创建名为ORA_SID_DBA(SID为实例名)的用户组,属于该用户组的用户也具备以上特权。