一、用户
sys; //系统管理员,拥有最高权限
system; //本地管理员,次高权限
scott; //普通用户,密码默认为tiger,默认未解锁
二、登录
sqlplus / as sysdba; //登录sys账户
sqlplus sys as sysdba; //同上
sqlplus scott/tiger; //登录普通用户scott(登录其他用户:sqlplus 用户名/密码)
connect 用户名/密码; //切换用户
三、表空间
1. 创建临时表空间(初始大小48m,自动增长24m,最大2048m)
create temporary tablespace myspace_temp
tempfile 'F:\Oracle\tablespaces\myspace_temp.dbf' size 48m autoextend on next 24m maxsize 2048m extent management local;
2. 创建数据表空间
create tablespace myspace_data
logging datafile 'F:\Oracle\tablespaces\myspace_data.dbf' size 48m autoextend on next 24m maxsize 2048m extent management local;
3. 删除表空间
drop tablespace myspace_temp including contents and datafiles
四、管理用户
create user 用户名 identified by 密码 default tablespace myspace_data temporary tablespace myspace_temp; //cbd用户用要以c##开头,pdb不用
alert user 用户名 identified by 密码; //修改密码
五、权限
1. 权限分类
系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)
实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)
2.系统权限分类
DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
3. 实体权限分类
insert、delete、update、select、alter、index、
all //所有权限
execute //执行存储过程权限
4. 授权
系统权限只能由DBA用户授予:sys, system(最开始只能是这两个用户)
grant connect, resource, dba to 用户名; //授予系统权限
注:普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。
grant create session to 用户名; //授予用户创建session的权限,即登陆权限
grant unlimited tablespace to 用户名; //授予用户使用表空间的权限
grant create table to 用户名; //授予创建表的权限
grante drop table to 用户名; //授予删除表的权限
grant insert table to 用户名; //插入表的权限
grant update table to 用户名; //修改表的权限
grant all to public;//授予所有权限给所有用户
grant select on 表名 to 用户名; //授予用户查看指定表的权限
grant drop on 表名 to 用户名; //授予删除表的权限
grant insert on 表名 to 用户名; //授予插入的权限
grant update on 表名 to 用户名; //授予修改表的权限
grant insert(id) on 表名 to 用户名; //授予对指定表特定字段的插入权限
grant update(id) on 表名 to 用户名; //授予对指定表特定字段的修改权限(只能是insert和update)
grant alert all 表名 to 用户名; //授予用户alert任意表的权限
注:DBA用户可以操作全体用户的任意基表,无需授权
5. 撤销权限
基本语法同grant,关键字为revoke
6. 查看权限
select * from user_sys_privs; //查看当前用户系统权限
select * from user_tab_privs; //查看当前用户对象权限
六、角色
角色即权限的集合,可以把一个角色授予给用户
create role 角色名; //创建角色
alter role 角色名 not identified; //修改角色不需要口令
alter role 角色名 identified by 密码; //修改角色的口令
grant create session to 角色名; //将创建session的权限授予角色
grant 角色名 to 用户名; //授予用户角色
drop role 角色名; //删除角色
select * from role_sys_privs; //查看角色所包含的权限