oracle用户管理学习笔记
当创建一个新数据库时,系统默认创建一些数据库用户,如Sys、System和Scott等。Sys和System都是Oracle的系统用户,Scott是Oracle数据库的一个示范账户,里面有一些测试样例表。
1.Sys,是Oracle中的一个超级用户。数据库中的所有数据字典和视图都存储在SYS模式中。数据存储了用来管理数据库对象的所有信息。主要用来维护系统信息和管理实例。Sys只能以SYSOPER或SYSDBA角色登录系统。
2.System,是Oracle中默认的系统管理员,它拥有DBA权限。该用户拥有Oracle管理工具使用的内部表和视图。管理Oracel数据库的用户、权限和存储等。不建议在System模式中创建用户表。System不能以SYSOPER或SYSDBA角色登录系统,只能以默认方式登录。
3.Scott,用户是一个示范用户包含4个示范表,其中一个是Emp表。使用USERS表空间存储模式对象。每个用户都有一个默认表空间和一个临时表空间。Oracle将USERS设为默认表空间,将TEMP设为临时表空间。
在使用scott登录时无法登录,查询到scott用户可能被锁定,于是用一下方法解锁:
sqlplus(空格)/nolog 回车
conn sys/password as sysdba回车
提示已连接
alter user scott identified by tiger;回车
alter user scott account unlock;回车(对SCOTT解锁)
提示scott用户不存在,于是用以下方法导入scott用户:
@C:\app\Mount\virtual\product\12.2.0\dbhome_1\rdbms\admin\scott.sql
仍然提示scott用户不存在,发现这是11g版本的方法,行不通,找到12c版本的方法如下:oracle 12c导入scott用户方法
第二天想继续连接scott用户学习发现连接不上,出现如下错误:
ORA-01033:oracle初始化或者关闭错误
然后想到先执行:alter session set container=orclpdb;再连接scott,出现如下错误:
ORA-65054: Cannot open a pluggable database in the desired mode.
通过网络搜索到原因是:
You can't open a PDB until you startup the instance to open the root/cdb.
于是再连接sys账户后,先打开CDB$ROOT数据库实例:
alter database open;
数据库已更改。
alter session set container=orclpdb;
会话已更改。
startup
插接式数据库已打开。
conn scott/tiger@orclpdb
已连接。