一、数据库用户
创建数据库用户
create user 用户名 identified by 密码;
授权
grant 权限名 to 用户名;
查看当前用户权限
select * from session_privs;
移除权限
revoke 权限 session from 用户名;
用户解锁/锁定
alter user 用户名 account unlock/lock;
二、角色
角色:权限组,多种权限的集合,将角色赋予某个用户时即是将其包含权限一次性赋予该用户;
常用系统角色
- dba
拥有对数据库的所有操作权限,包括创建用户,其中system用户拥有该权限
2. connect
具有创建会话、修改会话等权限
3. resource
具有创建表、视图、存储(create procedure)等权限
创建角色(在system用户下创建)
create role 角色名称;
赋予权限
grant 权限名… to 角色名称
查看当前用户角色
select * from user_role_privs;
查看当前用户角色的所有权限
select * from role_sys_privs;
查询角色权限
select * from dba_sys_privs where grantee = '角色名'(区分大小写)
查看当前系统角色
select * from dba_roles;
三、表空间——最大的逻辑单元
ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。
一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件,但一个数据库文件只能与一个表空间相联系。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
1. 创建表空间(需要用户拥有create tablespace权限)
create tablespace 表空间名称
datafile 路径 (比如 'd:\test.dbf';其中test是表空间名称,dbf是后缀名)
size 表空间大小 (如10M,2G…)
autoextend on (是否允许自动扩展,默认自动扩展)
next 大小(每次增长大小)
maxsize 大小(最大值,unlimited:无限制);
2.创建临时表空间
create temporary tablespace 表空间名称
tempfile 路径
size 大小
autoextend on
next 大小
maxsize 大小
extent management local;
例如:
create tablespace test_tablespace
datafile c:\test.dbf'
size 10M
autoextend on next 1M
maxsize unlimited;
--将创建的表指定到自定义的表空间
--需要指定用户的表空间
--创建用户并指定表空;
create user user1 identified by user1 default tablespace test_tablespace;
--改变用户的表空间
alter user 用户名 default tablespace 表空间名称;
--查看用户的表空间
select username,default_tablespace from dba_users where useranme = '用户名(大写)';
--查看表默认表空间
select tablespace_name from dba_tables where table_name = '表名称';