`
lijunaccp
  • 浏览: 152842 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

数据字典和控制文件

阅读更多
1.数据字典简介
数据字典分为两大类:一种为基表,另一种为数据字典视图。
Oracle服务器在数据库创建时通过运行sql.bsq来自动生成这些基表。
在任何数据库中,基表都永远是被最先创建的对象。一般很少有人看得懂基表,都是通过访问数据字典视图来得到数据库的相关信息。
数据字典视图是通过运行catalog.sql脚本文件来产生的,可以在$ORACLE_HOME\rdbms\admin目录下找到该脚本文件和sql.bsq脚本文件,以及许多其他的数据库管理和维护所需的脚本文件。
2.数据字典和视图
数据字典分为3类,其前缀分别为USER,ALL,和DBA。许多数据字典视图包含相似的信息,以下解释每类数据字典视图
1) USER_*:有关用户所拥有的对象的信息,即用户自已创建的对象的信息。
2) ALL_*:有关用户可以访问的对象的信息,即用户自已创建的对象的信息再加上其他用户创建的对象但该用户有权访问的信息。
3) DBA_*:有关整个数据库中对象的信息。
这里的*可以为TABLES,INDEXES,OBJECTS等。
以DBA用户登录后,可以用如下命令显示user_objects,all_objects和dba_objects
SQL>desc user_objects
SQL>desc all_objects
SQL>desc dba_objects
所有的数据字典视图都是静态视图,只有当执行了Oracle的ANALYZE命令之后,这些视图才会被刷新。
3.格式化数据字典视图的输出
使用COLUMN命令来分别格式化列owner,object_name
SQL>col owner for a8
SQL>col object_name for a12
4. 如何使用数据字典视图
查看账号下有那些表
SQL>select table_name from user_tables;
查看那些表可以使用
SQL>select table_name,owner from all_tables where owner not like ‘%SYS’;
另一个可能会用到的数据字典是user_catalog,可以用命令得到该数据字典的结构
SQL>desc user_catalog
可以用以下命令查看拥有的所有表的名字和类型
SQL>select * from user_catalog;
数据字典user_catalog有一个别名叫做cat。用户可以用它得到和user_catalog完全相同的信息。
5.动态性能表(视图)
除了静态字典视图之外,还有另一大类数据字典视图,它们就是动态性能视图。
动态性能视图是一组虚表,在数据库运行期间,这些虚表存在于内存中,它们的名字都是以v$开头,利用动态性能视图可以获得类似如下的信息:
1) 会话活动的信息
2) 对象打开或关闭的信息
3) 对象在线或离线的信息等
可能通过查询数据字典v$fixed_table或dictionary来得到Oracle数据库中所有的数据字典。
通过select * from dictionary或select * from v$fixed_table可能会显示上千行的结果,可以通过SPOOL命令输出到指定文件中查看。
6.数据字典应用实例
1)得到数据库的名字,创建日期等
SQL>select name,created,log_mode,open_mode from v$database;
2) 得到数据库的计算机的主机名,数据库的实例名及数据库管理系统的版本
SQL>select host_name,instance_name,version from v$instance;
3)得到数据库管理系统的版本
SQL>select * from v$version;
4) 得到控制文件名字
SQL>select * from v$controlfile;
5) 得到数据库的重做日志的配置信息
SQL>select group#,members,bytes,status,archived from v$log;
6) 得到每个重做日志文件所存放的具体位置
SQL>select * from v$logfile;
7) 得到数据库的备份和恢复策略并确定归档文件的具体位置
SQL>archive log list
8) 得到数据库中到底有多少表空间以及每个表空间的状态
SQL>select tablespace_name,block_size,status,contents,logging from dba_tablespaces;
9) 得到每个表空间存在哪个磁盘上以及文件的名字等信息
SQL>select file_id,file_name,tablespace_name,status,bytes from dba_data_files;
10) 得到数据库系统上到底有多少用户和什么时候创建数据库的
SQL>select username,created from dba_users;
7. 什么是控制文件及引入的目的
数据库的控制文件是数据库中极其重要的文件。记载了物理数据库的当前状态。每个控制文件只属于一个数据库,但为了防止控制文件丢失,一个数据库一般有不止一个控制文件。
8. 怎样查看控制文件的配置
可通过数据字典v$controlfile_record_section来获得
SQL>select type,record_size,records_total,records_used from v$controlfile_record_section;
1) 获得控制文件名字
SQL>select value from v$parameter where name=’control_files’;
也可以使用
SQL>select * from v$controlfile;
9.怎样添加和移动控制文件
在一个已经安装的Oracle数据库中使用正文初始化参数文件添加或移动控制文件的具体步骤:
a. 利用数据字典v$controlfile来获取现有控制文件的名字
b. 正常关闭Oracle数据库,如shutdown或shutdown immediate
c. 将新的控制文件名添加到参数文件的CONTROL_FILES参数中
d. 使用操作系统的复制命令将现有控制文件复制到指定位置
e. 重新启动ORACLE数据库
f. 利用数据字典v$controlfile来验证新的控制文件名是否正确
g. 如果有误,重做上述操作;如果无误,删除无用的旧控制文件
如果使用了服务器初始化参数文件(SPFILE),其步骤会略有不同,以下是在一个已经安装的Oracle数据库中使用二进制初始化参数文件添加或移动控制文件的具体步骤
a. 利用数据字典v$controlfile来获取现有控制文件名字
b. 修改SPFILE,使用alter system set control_files命令来改变控制文件的位置
如:
SQL>alter system set control_files=’D:\Disk3\CONTROL01.CTL’,
’D:\Disk3\CONTROL02.CTL’, ’D:\Disk3\CONTROL03.CTL’  SCOPE=SPFILE;
c. 正常关闭Oracle数据库,如shutdown或shutdown immediate
d. 使用操作系统的复制命令将现有控制文件复制到指定位置
e. 重新启动ORACLE数据库,如startup
f. 利用数据字典v$controlfile来验证新的控制文件名是否正确
g. 如果有误,重做上述操作;如果无误,删除无用的旧控制文件
10. 控制文件的备份
可以使用如下命令对控制文件进行备份
SQL>alter database backup controlfile to ‘D:\backup\control.bak’;
也可将创建控制文件的命令备份到一个追踪文件中。该追踪文件包含有重建控制文件所需的SQL语句。
SQL>alter database backup controlfile to trace;
该追踪文件在用户的追踪文件所在的目录下。
提示:现在应该尽快将该文件从用户的追踪文件所在的目录中复制到其他目录下,并将文件名改为有意义的文件名。否则随着时间的推移,将会很难找到该文件。
11. 移动控制文件的实例
以下操作假设数据库没有使用服务器初始化参数文件(SPFILE)。
可以通过show parameter pfile命令来确定自已系统使得的是正文初始化参数文件(PFILE),还是服务器初始化参数文件(SPFILE)。
1) 使用正文的初始化参数文件(PFILE)来移动控制文件的实例
首先把三个控制文件分别拷贝到不同的磁盘中,用正文编辑器打开初始化参数文件,并对CONTROL_FILES参数修改路径,如:(control_files=(“D:\CONTROL01.CTL”, “E:\CONTROL02.CTL”, “F:\CONTROL03.CTL”))
2) 使用二进制的初始化参数文件来移动控制文件
用命令修改控制文件位置
SQL>alter system set control_files= ‘D:\CONTROL01.CTL’, ‘E:\CONTROL02.CTL’, ‘F:\CONTROL03.CTL’ SCOPE=SPFILE;
关闭数据库,然后把三个控制文件分别拷贝到不同的磁盘中,启动数据库。
把之前旧的控制文件删除。
分享到:
评论

相关推荐

    Oracle10g DBA经常使用的动态性能视图和数据字典

    v$lock:通过访问数据库会话,设置对象锁的所有信息 v$log:从控制文件中提取有关重做日志组的信息 v$logfile有关实例重置日志组文件名及其位置的信息 v$parameter:初始化参数文件中所有项的值 v$process:当前进程...

    MATLAB数据字典生成代码-MC10sensors:MC10传感器

    MATLAB数据字典生成代码此文件夹包含用于处理活动控件分类的健康控件MC10传感器数据的脚本和笔记本。 我一直在努力改进代码文档,将大多数功能模块化,以便于调试,并希望可以对MC10研究的不同部分轻松进行修改。 祝...

    数据可视化的智慧河南大屏 JAVA毕业设计 Vue+SpringBoot+MySQL

    包含了GDP、人口、土地面积、企业数、人均收入数据排行、地图展示等模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,数据可视化的智慧河南...

    数据库设计说明.doc

    "编写数据库设计说明的目的是:描述×××××(项目名)中的存储分配和数据组织,为 构造系统文件、表、字典和目录提供基本设计数据。" 2 参考资料 列出本文档要用到的下列这些资料,包括的作者、来源、编号、标题...

    分区表管理.ppt

    关于ORACLE分区表的管理教程 使用适当的存储设置创建表 控制表占用的空间 分析表以检查完整性和移植 从数据字典中检索有关表的信息 在不同格式的 ROWID 之间转换

    ddl数据库资料

    模式编译器处理模式定义主要产生两种类型的数据:数据字典以及数据类型和结构定义。 数据字典和数据库内部结构信息是创建该模式所对应的数据库的依据,根据这些信息创建每个数据库对应的逻辑结构;对数据库数据的...

    oracle数据库修复

    支持从ASM中直接抽取出数据文件和其他任意存储在ASM中的文件(包括控制文件、日志文件和归档日志等),即使相关的磁盘组不能成功mount 支持的Oracle数据库版本包括7,8i,9i,10g,11g 支持多种平台的数据库,包括AIX...

    rar压缩软件.rar

    如果文件和列表 文件都未被指定,那么 RAR 将默认是 *.*,来处理所有文件。 许多 RAR 命令,例如解压、测试和列表,都允许在压缩文件名中使用通配符。如 在压缩文件名掩码中没有指定扩展名,RAR 会认为是 .rar,...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

     5.5 在OEM中查询内存参数与数据字典视图  5.5.1 查询内存参数  5.5.2 在OEM中查询初始化参数  5.5.3 查询数据字典视图  5.6 小结  第6章 管理表空间  6.1 表空间概述  6.1.1 表空间的特性与作用  ...

    木马文件检测系统 JAVA毕业设计 Vue+SpringBoot+MySQL

    包含了木马类型、木马软件档案、安全资讯、软件脆弱点、软件检测模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,木马文件检测系统基于角色...

    炼数成金 课程+教材 Oracle数据库职业直通车-Oracle入门学习教学视频 谭怀远老师.txt

    第4课 Oracle数据库的参数文件,控制文件,数据文件和日志文件 第5课 Oracle体系架构简述 第6课 Oracle数据库的对象(1) 第7课 Oracle数据库的对象(2) 第8课 复杂一些的SQL语句 第9课 学写存储过程和函数 第10课...

    Report machine 2.4

    --TRMReport增加DefaultDictionaryFile属性,可以设置默认数据字典 v.2.2(Build 2002/01/28) - 完善缩放打印功能 - TRMCrossView去掉一些BUG v.2.2(Build 2002/01/11) - 增加缩放打印功能, - ...

    Oracle9i数据库系统概述.pdf

    数据文件(datafile) 重做日志文件(redolog file) 控制文件(control file) 1、数据文件------存储了基表数据、索引数 据、回退数据、临时数据、以及数据字典 基表数据。每个数据库至少由一个或多个 数据文件...

    中国银保监会银行业金融机构监管数据标准化规范(2019版).xlsx

    8. 银行自定义数据项:由于银行机构业务和信息系统的差异性,规范中一些数据数据项填报要求注明由银行自定义,此类数据数据项报送应注意使用中文字典或中文描述,避免使用英文或代码表示。对于《规范》中已经列出...

    优质Python教程 Python3.7从基础入门到精通进阶教程 第03章 列表、元组和字典的基本操作 共14页.ppt

    第3章 列表、元组和字典的基本操作.ppt 第4章 熟练操作字符串.ppt 第5章 程序的控制结构.ppt 第6章 函数.ppt 第7章 对象与类.ppt 第8章 程序调试和异常处理.ppt 第9章 模块与类库.ppt 第10章 日期和时间.ppt 第11章 ...

    ORACLE学习ppt

    ORACLE概述和体系结构,安装和管理oracle,创建数据库和数据字典,控制文件和重做日志文件,逻辑和物理数据库结构.......

    [详细完整版]数据库复习题.doc

    7、数据字典通常包括数据项、 、 、 和处理过程。 8、根据不同的数据模型,数据库管理系统可以分为 层次型 、 网状型 、 关系型 和面向对象型。 9、现实世界中,事物的个体在信息世界中称为 实体 ,在机器世界中...

    精品课件 Python从入门到精通 第6章 字典与集合(共8页).ppt

    Python从入门到精通 第4章 流程控制语句.ppt Python从入门到精通 第5章 列表与元组.ppt Python从入门到精通 第6章 字典与集合.ppt Python从入门到精通 第7章 字符串.ppt Python从入门到精通 第8章 Python中使用正则...

    MySQL学习笔记之为什么表数据删掉一半,表文件大小不变(十三)

    参数设置为OFF ,表的数据存放在系统表空间,也就是跟数据字典放在一起 参数设置为ON,每个InnoDB 表数据存储在/ibd为后缀的文件 从 MySQL 5.6.6 版本开始,它的默认值就是 ON 了 2.数据删除流程 索引在InnoDB里的...

    oracle9i优化设计与系统调整

    §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1 数据文件 26 §1.2.2 控制文件 26 §1.2.3 重做日志文件 26 §1.2.4 其它支持文件 26 §...

Global site tag (gtag.js) - Google Analytics