注:本文来源于: Linux社区 作者:国良 的《Oracle学习笔记:sqlplus用户登录》
1 sqlplus 登录
本地登录 (登录数据库服务器)
Oracle 登录
sqlplus 账户名/密码 as 角色名
1.1 sys登录
例如:
1 sqlplus sys/oracle
ERROR:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
sys管理员必须有角色sysdba
1 [oracle@yutianedu ~]$ sqlplus sys/oracle as sysdba
执行show user ;
SQL> show user ; 显示当前登录用户
USER is "SYS"
退出 exit
1.2 system登录
sqlplus system/oracle
1.3 scott登录 (代表普通用户)
默认普通用户是被锁定的 不允许登录
可以用管理员去解锁 ,管理员可以重新设置密码
1.3.1 管理员登录
sqlplus sys/oracle as sysdba
1.3.2 解锁 重新设置密码
alter user scott account unlock ; 解锁
alter user scott identified by oracle ; 设置scott的密码是oracle
1.3.3 scott登录
sqlpous scott/oracle
疑问1: 有没有可能一个服务器有多个数据库
sqlplus sys/oracle as sysdba 登录的是哪一个??????
登录的时候会去查看环境变量ORACLE_SID 指明你登录的是哪一个实例
怎么查看一个用当前生效的环境变量的值
[oracle@yutianedu ~]$ env |grep ORACLE_SID
如果不指定 默认登录应该是orcl实例
总结:以后本地登录的模板
在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htm
Oracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htm
Debian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm
先定义你要登录那个实例---> export ORACLE_SID=orcl
然后在登录 ---> sqlplus sys/oracle as sysdba
疑问2:登录的时候是不是输入了密码,谁验证的密码
sys 是操作系统验证 和数据库没有关系
数据库无论启动还是没有启动 管理员都可以登录
什么是操作系统验证? 先登录操作系统 然后只要有权限登录,不在验证密码
oracle登录 ---》oracle属于dba组 ----》就有sysdba的权限
sqlplus / as sysdba ;不需要密码认证
SQL> show user;
USER is "SYS"
普通用户用的是数据字典验证
数据字典就是数据库中的表,存储账户和密码信息
如果数据库没有启动到open状态,是不允许读取数据库中表的数据库
如果普通用户登录,必须先保证数据库处于open