Oracle数据库物理存储结构管理
1、实验目的(1)掌握Oracle数据库数据文件的管理。 (2)掌握Oracle数据库控制文件的管理。 (3)掌握Oracle数据库重做日志文件的管理。 (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。 (11)查询BOOKSALES数据库当前所有控制文件信息。 (12)向BOOKSALES数据库添加一个重做日志文件组(组号为4),包含一个成员文件undo04a.log,大小为4MB。 (13)向BOOKSALES数据库的重做日志组4中添加一个成员文件,名称为undo04b.log。 (14)将BOOKSALES数据库的重做日志组4中所有成员文件移植到一个新的目录下。 (15)查询BOOKSALES数据库中所有重做日志文件组的状态。 (16)查询BOOKSALES数据库中所有重做日志文件成员的状态。 (17)删除BOOKSALES数据库的重做日志组4中的成员文件undo04b.log。 (18)删除BOOKSALES数据库的重做日志组4。 (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:ORACLESQLORADATAORALUSERS02.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:ORACLESQLORADATAORALTEMP02.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:ORACLESQLORADATAORALUSER03.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:ORACLESQLORADATAORALUSER03.DBF‘ AUTOEXTEND OFF; ? ? 查询语句: SQL> SELECT FILE_NAME,AUTOEXTENSIBLE FROM DBA_DATA_FILES WHERE FILE_NAME=‘C:ORACLESQLORADATAORALUSER03.DBF‘; ? 修改前: ? 修改后: ? ? ?? 5)?? 将BOOKSALES数据库数据文件users02.dbf更名为users002.dbf。 ORACLE语句: SQL> ALTER TABLESPACE USERS OFFLINE; ? (然后手动去资源管理器修改其路径下数据文件的名称) ? SQL> ALTER TABLESPACE USERS RENAME DATAFILE ? 2? ‘C:ORACLESQLORADATAORALUSERS02.DBF‘ TO ? 3? ‘C:ORACLESQLORADATAORALUSERS002.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:ORACLESQLORADATAORALCONTROL01.CTL‘, ? 3? ‘C:ORACLESQLORADATAORALCONTROL03.CTL‘ SCOPE=SPFILE; ? SQL> CONN /AS SYSDBA SQL> SHUTDOWN IMMEDIATE SQL> HOST COPY C:ORACLESQLORADATAORALCONTROL01.CTL C:ORACLESQLORADATAORALCONTROL03.CTL SQL> STARTUP 查询语句: SQL> SELECT * FROM V$controlfile; ? 截图: ? ? ? 8)?? 以二进制文件的形式备份BOOKSALES数据库的控制文件。 ORACLE语句: SQL> alter database backup controlfile to ‘C:ORACLE_LOGCONTROL01.BKP‘; SQL> alter database backup controlfile to ‘C:ORACLE_LOGCONTROL03.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:ORACLESQLORADATAORALCONTROL01.CTL‘ SCOPE=SPFILE; SQL> SHUTDOWN IMMEDIATE SQL> HOST DEL C:ORACLESQLORADATAORALCONTROL03.CTL SQL> STARTUP ? 查询语句: SQL> SELECT * FROM V$controlfile; ? 截图: ? ? ? ? 11) 查询BOOKSALES数据库当前所有控制文件信息。 ORACLE语句: SQL> SELECT * FROM V$controlfile; ? ? 截图: ? ? ? 12) 向BOOKSALES数据库添加一个重做日志文件组(组号为4),包含一个成员文件undo04a.log,大小为4MB。 ORACLE语句: SQL> alter database add logfile group 4(‘C:ORACLESQLORADATAORALUNDO04A.LOG‘) SIZE 4M; ? ? 查询语句: SQL> SELECT * FROM v$logfile; ? 截图: ? ? ? ? 13) 向BOOKSALES数据库的重做日志组4中添加一个成员文件,名称为undo04b.log。 ORACLE语句: SQL> alter database add logfile member ‘C:ORACLESQLORADATAORALUNDO04B.LOG‘ TO GROUP 4; ? ? 查询语句: SQL> SELECT * FROM v$logfile; ? 截图: ? ? ? ? ? ? 14) 将BOOKSALES数据库的重做日志组4中所有成员文件移植到一个新的目录下。 ORACLE语句: SQL> HOST MOVE C:ORACLESQLORADATAORALUNDO04A.LOG C:ORACLE_LOGUNDO04A.LOG ? SQL> HOST MOVE C:ORACLESQLORADATAORALUNDO04B.LOG C:ORACLE_LOGUNDO04B.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:ORACLESQLORADATAORALUNDO04B.LOG‘; ? ? 查询语句: SQL> SELECT * FROM v$logfile; ? 截图: ? ? ? ? ? 18) 删除BOOKSALES数据库的重做日志组4。 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_LOGaarchive mandatory‘; ? SQL> alter system set log_archive_dest_2=‘location=C:ORACLE_LOGbarchive 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表脱机后再操作文件,可以正常更改表空间。
解决方法:将备份路径换到其他与oracle不相干的文件夹内可以正常备份。
解决方法:移动日志组文件不会改变Oracle内存储的逻辑路径,直接删除原路径即可。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |