当前位置:文档之家› ORACLE数据字典user all dba

ORACLE数据字典user all dba

一个表空间(TABLESPACE)由段组成,作为SYSTEM表空间,它由自举段、回滚段、数据段、
临时段等多个段组成,而作为非SYSTEM表空间,则因用途而异由不同段组成。
一个段(SEGMENT)由一组范围组成。一个范围(EXTENT)由一组连续的数据块组成。一个
数据块(DATABASE BLOCK)对应磁盘上的一个或多个物理块。
(3)SQLDBA>SELECT*FROM V$DBFILE;结果中,列名NAME即为数据文件名。
2.日志文件(REDO LOG FILES)
日志文件用于记录数据库所做的全部变更,以便在系统发生故障时进行恢复。每一个数
据库至少有两个日志文பைடு நூலகம்。
3.控制文件(CONTROL FILES)
控制文件虽然是一个较小的二进制文件,但很重要。如果控制文件一旦被破坏,则无法对
INIT-SQL-FILES 数据库建立时执行的命令文件
PROCESSES 多进程系统中最大进程数
数据库的物理结构
数据库的物理结构是面向操作系统的,它描述数据库中的数据的存储形式。在物理上OA
CLE数据库文件包括数据文件、日志文件和控制文件。
1.数据文件(DATA FILES)
ORACLE数据库中的数据,逻辑上存放在表空间里,但物理上却是存放在数据文件里的,数
1.对于非DBA用户
对于非DBA用户,有两条命令,即:
(1)SQL> SELECT * FROM ALL_USERS;
(2)SQL>SELECT * FROM USER_USERS;
其中,从USER-USERS表中,可以了解到该用户的默认表空间和临时表空间等信息。
2.对于DBA用户
对于DBA用户,有三条命令,即:
8、存储函数和过程
查看函数和过程的状态
SQL>select object_name,status from user_objects where object_type='FUNCTION';
SQL>select object_name,status from user_objects where object_type='PROCEDURE';
SQL>select object_name,object_id from user_objects
where instr(object_name,'LOG')>0;
查看某表的创建时间
SQL>select object_name,created from user_objects where object_name=upper('&table_name');
from user_constraints where table_name = upper('&table_name');
SQL>select c.constraint_name,c.constraint_type,cc.column_name
from user_constraints c,user_cons_columns cc
有的系统管理员有意无意地将数据库名和实例标识取相同的标识符,当然是可以的,有时甚至会带来某些方便,但笔者认为,还是取不同标识符为宜。
数据库的初始化参数文件
在数据库的建立和运行中,都要阅读一个初始化参数文件,它是个文本文件,可以用一般
的编辑程序编辑。
每一个数据库至少有一个初始化参数文件,一般命名为INIT.ORA,在UNIX系统下,按照缺
省规定,其初始化参数文件名的命名原则为INIT后紧跟实例的标识,再加ORA后缀,例如,某实
例标识为TEST,其初始化参数文件名为INITTEST.ORA。
数据库的初始化参数有100多个,前面提到的DB_NAME即是其中之一。此外,还有许多其他
参数,如
CONTROL-FILES 控制文件名
ROLLBACK-SEGMENTS 分配给实例的回滚段名
查看某表的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" fromuser_segments
wheresegment_name=upper('&table_name');
查看放在Oracle的内存区里的表
SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;
select default_tablespace,temporary_tablespace
from dba_users where username='GAME';
1、用户
查看当前用户的缺省表空间
SQL>select username,default_tablespace from user_users;
查看当前用户的角色
SQL>select * from user_role_privs;
查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
显示当前会话所具有的权限
SQL>select * from session_privs;
SQL>select * from user_tab_privs;
查看用户下所有的表
SQL>select * from user_tables;
查看用户下所有的表的列属性
SQL>select * from USER_TAB_COLUMNS where table_name=:table_Name;
显示用户信息(所属表空间)
SQL>select text from user_views where view_name=upper('&view_name');
6、同义词
查看同义词的名称
SQL>select * from user_synonyms;
7、约束条件
查看某表的约束条件
SQL>select constraint_name, constraint_type,search_condition, r_constraint_name
显示指定用户所具有的系统权限
SQL>select * from dba_sys_privs where grantee='GAME';
显示特权用户
select * from v$pwfile_users;
显示用户信息(所属表空间)
select default_tablespace,temporary_tablespace
查看索引的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&index_name');
4、序列号
查看序列号,last_number是当前值
SQL>select * from user_sequences;
第三种是dba_为前缀的,可以查询所有表、视图等的相关信息。
首先可以用describe(desc)语句将对象的结构属性显示出来。比如desc all_users。会显示all_users这个用户的结构,有用户名(username),用户状态(account_status)等。然后用select 属性列 from 对象名即可查询具体属性的相关信息。
where c.owner = upper('&table_owner') and c.table_name = upper('&table_name')
and c.owner = cc.owner and c.constraint_name = cc.constraint_name
order by cc.position;
在数据库的逻辑结构中,表空间和回滚段比较重要,下面分别加以介绍。
1.表空间
每一个数据库都必须包含一个名为SYSTEM的表空间。该表空间在创建数据库时由系统自
动创建,为了保证数据库能正常运行,SYSTEM表空间必须处于在线状态。
具体语句如下:
查看当前用户的缺省表空间
SQL>select username,default_tablespace from user_users;
查看当前用户的角色
SQL>select * from user_role_privs;
查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
数据库进行操作。为防止控制文件被破坏,一般一个数据库应至少有二个控制文件,且分别放
在不同的磁盘上,控制文件的名字是记录在参数CONTROL_FILES中的。
数据库的逻辑结构
数据库的逻辑结构是面向用户的,数据库的逻辑结构包含表空间、段、范围、数据块和
模式对象。从逻辑上看数据库有以下特点。
一个数据库(DATABASE)由一个或多个表空间所组成。
1.数据库(DATABASE)
数据库是作为整体看待的数据集合,通常在安装ORACLE软件的最后阶段创建,用数据库名加以标识(允许1~8个字符),数据库名在创建数据库时确认,且保存在控制文件中。
2.实例(INSTANCE,也译作例程)
实例是存取和控制数据库的软件机制。它由系统全局区(System Global Area,即SGA)和ORACLE进程两部分组成,和数据库名一样,实例也要唯一标识,并且在安装ORACLE软件时确认。我们可以采用下述方法来了解实例标识。
相关主题