1、实验目的
(4)掌握Oracle数据库归档管理。
2、实验环境
Windows 7家庭普通版。
Oracle 11g
3、实验要求
(1)完成数据文件的管理操作,包括数据文件的创建、修改、重命名、移植及查询等操作。
(2)完成控制文件的管理操作,包括控制文件的添加、备份、删除以有查询操作。
(3)完成重做日志文件的管理操作,包括重做日志文件组及其成员文件的添加、删除、查询等操作,以及重做日志文件的重命名、移植、日志切换等操作。
(4)完成数据库归档模式设置、归档路径设置。
4、实验内容
(1)向BOOKSALES数据库的USERS表空间添加一个大小为10MB的数据文件users02.dbf。
(2)向BOOKSALES数据库的TEMP表空间添加一个大小为10MB的临时数据文件temp02.dbf。
(3)向BOOKSALES数据库的USERS表空间中添加一个可以自动扩展的数据文件user03.dbf,大小5MB,每次扩展1MB,最大容量为100MB。
(4)取消BOOKSALES数据库数据文件user03.dbf的自动扩展。
(5)将BOOKSALES数据库数据文件users02.dbf更名为users002.dbf。
(6)查询BOOKSALES数据库当前所有的数据文件的详细信息。
(7)为BOOKSALES数据库添加一个多路复用的控制文件control03.ctl。
(8)以二进制文件的形式备份BOOKSALES数据库的控制文件。
(9)将BOOKSALES数据库的控制文件以文本方式备份到跟踪文件中,并查看备份的内容。
(10)删除BOOKSALES数据库的控制文件control03.ctl。
(12)向BOOKSALES数据库添加一个重做日志文件组(组号为4),包含一个成员文件undo04a.log,大小为4MB。
(13)向BOOKSALES数据库的重做日志组4中添加一个成员文件,名称为undo04b.log。
(14)将BOOKSALES数据库的重做日志组4中所有成员文件移植到一个新的目录下。
(15)查询BOOKSALES数据库中所有重做日志文件组的状态。
(16)查询BOOKSALES数据库中所有重做日志文件成员的状态。
(17)删除BOOKSALES数据库的重做日志组4中的成员文件undo04b.log。
(19)查看BOOKSALES数据库是否处于归档模式。
(20)将BOOKSALES数据库设置为归档模式。
(21)为BOOKSALES数据库设置3个归档目标,其中一个为强制归档目标。
(22)对BOOKSALES数据库进行5次日志切换,查看归档日志信息。
5、实验过程与结果
1) 向BOOKSALES数据库的USERS表空间添加一个大小为10MB的数据文件users02.dbf。
ORACLE语句:
sql> ALTER TABLESPACE USERS ADD DATAFILE
2 ‘C:\ORACLEsql\ORADATA\ORAL\USERS02.DBF‘ SIZE 10M;
查询语句:
sql> SELECT T.TABLESPACE_NAME,ROUND(SUM(BYTES / (1024 * 1024)),0) TS_SIZE
2 FROM DBA_TABLESPACES T,DBA_DATA_FILES D
3 WHERE T.TABLESPACE_NAME = D.TABLESPACE_NAME
4 GROUP BY T.TABLESPACE_NAME;
修改前:
修改后:
2) 向BOOKSALES数据库的TEMP表空间添加一个大小为10MB的临时数据文件temp02.dbf。
ORACLE语句:
sql> ALTER TABLESPACE TEMP ADD TEMPFILE
2 ‘C:\ORACLEsql\ORADATA\ORAL\TEMP02.DBF‘ SIZE 10M;
查询语句:
sql> SELECT TABLESPACE_NAME,FREE_SPACE/1024/1024 AS "FREE SPACE(M)"
2 FROM DBA_TEMP_FREE_SPACE
3 WHERE TABLESPACE_NAME = ‘TEMP‘;
修改前:
修改后:
3) 向BOOKSALES数据库的USERS表空间中添加一个可以自动扩展的数据文件user03.dbf,大小5MB,每次扩展1MB,最大容量为100MB。
ORACLE语句:
sql> ALTER TABLESPACE USERS ADD DATAFILE
2 ‘C:\ORACLEsql\ORADATA\ORAL\USER03.DBF‘ SIZE 5M
3 AUTOEXTEND ON NEXT 1M MAXSIZE 100M;
查询语句:
sql> SELECT T.TABLESPACE_NAME,DBA_DATA_FILES D
3 WHERE T.TABLESPACE_NAME = D.TABLESPACE_NAME
4 GROUP BY T.TABLESPACE_NAME;
截图:
4) 取消BOOKSALES数据库数据文件user03.dbf的自动扩展。
ORACLE语句:
sql> ALTER DATABASE DATAFILE ‘C:\ORACLEsql\ORADATA\ORAL\USER03.DBF‘ AUTOEXTEND OFF;
查询语句:
sql> SELECT FILE_NAME,AUTOEXTENSIBLE FROM DBA_DATA_FILES WHERE FILE_NAME=‘C:\ORACLEsql\ORADATA\ORAL\USER03.DBF‘;
修改前:
修改后:
5) 将BOOKSALES数据库数据文件users02.dbf更名为users002.dbf。
ORACLE语句:
sql> ALTER TABLESPACE USERS OFFLINE;
sql> ALTER TABLESPACE USERS RENAME DATAFILE
2 ‘C:\ORACLEsql\ORADATA\ORAL\USERS02.DBF‘ TO
3 ‘C:\ORACLEsql\ORADATA\ORAL\USERS002.DBF‘;
sql> ALTER TABLESPACE USERS ONLINE;
查询语句:
sql> SELECT FILE_NAME FROM DBA_DATA_FILES;
修改前:
修改后:
6) 查询BOOKSALES数据库当前所有的数据文件的详细信息。
ORACLE语句:
sql> SELECT * FROM DBA_DATA_FILES;
截图:
7) 为BOOKSALES数据库添加一个多路复用的控制文件control03.ctl。
ORACLE语句:
sql> ALTER SYstem SET CONTROL_FILES=
2 ‘C:\ORACLEsql\ORADATA\ORAL\CONTROL01.CTL‘,
3 ‘C:\ORACLEsql\ORADATA\ORAL\CONTROL03.CTL‘ ScopE=SPFILE;
sql> CONN /AS SYSDBA
sql> SHUTDOWN IMMEDIATE
sql> HOST copY C:\ORACLEsql\ORADATA\ORAL\CONTROL01.CTL C:\ORACLEsql\ORADATA\ORAL\CONTROL03.CTL
sql> STARTUP
查询语句:
sql> SELECT * FROM V$controlfile;
截图:
8) 以二进制文件的形式备份BOOKSALES数据库的控制文件。
ORACLE语句:
sql> alter database backup controlfile to ‘C:\ORACLE_LOG\CONTROL01.BKP‘;
sql> alter database backup controlfile to ‘C:\ORACLE_LOG\CONTROL03.BKP‘;
截图:
9) 将BOOKSALES数据库的控制文件以文本方式备份到跟踪文件中,并查看备份的内容。
ORACLE语句:
sql> alter database backup controlfile to trace;
查询语句:
sql> SHOW ParaMETER USER_DUMP;
截图:
10) 删除BOOKSALES数据库的控制文件control03.ctl。
ORACLE语句:
sql> ALTER SYstem SET CONTROL_FILES=‘C:\ORACLEsql\ORADATA\ORAL\CONTROL01.CTL‘ ScopE=SPFILE;
sql> SHUTDOWN IMMEDIATE
sql> HOST DEL C:\ORACLEsql\ORADATA\ORAL\CONTROL03.CTL
sql> STARTUP
查询语句:
sql> SELECT * FROM V$controlfile;
截图:
ORACLE语句:
sql> SELECT * FROM V$controlfile;
截图:
12) 向BOOKSALES数据库添加一个重做日志文件组(组号为4),包含一个成员文件undo04a.log,大小为4MB。
ORACLE语句:
sql> alter database add logfile group 4(‘C:\ORACLEsql\ORADATA\ORAL\UNDO04A.LOG‘) SIZE 4M;
查询语句:
sql> SELECT * FROM v$logfile;
截图:
13) 向BOOKSALES数据库的重做日志组4中添加一个成员文件,名称为undo04b.log。
ORACLE语句:
sql> alter database add logfile member ‘C:\ORACLEsql\ORADATA\ORAL\UNDO04B.LOG‘ TO GROUP 4;
查询语句:
sql> SELECT * FROM v$logfile;
截图:
14) 将BOOKSALES数据库的重做日志组4中所有成员文件移植到一个新的目录下。
ORACLE语句:
sql> HOST MOVE C:\ORACLEsql\ORADATA\ORAL\UNDO04A.LOG C:\ORACLE_LOG\UNDO04A.LOG
sql> HOST MOVE C:\ORACLEsql\ORADATA\ORAL\UNDO04B.LOG C:\ORACLE_LOG\UNDO04B.LOG
截图:
15) 查询BOOKSALES数据库中所有重做日志文件组的状态。
ORACLE语句:
sql> select group#,sequence#,members,archived,status from v$log;
截图:
16) 查询BOOKSALES数据库中所有重做日志文件成员的状态。
ORACLE语句:
sql> select group#,status,member from v$logfile;
截图:
17) 删除BOOKSALES数据库的重做日志组4中的成员文件undo04b.log。
ORACLE语句:
sql> ALTER DATABASE DROP LOGFILE MEMBER ‘C:\ORACLEsql\ORADATA\ORAL\UNDO04B.LOG‘;
查询语句:
sql> SELECT * FROM v$logfile;
截图:
ORACLE语句:
sql> alter database drop logfile group 4;
查询语句:
sql> SELECT * FROM v$logfile;
截图:
19) 查看BOOKSALES数据库是否处于归档模式。(因为第一次实验时已经切换成了归档模式,所以这次操作实际上没有改变什么)
ORACLE语句:
sql> archive log list
截图:
20) 将BOOKSALES数据库设置为归档模式。
ORACLE语句:
sql> SHUTDOWN IMMEDIATE
sql> STARTUP MOUNT
sql> ALTER DATABASE ARCHIVELOG;
sql> ALTER DATABASE OPEN;
查询语句:
sql> archive log list
截图:
21) 为BOOKSALES数据库设置3个归档目标,其中一个为强制归档目标。
ORACLE语句:
sql> alter system set log_archive_dest_1=‘location=C:\ORACLE_LOG\a\archive mandatory‘;
sql> alter system set log_archive_dest_2=‘location=C:\ORACLE_LOG\b\archive mandatory‘;
sql> alter system set log_archive_dest_3=‘service=standby1‘;
截图:
22) 对BOOKSALES数据库进行5次日志切换,查看归档日志信息。
ORACLE语句:
sql> alter system switch logfile;
查询语句:
sql> select sequence#,first_change#,next_change# from V$archived_log;
截图:
6、实验遇到的问题及解决办法
解决方法:先将USERS表脱机后再操作文件,可以正常更改表空间。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。