oracle创建表空间、用户和表以及sys和system的区别

时间:2023-03-08 16:59:12

一、oracle的3个内置账号(口令管理)
scott(示范账户) tiger 内置账号
system 系统管理员 操作用户
sys 超级管理员 操作数据

conn system/sasa;
show user

登录超级用户
conn a/b as sysdba 或者 sysoper
a/b任何账号密码都可以(只能在服务端(安装数据的电脑)上运行

更改用户密码:
alter user scott identified by sasa;

二、建立表空间(物理创建)
create tablespace sunjobspace datafile '/opt/oracle_11/app/oradata/sunjob.dbf' size 512M autoextend on next 32M;
临时表空间
create temporary tablespace sujob_temp tempfile '/opt/oracle_11/app/oradata/sunjob_temp.dbf'
size 100m autoextend on next 32m maxsize 500m extent management local;
删除必须先删除逻辑,再删除物理
DROP TABLESPACE sunjobspace INCLUDING CONTENTS AND DATAFILES; 并删除目录和数据库文件。

查看表空间
select tablespace_name from dba_tablespaces;

三、创建用户
conn system/sasa; 用系统管理员登录,也可以用超级管理员
create user sunjob identified by sasa default tablespace sunjobspace;

四、给用户授权
grant resource,connect to sunjob; 这里没有给dba权限,给dba权限的话,sunjob也可以创建表空间之类的。

五、创建数据库表
conn sunjob/sasa;
create table student(sid int);
insert into student values(1);

六、给他用户对sunjob用户下的student表授权
grant all或者select、update、delete、insert on sunjob.student to scott;

七、撤销授权
revoke select on sunjob.student from scott;
revoke connect from sunjob;撤销登录权限

sys:拥有dba、sysdba、sysoper(系统操作员 )角色或权限,是Oracle权限最高的用户,只能以sysdba或sysoper登录,不能以normal形式登录。
System:拥有dba、sysdba权限或角色,可以以普通用户的身份登录。
•【sysdba、sysoper、DBA区别】
Sysdba用户: 可以改变字符集、创建删除数据库、登录之后用户是SYS(shutdown、startup)
Sysoper:用户不可改变字符集、不能创、删数据库、登陆之后用户是PUBLIC (shutdown、startup)
DBA用户:只有在启动数据库后才能执行各种管理工作。
Sysdba> Sysoper>普通的DBA

sys 在数据库创建时被自动创建,并被授予dba角色。数据字典涉及的所有基表和视图都放在该用户下。不要再该模式下创建其他的数据库对象。
system 也是在数据库创建是被自动创建的,被授予dba的角色。数据库管理员通常使用该账号进行管理。。

任何用户若以as sysdba登陆,其结果实际上就是sys用户登陆。