对于 Oracle 这样的大型数据库呢,自身的运行和维护也是个不得了的事情,
所以在 Oracle 中存在 n 多的数据字典,数据字典作为一种元数据呢,
在 Oracle 中的作用就是存放整个数据库实例的基本信息,实质上也就是一组表,
这些数据字典呢,很多都是归 SYS 用户所有的。
这一篇博文呢就是针对 Oracle 的数据字典做一个比较全面的介绍,
介绍方法,就是列出一些常用的数据字典了,
下面列出的这些数据字典,本人均在 Oracle 11g R1 上,
通过 Oracle Sql Developer 进行过测试的,全部通过。
其中很多的数据字典都必须以 system 或者是 sysdba 用户登录才能够使用的。
---数据库实例的基本信息
desc v$instance;
select * from v$instance;
--数据文件的基本信息
desc v$datafile;
select * from v$datafile;
desc dba_data_files;
select file_name,file_id,tablespace_name,bytes,blocks,
status,online_status
from dba_data_files;
--临时文件的基本信息
desc dba_temp_files;
select file_name,file_id,tablespace_name,status,
bytes/1024/1024 大小MB
from dba_temp_files;
--控制文件的基本信息
desc v$controlfile;
select name,status,is_recovery_dest_file,
block_size,file_size_blks
from v$controlfile;
--日志文件的基本信息
desc v$logfile;
select group#,status,type,member,is_recovery_dest_file
from v$logfile;
--数据库的基本信息
desc v$database;
select * from v$database;
select dbid,name,created,resetlogs_time,log_mode,
open_mode,checkpoint_change#,archive_change#,
controlfile_created,controlfile_type,
controlfile_sequence#,controlfile_change#,
controlfile_time,protection_mode,database_role
from v$database;
--日志文件参数信息
show parameter log_archive_dest;
--访问参数文件
desc v$parameter;
select num,name,type,value,display_value,
isdefault,isses_modifiable,
issys_modifiable,isinstance_modifiable
from v$parameter;
select * from v$parameter;
select name,value,description from v$parameter;
--后台进程信息
desc v$bgprocess;
select paddr,pserial#,name,description,error from v$bgprocess;
--DBA 用户的所有的表的基本信息
desc dba_tables;
desc dba_tab_columns;
select owner,table_name,column_name,data_type,data_length,
global_stats,data_upgraded,histogram
from dba_tab_columns;
--DBA 用户的所有的视图的基本信息
desc dba_views;
select owner,view_name,read_only from dba_views;
--DBA 用户的所有的同义词的基本信息
desc dba_synonyms;
select owner,synonym_name,table_owner,
table_name,db_link
from dba_synonyms;
--DBA 用户的所有的序列的信息
desc dba_sequences;
select sequence_owner,sequence_name,min_value,max_value,
cycle_flag
from dba_sequences;
--DBA 用户的所有的约束的信息
desc dba_constraints;
select owner,constraint_name,constraint_type,
table_name,status
from dba_constraints;
--DBA 用户的所有的索引的基本信息
desc dba_indexes;
select owner,index_name,index_type,table_owner,table_name,
table_type,uniqueness,compression,logging,status
from dba_indexes;
--DBA 用户的所有的触发器的基本信息
desc dba_triggers;
select owner,trigger_name,trigger_type,
table_owner,table_name,column_name
from dba_triggers;
--DBA 用户的所有的存储过程的基本信息
desc dba_source;
select owner,name,type,line,text from dba_source;
--DBA 用户的所有的段的基本信息
desc dba_segments;
select owner,segment_name,segment_type,
tablespace_name,blocks,extents
from dba_segments;
--DBA 用户的所有的区的基本信息
desc dba_extents
select owner,segment_name,segment_type,
tablespace_name,extent_id,file_id,blocks
from dba_extents;
--DBA 用户的所有的对象的基本信息
desc dba_objects;
select owner,object_name,subobject_name,
object_id,data_object_id,object_type,
created,status,namespace
from dba_objects;
--当前用户可以访问的所有的基表
desc cat;
select table_name from cat;
--当前用户可以访问的所有的基表,视图,同义词
desc system.tab;
select tname,tabtype,clusterid from system.tab;
--构成数据字典的所有的表信息
desc dict;
select table_name,comments from dict;
-- 查询关于表空间的一些基本的数据字典
desc dba_tablespaces;
select tablespace_name,block_size,status,
logging,extent_management
from dba_tablespaces;
desc dba_free_space;
select tablespace_name,file_id,block_id,
bytes/1024/1024 大小MB,blocks,relative_fno
from dba_free_space;
--归档状态的一些基本信息
desc v$archived_log;
select name,dest_id,blocks,block_size,
archived,status,backup_count
from v$archived_log;
--关于内存结构的一些信息
desc v$sga;
select name,value/1024/1024 大小MB from v$sga;
desc v$sgastat;
select pool,name,bytes from v$sgastat;
desc v$db_object_cache;
select owner,name,db_link,type,namespace,locks from v$db_object_cache;
desc v$sql;
select sql_text,sql_id,cpu_time from v$sql;
上面的呢就是 Oracle 中较常使用的数据字典了,
需要提一下的是,上面有很多都是以 “dba_”开头的数据字典,
比如有 dba_tables ,其实呢,这个是列出了数据库中所有的数据,
比如使用 dba_tables 就会列出数据库中所有的数据表(n 多),
但是您可以使用 user_tables 或者 all_tables 来代替 dba_tables,当然有一些是没有与之对应的,
这样呢,就只会列出当前登录用户允许查看的数据表了,
对于以“dba_”基本上都是有与之相对应的“user_”和“all_”,
其中“user_”对应的是记录当前登陆用户的对象,
而“all_”则是记录当前登陆用户的对象信息以及被授权访问的对象信息,
而“dba_”是包含数据库实例的所有对象信息!!!
分享到:
相关推荐
以下是从“Oracle中常用数据字典大总结”中提取的关键知识点,详细解释了各个数据字典的作用和查询示例。 ### 1. V$INSTANCE - 实例信息 V$INSTANCE数据字典提供了关于Oracle实例的详细信息,包括实例名、数据库名...
下面是一些Oracle中常用的数据字典视图及其查询用途的例子: 1. 用户相关信息 - 查看当前用户的缺省表空间:`SELECT username, default_tablespace FROM user_users;` - 查看当前用户的角色:`SELECT * FROM user_...
介绍了PL/SQL中常用的函数、异常处理等,还有对随机数生成、分析函数、多表合并、多表插入等问题的解决方法。第7章 子程序和触发器,包括函数、存储过程、包以及触发器等。对子程序的调用者权限、管道表函数、传递...
介绍了PL/SQL中常用的函数、异常处理等,还有对随机数生成、分析函数、多表合并、多表插入等问题的解决方法。第7章 子程序和触发器,包括函数、存储过程、包以及触发器等。对子程序的调用者权限、管道表函数、传递...
12.6.2 RMAN中常用命令 12.6.3多通道配置 12.6.4归档Redo日志删除策略 12.6.5二进制压缩 12.7其他备份恢复技术 12.7.1用户管理备份 12.7.2导入导出工具数据泵 12.7.3跨平台数据迁移 12.7.4可传输表空间 ...
根据提供的文件信息,我们可以归纳总结出Oracle 9i在日常维护工作中经常使用的脚本与命令。这些脚本和命令对于数据库管理员来说是非常重要的工具,能够帮助他们高效地管理Oracle数据库。 ### 创建数据库 创建...
从数据字典中查询**:数据字典中不包含错误代码信息。 - **D. 从Google中搜索**:这是一个快速查找相关信息的方法。 - **E. 从alert log搜索**:虽然可以查看到错误日志,但不一定能找到详细的解释。 **14. 为表...
- **Oracle里的数据字典**:介绍Oracle数据库中用于存储元数据的对象,帮助理解数据库的结构。 - **控制数据**:介绍如何使用权限管理功能来控制对数据库对象的访问。 - **改变表和约束条件**:说明如何修改现有的表...
5. **文件系统或数据库**:为了持久化数据,应用可能使用文件系统存储词汇,或者连接到数据库(如SQLite、MySQL或Oracle)。数据库可以提供更好的查询性能和数据安全性。 6. **用户界面**:考虑到这是一个应用,...