大脑──控制文件
控制文件的作用
控制文件的内容
(1)如图11.1所示。
(2)出现如图11.2所示的编辑控制文件的【一般信息】选项卡。
(3)图11.3所示为编辑控制文件的【记录文档段】选项卡。
在【记录文档段】共记录了8类信息,各参数的含义如表11.1所示。
表11.1 控制文件的【记录文档段】的内容 参数名称
参数含义
DATABASE
有关该数据库的信息
CKPT PROGRESS
可对每一个数据库例程的检查点进行跟踪记录的信息
REDO THREAD
显示分配给数据库重做日志的线程数
REDO LOG
显示当前分配的重做日志组数和数据库最大数量
DATAFILE
显示在数据库中创建的数据文件数和允许最大数量
FILENAME
显示存储在控制文件的文件名数量,包括数据文件、重做日志文件和控制文件
TABLESPACE
显示可以在数据库中创建的表空间数
LOG HISTORY
显示最大重做日志条目和当前分配的重做日志数目
文件夹──表空间
查询表空间的信息
(1)如图11.4所示。
(2)在【名称】单元格显示的是表空间的名称。
(3)在【类型】单元格显示的是表空间的类型,有3种类型。
(4)在【区管理】单元格显示的是表空间本地空间的管理方法。有两种类型。
(5)在【大小】单元格显示了表空间设置的大小。
(6)在【已使用】单元格显示了表空间已经使用的空间大小。
创建表空间
(1)如图11.5所示。
(2)出现如图11.6所示的创建表空间的【一般信息】选项卡。
(3)切换到如图11.7所示的创建表空间的【存储】选项卡。
(4)成功创建表空间后出现如图11.8所示的界面,单击“确定”按钮。
(5)上述创建表空间的SQL代码如下。
?????????????????????????????????????
CREATE TABLESPACE "TEMPTABLESPACE"
LOGGING
DATAFILE 'C:ORACLEORADATAMYORACLETEMPTABLESPACE.ORA' SIZE
5M REUSE EXTENT MANAGEMENT LOCAL
?????????????????????????????????????
【参见光盘文件】:第11章createtablespace.sql。
表空间脱机
1. 什么时候需要表空间脱机
让部分数据库不可用,而允许正常访问数据库的其他部分。
执行脱机表空间备份,尽管表空间处于联机或正在使用状态时也可进行备份。
使某个应用程序及其一组表在更新或维护该应用程序时暂时不可用。
2. 表空间脱机的4种方法
表11.2 表空间脱机的4种方法方法名称
执行操作
正常脱机
对表空间中所有数据文件(所有这些数据文件都必须是可用的)都将使用检查点
临时脱机
对表空间中所有联机数据文件都使用检查点
立即脱机
Oracle不保证提供数据文件,而且不使用任何检查点
介质恢复脱机
该操作用于执行检查点恢复操作,可以将备份的表空间的数据文件进行复制,并用于归档日志文件
3.脱机操作的步骤
(1)如图11.9所示。
(2)出现如图11.10所示的【脱机操作确认】界面,单击按钮。
表空间联机
(1)如图11.11所示。
(2)出现如图11.12所示的【联机操作确认】界面。
数据的仓库──数据文件
查询数据文件的信息
(1)如图11.13所示。
(2)【名称】单元格显示的是数据文件的路径和名称。
(3)【表空间】单元格显示的是数据文件所在的表空间。
(4)【大小】单元格显示的是数据文件的空间大小。
(5)【已使用】单元格显示的是数据文件已经占用的空间大小。
(6)【占用率】单元格显示的是已经使用的空间占总空间的百分比。
建立数据文件
(1)如图11.14所示。
(2)出现如图11.15所示的创建数据文件的【一般信息】选项卡。
(3)切换到如图11.16所示的创建数据文件的【存储】选项卡。
(4)成功创建数据文件后出现如图11.17所示界面。
(5)上述创建数据文件的SQL代码如下。
?????????????????????????????????????
ALTER TABLESPACE "TEMPTABLESPACE"
ADD
DATAFILE 'C:ORACLEORADATAMYORACLETEMPDATAFILE.ora' SIZE
5M AUTOEXTEND
ON NEXT 100K MAXSIZE UNLIMITED
?????????????????????????????????????
【参见光盘文件】:第11章createdatafile.sql。
数据文件脱机与脱机
(1)如图11.18所示。
(2)出现如图11.19所示界面。
有备无患──回退段
表11.3 段的类型段的名称
段的作用
数据段
存放资料表或簇的资料的区的集合
索引段
存储索引数据的区的集合
回退段
存储要撤消的信息,有的书籍上也称为回滚段
临时段
当SQL语句需要临时空间时,将建立临时段。一旦执行完毕,临时段占用的空间将归还给系统
什么是回退段
回退段是一种特殊类型的数据段,记录着数据库被某个事务操作后的资料的原值,因此回退段里的资料可以用来对数据库进行恢复。
创建回退段
(1)如图11.20所示。
(2)出现如图11.21所示的创建回退段的【一般信息】选项卡。
(3)切换到如图11.22所示的创建回退段的【存储】选项卡。
(4)出现如图11.23所示界面。
(5)打开数据库的初始化文件init.ora,其中有关回退段的设置参数如下。
?????????????????????????????????????
# 系统管理的撤消和回退段
undo_management=AUTO
undo_tablespace=UNDOTBS
?????????????????????????????????????
将上述代码更改为如下代码。
?????????????????????????????????????
# 系统管理的撤消和回退段
undo_management=MANUAL
undo_tablespace=UNDOTBS
?????????????????????????????????????
(6)如图11.24所示。
(7)成功创建回退段后的界面如图11.25所示。
(8)上述创建回退段的SQL代码如下。
?????????????????????????????????????
CREATE PUBLIC ROLLBACK SEGMENT "TEMPROLLBACKSEGMENT"
TABLESPACE "UNDOTBS"
STORAGE ( INITIAL 10K
NEXT 10K
MAXEXTENTS 5);
ALTER ROLLBACK SEGMENT "TEMPROLLBACKSEGMENT" ONLINE;
?????????????????????????????????????
【参见光盘文件】:第11章createrollbacksegment.sql。
黑匣子──重做日志组
重做日志组的工作原理
重做日志文件组记录了数据库的所有变化,其工作原理如图11.26所示。
查询默认的重做日志组信息
(1)如图11.27所示。
(2)在【状态】单元格下显示了重做日志组的状态。有4种状态。
(3)在【组】单元格显示的是组的序号。
(4)在【成员数】单元格显示的是该组包含的日志文件数目。
(5)在【已归档】单元格显示的是日志组是否已经归档。
(6)在【大小】单元格显示的是日志组的大小。
(7)在【序列】单元格显示的是日志组的序列号。
(8)在【第一个更改编号】单元格显示的是日志组记录的系统更改编号,该编号用于进行恢复。
创建重做日志组
(1)如图11.28所示。
(2)出现如图11.29所示的创建重做日志组的【一般信息】选项卡。
(3)出现如图11.30所示界面。
(4)上述创建重做日志组的SQL代码如下。
?????????????????????????????????????
ALTER DATABASE
ADD LOGFILE GROUP 4
('C:ORACLEORADATAMYORACLElogMYORACLE4.ora') SIZE 1024K
?????????????????????????????????????
【参见光盘文件】:第11章createredologgroup.sql。
历史档案──归档日志
更改数据库的日志工作模式
(1)如图11.31所示的编辑数据库配置的【一般信息】选项卡。
(2)如图11.32所示的编辑数据库配置的【恢复】选项卡。
(3)出现如图11.33所示的【数据库颤动】界面。
日志文件的归档
(1)执行结果如图11.34所示。
?????????????????????????????????????
ALTER SYSTEM ARCHIVE LOG START;
?????????????????????????????????????
【参见光盘文件】:第11章 archivelog.sql。
(2)若执行以下SQL代码将手动归档所有未归档的日志文件。
?????????????????????????????????????
ALTER SYSTEM ARCHIVE LOG ALL;
?????????????????????????????????????
【参见光盘文件】:第11章 archivealllog.sql。
归档日志文件的信息
(1)如图11.35所示。
(2)出现如图11.36所示的编辑归档日志的【一般信息】选项卡。