读书人

Oracle 惯用数据字典

发布时间: 2012-08-08 14:32:45 作者: rapoo

Oracle 常用数据字典

?--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;

--不包—DL锁数据库字符集??
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实时应用集群)中,数据库与实例之间是一对多关系,(一个数据库对应多个实例,同一时间内用户只一个实例相联系,当某一实例出现故障,其它实例自动服务,以保证数据库安全运行。)?

读书人网 >其他数据库

热点推荐