您的位置:首页 > 数据库 > Oracle

【Oracle】表空间、用户、权限、角色、审计

2014-09-17 17:14 337 查看
觉得oracle很难深入。每天一二小时,坚持吧! ---结构体系与原理

Dba_data_files:数据文件
Dba_tablespaces:表空间
Dba_segments:段信息
Dba_extents:块信息
Dba_free_space:表空间可用信息
Dba_objects:对象信息
V$datafile:来自控制文件的信息

用户权限与系统权限视图:
查看用户角色:
select * from dba_role_privs;
select * from user_role_privs;
查看所有角色、系统权限、对象权限:
select * from dba_roles;
select * from system_privilege_map;
select * from v$object_privilege;
查看用户系统权限:
select * from dba_sys_privs;
select * from user_sys_privs;
查看用户对象权限:
select * from dba_tab_privs where grantee='B';
select * from all_tab_privs;
select * from user_tab_privs;

系统权限、角色、对象权限授权与撤销语法:
Grant 系统权限 | 角色 to 用户;
Grant 对象权限 on 对象(表等) to 用户;

Revoke 系统权限 | 角色 from 用户;
Revoke 对象权限 on 对象(表等) from 用户;


Tablespace à segment à extent à block
| | |
|----------------------------------------------à datafile |
| ------------|---à osblock

表空间:可以包含多个数据文件
段:可以认为是表,包含多个区
区:一个数据文件中一组连续编号的oracle块
块:包含一个或多个os块,块是oracle数据库的基本I/O单元
数据文件:由多个os块组成
操作系统块:文件系统的I/O单元
show parameter db_block_size :查看oracle block的大小,默认是8192byte

语法:使用em显示sql
表空间创建:
CREATE SMALLFILE TABLESPACE"HXW_DATA"
DATAFILE'/ns_data/oracle/oradata/nsdc/hxw_data01.dbf'
SIZE 1M AUTOEXTENDONNEXT 1M MAXSIZE 10M  --默认不会自动扩展
LOGGING --表空间针对段的所有操作将生成重做内容,默认
EXTENTMANAGEMENTLOCAL --区自动管理,默认
SEGMENTSPACEMANAGEMENT AUTO--段使用位图跟踪块使用情况,默认
DEFAULTNOCOMPRESS  --不压缩,默认

添加数据文件:
ALTERTABLESPACE"HXW_DATA"
ADDDATAFILE'/ns_data/oracle/oradata/nsdc/hxw_data02.dbf'
SIZE 10M AUTOEXTENDONNEXT 1M MAXSIZE 20M

--设置extent为手动指定大小。
CREATE SMALLFILE TABLESPACE"HXW_DATA"
DATAFILE'/ns_data/oracle/oradata/nsdc/hxw_data01.dbf'
SIZE 1M AUTOEXTENDONNEXT 1M MAXSIZE 10M
LOGGING
EXTENTMANAGEMENTLOCALUNIFORMSIZE 512K
SEGMENTSPACEMANAGEMENT AUTO
DEFAULTNOCOMPRESS

ALLOCATION_TYPE 这个值有3个选项:
1、system:一旦设定该值,next_extent将为空,只有extents值。该值是默认值。这个选项的最小是64K
2、user:一旦设定该值,就允许我们可以控制next_extent了。只有两种情况出现users:一是该ts是数据字典管理的;另外一个是该ts是从数据字典管理转移到local的(用dbms_space_admin.tablespace_migrate_to_local)
3、uniform:将标明所有的extent的大小将一致,temp表空间只能采用这个方式;以上两个情况的extent的大小将不一致;uniform中的默认值为1M

临时表空
CREATE SMALLFILE TEMPORARYTABLESPACE"HXW_TMP"
TEMPFILE'/ns_data/oracle/oradata/nsdc/hxw_tmp01.dbf'
SIZE 5M AUTOEXTENDONNEXT 1M MAXSIZE 10M
EXTENTMANAGEMENTLOCALUNIFORMSIZE 1M

添加数据文件:
ALTERTABLESPACE"HXW_TMP"
ADDTEMPFILE'/ns_data/oracle/oradata/nsdc/hxw_tmp02.dbf'
SIZE 100M AUTOEXTENDONNEXT 1M MAXSIZEUNLIMITED

Undo表空间:
CREATE SMALLFILE UNDOTABLESPACE"UNDOTBS02"
DATAFILE'/ns_data/oracle/oradata/nsdc/undotbs02.dbf'
SIZE 5M AUTOEXTENDONNEXT 1M MAXSIZE 10M
RETENTION NOGUARANTEE --还原保留时间不保证,GUARANTEE保证


--创建表空间与用户
create tablespace h_test
datafile'/ns_data/oracle/oradata/nsdc/t_test01.dbf'
size 2m autoextend on next 1m maxsize 5m;
create user huangxw identified by huangxwdefault tablespace h_test;

本文出自 “尽管错,让我错到死!” 博客,请务必保留此出处http://hxw168.blog.51cto.com/8718136/1554423
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: