user_tab_privs_made 部分列
| 列名称 |
说明 |
| Grante |
该特权授予的用户 |
| Table_name |
所授予的特权所操作的对象(例如表)名 |
| Grantor |
授权者 |
| Privilege |
对该对象授予的特权 |
| grantable |
特权所授予的用户是否可以将这种特权再授予其他用户,该值等于 yes 或 no |
| hierarchy |
特权是否构成层次关系。该值等于 yes 或 no |
User_col_privs_made 可以检查某个用户对哪些列对象开放了哪些特权。
Select * from user_col_privs_made;
?
from user_col_privs_made 部分列
| 列名称 |
列说明 |
| Grantee |
该特权授予的用户 |
| Table_name |
所授予特权所操作的对象名 |
| Column_name |
所授予特权所操作的对象名 |
| Grantor |
授权者 |
| Privilege |
对该对象授予的特权 |
| grantable |
特权授予的用户是否可以将这种权限再授予其他用户,该值等于 yes 或 no |
?
如果以tuser 用户身份连接到数据库上就可以通过公共对象名称 sttable 对 yyaccp.sttable 进行检索:
Connect tuser/tuser;
Select * from sttable;
?
23.撤销用户对象的特权:
使用 revoke 语句撤销某个用户的对象特权。以下命令以 yyaccp 用户的身份连接到数据库上,并撤销 tuser 对sttable 表的 insert 特权
Connect yyaccp/accp;
Revoke insert on sttable from tuser
Oracle 数据库中的 数据块、区、段、表空间
?
在最细的粒度上,Oracle存储数据到数据块中(也叫逻辑块、Oracle块或页),一个数据块对应磁盘上的一定数量字节的数据库物理存储空间。
逻辑数据库存储空间的下一个存储级别是区。一个区是分配用来存储特定信息的连续数据块。
区之上的逻辑数据库存储级别叫段。一个段是区的集合,每个区都被分配了特定的数据结构,所有的区都存储在同一表空间中。例如,每个表的数据被存储在它自己的数据段中,每个索引的数据存储在它自己的索引段中。假如表或索引是分区的,每个分区被存储在它自己的段中。
Oracle以区为单位给段分配空间。当段中存在的区满了,Oracle为该段分配另外的区。由于区是按需分配的,一个段的区可能是也可能不是连续的。
段和它的所有区存储在一个表空间中。在一个表空间中,一个段包括的区能分布在多个文件中,也即段能跨越数据文件。无论如何,每个区必须在一个数据文件中。