oracle学习中一
oracle 系统表 和视图
1.系统表
ORACLE数据库的系统参数都存储在数据库中,可以通过SQL*PLUS,以用户SYSYTEM进行查询。
几个重要的表或者视图如下:
v$controlfile:控制文件的信息;
v$datafile:数据文件的信息;
v$log:日志文件的信息;
v$process:处理器的信息;
v$session:会话信息;
v$transaction:事务信息;
v$resource:资源信息;
v$sga:系统全局区的信息。
上面的视图名中的‘v$’,只是视图名字中的字符。类似于上面的视图或表还有很多,位于: $ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL文件中。
这些视图或表可以在SQL*PLUS中用SELECT语句进行查询。
2.数据字典视图
表和列
DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。
DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每个数据库表的列的信息。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括表。
完整性约束
DBA_CONSTRAINTS、ALL_CONSTRAINTS和USER_CONSTRAINST显示有关约束的一般信息。
DBA_CONS_COLUMNS、ALL_CONS_COLUMNS和USER_CONS_COLUMNS显示有关列的相关约束的一般信息。
视图
DBA_VIEWS、ALL_VIEWS和USER_VIEWS。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括视图。
序列
DBA_SEQUENCES、ALL_SEQUENCES和USER_SEQUENCES。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括序列。
同义词
DBA_SYNONYMS、ALL_SYNONYMS和USER_SYNONYMS。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括同义词。
索引
DBA_INDEXES、ALL_INDEXES、USER_INDEXES、DBA_IND_COLUMNS、ALL_IND_COLUMNS和USER_IND_COLUMNS。
用户 DBA_USERS。
角色 DBA_ROLES。
表空间定额 DBA_TS_QUOTAS。
配置表 DBA_PROFILES。
表空间 DBA_TABLESPACES。
数据文件 DBA_DATA_FILES。
段 DBA_SEGMENTS、USER_SEGMENT。
回滚段 DBA_ROLLBACK_SEGS、V$ROLLNAME、V$ROLLSTAT。
连接数据库需要create session权限(privilege)
oracle提供了两种类型的权限: 系统权限(system privilege)和对象权限(object privilege)
Oracle系统中用户权限的赋予,查看和管理.
在Oracle数据库中,用户的权限分为两种(在这里我们不讨论dba或dbopr的权限,只考虑普通用户的权限),
分别是System Privilege系统权限 和User Table Privilege用户数据表权限.
1.首先,创建用户,以下几条命令可以创建一个用户,前提是必须以DBA的身份登录(如果你不是DBA,不要看下去了):
create user DB_USER identified by DB_USER_PW '创建用户DB_USER,密码为DB_USER_PW
grant create session to DB_USER '给用户创建会话的权限
grant resource to DB_USER
2.当用户建立后,会自动在Oracle数据库系统中生成属于该用户的Scheme
(可以理解为所有属于该用户的表,视图....等对象的集合).
该用户可以将对这些对象的访问权限赋予其它的系统用户.
3.该用户用sqlplus登录后,以下命令可以看到该用户的权限(该部分取自于CNOUG网站):
本用户读取其他用户对象的权限:
select * from user_tab_privs;
本用户所拥有的系统权限:
select * from user_sys_privs;
4. System Privilege列表
浙公网安备 33010602011771号