实验8 控制文件和重做日志文件的管理 下载本文

实验七 控制文件和重做日志文件的管理

一、目的与要求

1.掌握控制文件的创建方法;

2. 理解重做日志的基本概念,掌握管理重做日志的方法; 3. 掌握归档重做日志的管理方法; 二、实验准备

1. 创建新的控制文件。

(1) 获取数据库的数据文件和重做日志文件列表。

(2)关闭数据库。 SHUTDOWN IMMEDIATE

(3)备份所有的数据文件、重做日志文件和SPFILE参数文件。 (4)使用STARTUP NOMOUNT启动数据库实例。

(5)使用CREATE CONTROLFILE语句创建控制文件。如果需要重命名数据库,则使用RESETLOGS子句,否则使用NORESETLOGS子句。

(6)将新的控制文件备份到其他不在线的存储介质中,如U盘、移动硬盘或磁带等。 (7)根据实际情况修改CONTROL_FILE参数;如果修改了数据库名称,则还需要修改DB_NAME参数。

(8)如果需要的话,则恢复数据库。

(9)如果在第8步中进行了恢复数据库的操作,则需要执行ALTER DATABASE OPEN语句打开数据库。如果在创建控制文件时使用了RESETLOGS子句,则需要使用ALTER DATABASE OPEN RESETLOGS语句。

2. 恢复控制文件

如果控制文件被破坏,但存储控制文件的目录仍然是可访问:

1) 关闭数据库实例;

2) 使用操作系统命令将控制文件副本复制到控制文件目录下; 3) 使用STARTUP命令打开数据库实例。

如果存储介质被破坏,导致存储控制文件的目录无法访问:

1) 关闭数据库实例;

2) 使用操作系统命令将控制文件副本复制到一个新的可以访问的目录下; 3) 修改CONTROL_FILES参数,将无效的控制文件目录修改为新的目录; 4) 使用STARTUP命令打开数据库实例。

3. 删除控制文件 (1)关闭数据库。

(2)编辑CONTROL_FILES参数的值,删除指定的控制文件信息。

(3)重新启动数据库。

4. 查看控制文件信息 视 图 名 V$DATABASE V$CONTROLFILE V$CONTROLFILE_RECORD_SECTION 说 明 显示控制文件中描述的数据库信息 显示控制文件的名称列表 显示控制文件的记录信息 V$PARAMETER

5. 查看重做日志信息

显示初始化参数CONTROL_FILES中定义的控制文件名称 SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG; SELECT GROUP#,STATUS,MEMBER FROM V$LOGFILE; 6. 创建重做日志组和成员

在ALTER DATABASE语句中使用ADD LOGFILE子句也可以创建重做日志组: 在使用ALTER DATABASE语句创建重做日志组时,可以使用GROUP子句定义组编号: 在ALTER DATABASE语句中使用ADD LOGFILE MEMBER关键字,可以向已存在的重做日志组中添加成员:

7. 重命名重做日志成员 8. 用户必须拥有如下权限:

? ALTER DATABASE系统权限。

? 复制文件到指定位置的操作系统权限。 ? 打开和备份数据库的权限。 (1)使用SHUTDOWN命令关闭数据库。 (2)将重做日志文件复制到新的位置。 (3)使用STARTUP MOUNT命令装载数据库。

(4)使用带RENAME FILE子句的ALTER DATABASE语句重命名数据库的重做日志文件,例如:

ALTER DATABASE

RENAME FILE '/diska/logs/log1a.rdo', '/diska/logs/log2a.rdo' TO '/diskc/logs/log1c.rdo', '/diskc/logs/log2c.rdo'; (5)使用ALTER DATABASE OPEN命令打开数据库。 9. 删除重做日志组和成员

DROP LOGFILE子句也可以删除指定的重做日志组。 DROP LOGFILE MEMBER子句也可以删除指定的重做日志组。

10. 清空重做日志文件

ALTER DATABASE CLEAR LOGFILE命令初始化此日志文件。执行此命令时,不需要关闭数据库。 三、实验内容

1.新创建一数据库TEST。

2.打开EM并连接上TEST实例,在管理页面查看该实例的参数CONTROL_FILES的值。 3.根据第2步查看到的值,找到磁盘上对应的控制文件,将其剪切,拷贝到D:\\backup目录下。手工删除源目录下的控制文件,测试是否可以通过正确连接TEST实例。

4.将D:\\backup目录下的控制文件拷贝到原来的位置,再次测试是否可以正确连接TEST实例。

5.将TEST数据库的数据文件、日志文件(c:\\oracle\\product\\10.2.0\\oradata\\test目录下)和SPfileTEST.ora(c:\\oracle\\product\\10.2.0\\db_1\\dbs目录下)文件备份到D:\\backup。

6.关闭TEST实例,删除c:\\oracle\\product\\10.2.0\\oradata\\test目录下的控制文件、数据文件和日志文件。使用所学的方法创建新的控制文件。启动TEST实例,测试能否正常启动。

7.从视图V$DATABASE中查询数据库编号、数据库名称和日志模式等信息,请将命令写在实验报告中。

8. 从视图V$CONTROLFILE_RECORD_SECTION中查询到控制文件的记录类型、记录大小、记录总数量、使用记录数量等信息,请将命令写在实验报告中。

9.查询视图V$LOGFILE,显示重做日志组及其成员的基本信息,将命令写在实验报告中。 10.使用ALTER DATABASE语句创建重做日志组号为10并且包含两个重做日志文件log1.log和log2.log,将命令写在实验报告中。

11.添加一重做日志文件log3.log到日志组10中,将命令写在实验报告中。 12.删除编号为10的重做日志组,将命令写在实验报告中。 13.在EM中完成以上与重做日志文件相关的操作(10-12)。

14.使用SQL语句查看到归档日志进程的信息,将命令写在实验报告中。 15.使用SQL语句查看到归档日志信息,将命令写在实验报告中。