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

觉得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://down.51cto.com/data/2364873