1、sys用户与system的区别
1.1、存储数据的重要性不同
sys用户 所有 oracle 的数据字典的基表和视图都存放在 sys 用户中,这些基表和视图对于 oracle 的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。 sys 用户拥有 dba , sysdba , sysoper 等角色或权限,是 oracle 权限最高的用户。
system用户用于存放次一级的内部数据,如oracle 的一些特性或工具的管理信息。 system 用户拥有普通 dba 角色权限。
1.2、权限的不同
system用户只能用 normal 身份登陆 em ,除非你对它授予了sysdba 的系统权限或者 sysoper 系统权限。sys 用户具有 “SYSDBA” 或者 “SYSOPER” 系统权限,登陆 em 也只能用这两个身份,不能用normal 。
以 sys 用户登陆 Oracle ,执行 select * from V_$PWFILE_USERS; 可查询到具有 sysdba 权限的用户,如:
由上图可以看出system已经授权sysdba权限。
system如果正常登录,它其实就是一个普通的 dba 用户,但是如果以 as sysdba 登录,其结果实际上它是作为 sys 用户登录的。因此在 as sysdba 连接数据库后,创建的对象实际上都是生成在 sys 中的。其他用户也是一样,如果 as sysdba 登录,也是作为 sys 用户登录的
2、normal 、 sysdba 、 sysoper 的区别
normal 是普通用户
sysdba 拥有最高的系统权限,登陆后是 sys
sysoper 主要用来启动、关闭数据库, sysoper登陆后用户是 public
3、Oracle的基本使用
conn 连接oracle 用法 conn 用户名/密码[as sysdba /sysoper]
disc 断开与当前数据库的连接 用法 disc
passw 修改用户密码(自己可以修改自己的 dba可以修改他人的) 用法 passw username
show user 显示当前用户名 用法 show user
exit 断开并退出数据库 用法 exit
start 运行sql脚本 用法 start 脚本路径
edit 编辑指定的sql脚本