一、实验目的:
(1)掌握oracle数据库控制文件的管理
(2)掌握oracle数据库数据文件的管理
(3)掌握oracle数据库重做日记文件的管理
(4)掌握oracle数据库归档管理
二、实验环境:
Oracle数据库
三、实验内容:
(1)向 booksales数据库的users表空间添加一个可以自动扩展的数据文件user02.dbf
SQL> alter tablespace users add datafile
2 'C:\app\oradata\orcl\user02.dbf' size 10m;
表空间已更改。
(2)向 booksales数据库的temp表空间添加一个大小为10MB的临时数据文件temp02.dbf
SQL> alter tablespace temp add tempfile
2 'C:\app\oradata\orcl\temp02.dbf ' size 10m;
表空间已更改。
(3)向 booksales数据库的users表空间添加一个可以自动扩展的数据文件user03.dbf
SQL> alter tablespace users add datafile
2 'C:\app\oradata\orcl\user03.dbf' size 10m;
表空间已更改。
(4)取消booksales数据库的问文件user03.dbf的自动扩展
SQL> alter tablespace datafile
2 'C:\app\oradata\orcl\user03.dbf' autoextend off;
数据库已更改
(5)将booksales数据库数据文件user02.dbf 更名为user002.dbf
SQL> connect sys/123456@orcl as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭
SQL> alter database rename file
2 'C:\app\oradata\orcl\USER02.DBF'to'C:\app\oradata\orcl\USER002.DBF';
alter database rename file
(6)查询BOOKSALES数据库当前所有的数据文件的详细信息;
SQL> select tablespace_name,file_name from dba_data_files;
TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
USERS
C:\APP\ORADATA\ORCL\USERS01.DBF
UNDOTBS1
C:\APP\ORADATA\ORCL\UNDOTBS01.DBF
SYSAUX
C:\APP\ORADATA\ORCL\SYSAUX01.DBF
TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
SYSTEM
C:\APP\ORADATA\ORCL\SYSTEM01.DBF
USERS
C:\APP\ORADATA\ORCL\USER02.DBF
(7)为booksales数据库添加一个多路复用的控制文件多路复用的控制文件。
SQL> alter system set control_files=
2 'C:\app\oradata\orcl\control01.ctl',
3 'C:\app\oradata\orcl\control02.ctl',
4 'C:\app\oradata\orcl\control03.ctl'scope=spfile;
系统已更改。
(8)以二进制文件形式备份booksales数据库的控制文件
SQL> alter database backup controlfile to'C:\app\oradata\orcl\control.bkp';
(9)将booksales数据库的控制文件以文本方式备份到跟踪文件中,并查看备份的内容
数据库已更改
(10)删除booksales数据库的控制文件control03.ctl
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
host del 'C:\app\oradata\orcl\control03.ctl;
SQL>startup
ORACLE例程已经启动。
(11)查询booksales数据库当前控制文件的信息
SQL> select name from v$controlfile;
NAME
-------------------------------------------------------------
C:\app\oradata\orcl\control01.ctl
C:\app\oradata\orcl\control02.ctl
(12)向booksales数据库添加一个重做日记文件组,组号为4,包括一个成员文件undo04b.log,大小为4MB
SQL> alter database add logfile group 4
2 ('C:\app\oradata\orcl\undo04b.log')size 4M;
数据库已更改
(13)向booksales数据库的重做文件日记组添加一个成员文件,名称为undo04b.log
SQL> alter database add logfile member
2 'C:\app\oradata\orcl\undo04b.log'to group 4 ;
数据库已更改
(14)将booksales数据库的重做日记组4的所有文件移植到一个新的目录下
SQL> host move C:\app\oradata\orcl\undo04b.log C:\app\oradata\undo04b.log
移动了 1 个文件。
(15)查询booksales数据库所有重做日记文件组的状态
(16)查询booksales数据库中所有重做日记文件成员的状态
(17)删除booksales数据库的重做日记组4的成员文件undo04b.log
(18)删除booksales数据库的重做日记组4
(19)查看booksales数据库是否处于归档模式
SQL> archive log list
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 3
当前日志序列 5
(20)将booksales数据库设置为归档模式
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> select name,value from V$parameter where name='db_recovery_file_dest';
(21)将booksales数据库设置3个归档目标,其中一个为强制归档目标
SQL>alter system set log_archive_dost_1=’loction=C:\ora’;
系统已更改
SQL>alter system set log_archive_dost_2=’loction=C:\ora’;
系统已更改
SQL>alter system set log_archive_dost_3=’loction=C:\ora’;
系统已更改
(22)对booksales数据库进行5次日记切换,查看归档日记信息
四、心得体会:
在数据库运行过程中,联机重做日志文件可能会因为某些原因损坏,导致数据库最终由于无法将损坏的重做日志文件归档而停止。如果发生这种情况,可以在不关闭数据库的情况下,手动清除损坏的重做日志文件,来避免数据停止。
在两种情况下,清除重做日志文家族的操作无法进行:
(1)数据库只有两个重做日志文件组
(2)需要清除的重做日志文件组就是当前的重做日志文件组