论坛首页 综合技术论坛

Oracle 常用数据字典

浏览 3286 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-06-15  

--Oracle 数据字典
--Oracle 数据字典很多,通常我记不住所有的名字,我们可以用以下SQL去查数据字典的名字
如:select distinct object_name from dba_objects where object_name like 'user_%';
--本用户字典 
SQL> select distinct object_name from dba_objects where object_name like 'USER_%';
--系统用户字典
SQL> select distinct object_name from dba_objects where object_name like 'DBA_%';
--动态字典
SQL> select distinct object_name from dba_objects where object_name like 'V$_%';
--表
SQL> select * from cat;
SQL> select * from tabs;
SQL> select * from user_tables;
--视图
SQL> select * from user_views;
SQL> select   text   from   user_views   where   view_name=upper('&view_name');
--索引
SQL> select * from user_indexes; 
SQL> select index_name,table_owner,table_name,tablespace_name,status from user_indexes order by   table_name;
--快照 select * from user_snapshots;
SQL> select owner,name,master,table_name,last_refresh,next from user_snapshots order by owner,next;
--触发器
SQL> select * from user_triggers;
SQL> select trigger_name,trigger_type,table_owner,table_name,status from user_triggers;
--同义词

SQL> select * from syn;
--序列

SQL> select * from seq;
SQL> select * from user_sequences;

--数据库链路

SQL> select * from user_db_links;
--约束限制

SQL> select * from user_constraints;
SQL> select TABLE_NAME,CONSTRAINT_NAME,SEARCH_CONDITION,STATUS from user_constraints;

--本用户读取其它用户对象的权限

SQL> select   *   from   user_tab_privs;

--本用户所拥有的系统权限

SQL> select   *   from   user_sys_privs;

--Oracle系统中的所有用户

SQL> select * from all_users;

SQL> select username from all_users;

SQL> select * from all_users order by user_id;

--表空间剩余自由空间情况?

SQL> select tablespace_name,sum(bytes),max(bytes),count(*) from dba_free_space group by tablespace_name;

--数据字典

SQL> select table_name from dict order by table_name;

--锁及资源信息

SQL> select * from v$lock;

--不包括DDL锁数据库字符集? 
SQL> select   name,value$   from props$ where name='NLS_CHARACTERSET';

--inin.ora参数

SQL> select name,value from v$parameter order by name;

--SQL共享池

SQL> select * from v$sqlarea;
SQL> select sql_text from v$sqlarea;

--数据库

SQL> select * from v$database;

--控制文件

SQL> select * from V$controlfile;

--重做日志文件信息

SQL> select * from V$logfile;

--来自控制文件中的日志文件信息

SQL> select * from V$log;

--来自控制文件中的数据文件信息

SQL> select * from V$datafile;

--NLS参数当前值

SQL> select * from V$nls_parameters;

--ORACLE版本信息
SQL> select * from v$version;

--描述oracle后台进程

SQL> select * from v$bgprocess;

--查看oracle版本信息

SQL> select * from v$instance;

SQL> select * from product_component_version;

----查看oracle 数据库名(DB_NAME)

SQL> select name from v$database;

SQL> show parameter db;

SQL> select value from v$parameter where name='db_name';

----查看oracle 数据库实例名(Instance_name、ORACLE_SID)

SQL> select instance_name from v$instance;

SQL>show parameter instance;

SQL> select value from v$parameter where name='db_name';

方法三:在参数文件中查询

如:$ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora

----查看oracle 数据库域名、全局数据库名、数据库服务名

三、数据库名与实例名之间的关系。 
    数据库名与实例名之间的关系一般是一一对应关系,有一个数据库名就有一个实例名,
    如果在一个服务器中创建两个数据库,则有两个数据库名,两个数据库实例名,用两个标识确定一个数据库,用户和实例相连接。 
    但在8i、9i的并行服务器结构(即oracle实时应用集群)中,数据库与实例之间是一对多关系,(一个数据库对应多个实例,同一时间内用户只一个实例相联系,当某一实例出现故障,其它实例自动服务,以保证数据库安全运行。) 

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics