内容中的实验环境:RH5, oracle10g
要访问数据库需要启动实例,而k控制实例的人就是老大SYS。
在本机情况下,进入老大SYS:
[root@localhost ~]# su - oracle [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Wed Aug 11 05:00:39 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to an idle instance.
注意:在oracle10之前只能先用 sqlplus /nolog后,再使用conn / as sysdba
关于SYS的验证
1. OS验证。满足以下两个条件后,就可通过OS验证。
a. 用户属于DBA组。
b. 实现安全连接
/u01/app/oracle/product/10.1.0/db_1/network/admin/sqlnet.ora
unix,linux下设置为:#SQLNET.AUTHENTICATION_SERVICES= (NTS)
windows下设置为:SQLNET.AUTHENTICATION_SERVICES= (NTS)
2. 密码验证
OS验证的优先级高于密码验证
密码文件的修改
[oracle@localhost dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwopenview password=oracle entries=3;
注意: 虽然entries=3, 但创建的最大个数,是以4个倍数增长的。
创建老大SYS
SQL> grant sysdba to u1 identified by a; Grant succeeded. SQL> c/1/2; 1* grant sysdba to u2 identified by a SQL> / Grant succeeded. SQL> select * from v$pwfile_users; USERNAME SYSDB SYSOP ------------------------------ ----- ----- SYS TRUE TRUE U1 TRUE FALSE U2 TRUE FALSE
注意: 使用U1 as sysdba登录,show user时,依然是SYS。
SQL> conn u1/a as sysdba; Connected. SQL> show user; USER is "SYS" SQL> conn u1/a Connected. SQL> show user; USER is "U1"