一、实验目的
(1)掌握Oracle数据库数据文件的管理
(2)掌握Oracle数据库控制文件的管理
(3)掌握Oracle数据库重做日志文件的管理
(4)掌握Oracle数据库归档管理
二、实验要求
(1)完成数据文件的管理操作,包括数据库文件的创建、修改、重命名、移植和查询等操作。
(2)完成控制文件的管理操作,包括控制文件的添加、备份、删除以及查询操作。
(3)完成重做日志文件的管理操作,包括重做日志文件组及其成员文件的添加、删除、查询等操作,以及重做日志文件的重命名、移植、日志切换等操作。
(4)完成数据库归档模式设置,归档路径设置。
三、实验步骤及截图
–(1)向BOOKSALES数据库的USERS表空间添加一个大小为10MB的数据文件users02.dbf。
ALTER TABLESPACE USERS ADD DATAFILE
‘users02.dbf’ SIZE 10M;
–(2)向BOOKSALES数据库的TEMP表空间添加一个大小为10MB的临时数据文件temp02.dbf。
ALTER TABLESPACE TEMP ADD TEMPFILE
‘temp02.dbf’ SIZE 10M;
–(3)向BOOKSALES数据库的USERS表空间中添加一个可以自动扩展的数据文件user03.dbf,大小5MB,每次扩展1MB,最大容量为100MB。
ALTER TABLESPACE USERS ADD DATAFILE
‘user03.dbf’ SIZE 5M
AUTOEXTEND ON NEXT 1M MAXSIZE 100M;
–查看数据文件是否自动扩展:
set pagesize 40;
set linesize 400;
select file_id,file_name,tablespace_name,autoextensible from dba_data_files order by file_id;
–(4)取消BOOKSALES数据库数据文件user03.dbf的自动扩展。
ALTER DATABASE DATAFILE
‘user03.dbf’
AUTOEXTEND OFF;
–(5)将BOOKSALES数据库数据文件users02.dbf更名为users002.dbf。
ALTER TABLESPACE USERS OFFLINE;
HOST COPY D:\ORACLE\DATABASE\USERS02.DBF D:\ORACLE\DATABASE\USERS002.DBF
ALTER TABLESPACE USERS RENAME DATAFILE
‘D:\ORACLE\DATABASE\USERS02.DBF’ TO ‘D:\ORACLE\DATABASE\USERS002.DBF’
ALTER TABLESPACE USERS ONLINE;
–(6)查看当前表空间数据文件的位置,查询BOOKSALES数据库当前所有的数据文件的详细信息。
select name from v$datafile;
select t1.name AS 表空间,t2.name AS 文件位置 from v t a b l e s p a c e t 1 , v tablespace t1,v tablespacet1,vdatafile t2 where t1.ts#=t2.ts#;
–(7)为BOOKSALES数据库添加一个多路复用的控制文件control03.ctl。
select name from v$controlfile;
show parameter control
ALTER SYSTEM SET CONTROL_FILES=
‘D:\oracle19c\oradata\ORCL\CONTROL01.CTL’,
‘D:\oracle19c\oradata\ORCL\CONTROL02.CTL’,
‘D:\oracle19c\oradata\ORCL\CONTROL03.CTL’ SCOPE=SPFILE;
SHUTDOWN IMMEDIATE
HOST COPY D:\oracle19c\oradata\ORCL\CONTROL01.CTL D:\oracle19c\oradata\ORCL\CONTROL03.CTL
STARTUP
–(8)以二进制文件的形式备份BOOKSALES数据库的控制文件。
ALTER DATABASE BACKUP CONTROLFILE TO ‘D:\BACKUP\CONTROL.BKP’
–(9)将BOOKSALES数据库的控制文件以文本方式备份到跟踪文件中,并查看备份的内容。
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
–备份位置 D:\Oracle\rdbms\trace
–(10)删除BOOKSALES数据库的控制文件control03.ctl。
ALTER SYSTEM SET CONTROL_FILES=
‘D:\oracle19c\oradata\ORCL\CONTROL01.CTL’,
‘D:\oracle19c\oradata\ORCL\CONTROL02.CTL’
SCOPE=SPFILE;
SHUTDOWN IMMEDIATE
HOST DEL D:\oracle19c\oradata\ORCL\CONTROL03.CTL
STARTUP
–(11)查询BOOKSALES数据库当前所有控制文件信息。
SELECT NAME FROM v$controlfile;
–(12)向BOOKSALES数据库添加一个重做日志文件组(组号为4),包含一个成员文件undo04a.log,大小为4MB。
ALTER DATABASE ADD LOGFILE GROUP 4
‘undo04a.log’ size 4m;
–(13)向BOOKSALES数据库的重做日志组4中添加一个成员文件,名称为undo04b.log。
ALTER DATABASE ADD LOGFILE MEMBER
‘undo04b.log’ TO GROUP 4;
–(14)将BOOKSALES数据库的重做日志组4中所有成员文件移植到一个新的目录下。
HOST MOVE D:\ORACLE\DATABASE\UNDO04A.LOG
D:\ORACLE\UNDO04A.LOG
HOST MOVE D:\ORACLE\DATABASE\UNDO04B.LOG
D:\ORACLE\DATABASE\UNDO04B.LOG
ALTER DATABASE RENAME FILE
D:\ORACLE\DATABASE\UNDO04A.LOG
D:\ORACLE\DATABASE\UNDO04B.LOG
TO
D:\ORACLE\UNDO04A.LOG
D:\ORACLE\DATABASE\UNDO04B.LOG
–(15)查询BOOKSALES数据库中所有重做日志文件组的状态。
ALTER DATABASE DROP LOGFLIE MEMBER
‘D:\ORACLE\DATABASE\UNDO04B.LOG’;
–(16)查询BOOKSALES数据库中所有重做日志文件成员的状态。
–查询重做日志文件组及其状态信息
select group#,sequence#,members,archived,status from v$log;
–(17)删除BOOKSALES数据库的重做日志组4中的成员文件undo04b.log。
–查看当前数据库所有的重做文件及其状态信息
select group#,member,status from v$logfile;
–(18)删除BOOKSALES数据库的重做日志组4。
ALTER DATABASE DROP LOGFILE GROUP 4;
–(19)查看BOOKSALES数据库是否处于归档模式。权限不足时可在SQLplus中使用命令 conn BOOKSALES/123 as sysdba 进行登录
ARCHIVE LOG LIST;
select name,log_mode from v$database;
–(20)将BOOKSALES数据库设置为归档模式。
SHUTDOWN IMMEDIATE
SELECT NAME,VALUE FROM V$PARAMETER WHERE NAME=‘db_recovery_file_dest’ ;
STARTUP MOUNT
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
–(21)将BOOKSALES数据库设置为归档模式。
alter system set log_archive_dest_1=‘location=C:\app\Administrator\oradata\backup\a\archive mandatory’;
alter system set log_archive_dest_2=‘location=C:\app\Administrator\oradata\backup\b\archive mandatory’;
alter system set log_archive_dest_3=‘service=standby1’;
–(22)对BOOKSALES数据库进行5次日志切换,查看归档日志信息。
alter system switch logfile;
select sequence#,first_change#,next_change# from V$archived_log;