1.什么是数据字典?
数据字典是由oracle服务器创建和维护的一组只读的系统表(与审计有关的数据字典(以AUD$开头的表)除外,这些表是可以修改的),数据字典中存放了有关数据库和数据对象的信息,oracle服务器就是依赖这些信息来管理和维护oracle数据库。
2.数据字典中所存的信息有哪些?
数据库的逻辑结构和物理结构
所有数据库对象定义的信息
所有数据库对象的磁盘空间分配的信息
oracle用户名
每个用户所授予的权限和角色
完整性约束的信息
列的默认值
审计信息等。
3.数据字典的分类?
分为两大类,一种为基表,由create database创建,另一种为数据字典视图,通过运行catalog.sql脚本产生。
4.静态数据字典?
所有的数据字典视图都是静态视图,即当数据库发生变化时,oracle服务器并不及时地刷新这些视图中的信息。
数据字典视图包含了以下信息:
对象的属主
用户所拥有的权限
对象的创建时间
对象存储参数的设置
对象存储空间的使用情况等。
5.动态数据字典?
即动态性能视图,它是一组虚表,在oracle数据库运行期间,这些虚表存在于内存中,在整个数据库运行期间,oracle服务器将当前数据库的活动记录在这组虚表中,因此这些动态性能视图的信息(这些信息来自内存和控制文件)实时的反映了数据库运行的状态。sys用户拥有所有的动态性能视图,利用动态性能视图可以获得类似如下的信息:
会话活动的信息
对象打开或关闭的信息
对象在线或离线的信息等。
一般dba通常使用这些动态性能视图来监督oracle数据库的运行,或诊断和调优多需要的信息
记住:这些动态性能视图是不允许进行DML操作的。
6.oracle服务器是怎样维护数据字典的?
数据字典主要是由oracle服务器来使用的,oracle服务器通过访问基表来获得诸如用户、用户对象和存储结构等方面的信息,并利用这些信息进行所需的数据库的管理和维护。通常只有oracle服务器可以修改数据字典中的数据,在oracle数据库运行期间,如果数据库结构发生了变化,oracle服务器会及时的修改相应的数据字典以记录这种变化。
7.数据字典的使用?
因为数据字典是表或视图,因此可以使用sql的查询语句从数据字典中获取信息。
例如:查询用户下有哪些表 select table_name from user_tables
查询那些表可以使用 select table_name,owner from all_tables where owner not like ‘%sys’
查看用户所拥有的所有表的名字和类型 select * from user_catalog(cat别名)
8.dba开始工作时可能用到的一些数据字典?
v$archived,v$archived_log,v$backup,v$database,v$datafile,v$log,v$logfile,v$loghist,v$tablespace,v$tempfile
9.什么是控制文件?
oracle数据库的控制文件是数据库中极其重要的文件,该文件是比较小的二进制文件,它记载了物理数据库的当前状态,每一个控制文件只属于一个数据库,在数据库状态或打开之前,oracle服务器必须能够访问控制文件,当数据库在打开状态下,oracle服务器会随时地修改控制文件中的内容,任何用户,包括dba都不能修改数据库中的数据。
10.控制文件中所存的信息?
数据库的名字
数据库标识符
数据库创建的时间戳
练级重做日志文件的名字和准确位置
当前日志的序列号
校验点信息
日志的历史信息
归档日志文件的准确位置和状态
数据文件的名字和准确位置
表空间的信息
备份的准备位置和状态
11.oracle服务器是如何使用和维护控制文件的?
利用数据字典从控制文件中抽取信息
12.如何控制控制文件的大小?
控制文件由两大部分组成:可重用部分和不可重用部分
可重用部分的大小可用control_file_record_keep_time参数来控制,该参数的默认值为7天,这部分内容可以自动扩展
不可重用部分的大小可使用create database或create controlfile语句中的下列关键字(参数):
maxdatafiles,maxinstances,maxlogfiles,maxloghistroy,maxlogmembers
13.怎样查看控制文件?
通过数据字典v$controlfile_record_section获得
14.怎样移动或增加控制文件?
一。使用正文参数文件来移动控制文件
二。使用二进制初始化的参数文件来移动控制文件
15.怎样备份二进制控制文件?
alter database backup controlfile to ‘d:\backup\control.bak’
16.怎样备份正文控制文件?
将创建控制文件的命令备份到一个追踪文件中,该追踪文件包含有重建控制文件所需的sql语句
alter database backup controlfile to trace