目录
实验目的
实验设备及器材
实验内容
实验步骤
实验过程
实验小结
实验目的
1.熟悉Oracle数据库物理存储结构;
2.掌握Oracle数据库数据文件的管理;
3.掌握Oracle数据库控制文件的管理;
4.掌握Oracle重做日志文件的管理;
5.掌握Oracle数据库归档管理。
实验设备及器材
1.仪器设备:PC机
2.环境:操作系统,Oracle
实验内容
数据库数据文件的管理; 数据库控制文件的管理;重做日志文件的管理;数据库归档管理。实验步骤
数据库数据文件的管理;数据库控制文件的管理;重做日志文件的管理;数据库归档管理。实验过程
1.(描述)数据文件管理主要过程;
(1)为 USERS 表空间添加一个数据文件,文件名为 USERS03.DBF,大小为 50MB。
alter tablespace USERS add datafile ‘D:\oracle\product\10.2.0\oradata\orcl\USERS03.DBF’ size 50m;
(2)为 EXAMPLE 表空间添加一个数据文件,文件名为 example02.dbf,大小为 20MB。
alter tablespace EXAMPLE add datafile ‘D:\oracle\product\10.2.0\oradata\orcl\example02.dbf’ size 20m;
(3)修改USERS表空间中的userdata03.dbf为自动扩展方式,每次扩展5MB,最大为100MB
alterdatabasedatafile ‘D:\oracle\product\10.2.0\oradata\orcl\userdata03.dbf’ autoextend on next 5m maxsize 100m;
(4)修改 EXAMPLE 表空间中 example02.dbf文件的大小为40MB。
alterdatabase datafile ‘D:\oracle\product\10.2.0\oradata\orcl\example02.dbf’ resize 40m;
(5)将表空间 USERS 中的数据文件 USERSO3.DBF 更名为userdata04.dbf,将表空间EXAMPLE中的数据文件 example03.dbf 更名为example04.dbf。
shutdown immediate--关闭数据库
startup mount
alter database rename file 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF’, 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\example03.dbf’ to 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\userdata04.dbf’, 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\example04.DBF';
alter database open;
2.(描述)控制文件管理主要过程;
(6)将数据库的控制文件以二进制文件的形式备份。
alter database backup controlfile to 'd:\oracle\control.bkp';
3.(描述)重做日志文件管理主要过程;
(7)为数据库添加一个重做日志文件组,组内包含两个成员文件,分别为 redo4a.log 和redo4b.log,大小分别为5MB。
Alterdatabase add logfile group 6 (‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo4a.log’, ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo4b.log’) size 5m;
(8)为新建的重做日志文件组添加一个成员文件,名称为redo4c.log。
Alter database add logfile member
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo4c.log' to group 6;
4.(描述)数据库归档管理主要过程。
(9)将数据库设置为归档模式,并采用自动归档方式。
shutdown immediate
startup mount
alter database archivelog;
alter database noarchivelog;
alterdatabase open;
(10)设置数据库归档路径为 D:\ORACLE\BACKUP。
Alter system set log_archive_dest=’D:\ORACLE\BACKUP’ scope=spfile;
实验小结
(一)命令总结
(1)创建数据文件:alter tablespace USERS add datafile ‘D:\oracle\product\10.2.0\oradata\orcl\USERS03.DBF’ size 50m;
alter tablespace users add datafile ‘D:\oracle\product\10.2.0\oradata\orcl\userdata03.dbf’ size 5m;
(2)修改数据文件的大小:
自动增长方式:altertablespace USERS add datafile ‘D:\oracle\product\10.2.0\oradata\orcl\userdata03.DBF’ size 10m autoextend on next 5m maxsize 100m;
手动改变数据文件大小:alterdatabase datafile ‘D:\oracle\product\10.2.0\oradata\orcl\USERS02.DBF’ resize 8m;
(3)改变数据文件的可用性:
归档模式(非归档模式会报错):alter database datafile ‘D:\oracle\product\10.2.0\oradata\orcl\ USERS02.DBF’ offline; --脱机
alter database datafile ‘D:\oracle\product\10.2.0\oradata\orcl\ USERS02.DBF’ online; --联机
(4)改变数据文件的名称、位置
shutdown immediate
startup mount
alter tablespace users rename datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF’,'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF' to 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS002.DBF','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS003.DBF';
alter database open;
(5)删除数据文件:alter tablespace users drop datafile 'D:\oracle\product\10.2.0\oradata\orcl\USERS05.dbf';
(6)查看数据文件信息:
select name,file#,checkpoint_change# from v$datafile; --动态信息
select tablespace_name,autoextensible,file_name from dba_data_files; --详细信息
select tablespace_name,file_name,autoextensible from dba_temp_files; --临时数据文件
(7)创建控制文件:
制作文件列表:
select member from v$logfile;
select name from v$datafile;
select value from v$parameter where name='control_files';
若数据库仍处于运行状态,关闭数据库:
shutdown immediate
启动数据库到nomount状态:
startupnomount
创建控制文件:
createcontrolfile reuse
Database “orcl”
Noreserlogs
Noarchivelog
Maxlogfiles 16
Maxlogmembers 3
Maxdatafiles 100
Maxinstances 8
Maxloghistoory 292
Logfile
(8)添加重做日志文件组
Alterdatabase add logfile group 4 (‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo04a.log’, ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo04b.log’) size 4m;
(9)添加重做日志文件组成员
SQL> Alter database add logfile member 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo01e.log' to group
1,'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\redo04e.log' to group 4;
(10)改变重做日志文件组成员文件的名称或位置
检查重做日志文件组状态:selectgroup#,status from v$log;
重命名重做日志文件或将重做日志文件移到新位置
Alterdatabaserenamefile ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ redo01c.log’,’ D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ redo4c.log’ to ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ redo001b.log’,’ D:\ORACLE\PRODUCT\10.2.0\ORADATA\redo04c.log’;
(11)删除重做日志文件组成员
Alterdatabase drop logfile member ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ redo4c.log’;
(12)删除重做日志文件组
Alterdatabase drop logfile group 4;
(13)重做日志文件切换
Altersystem switch logfile;
(二)报错及解决方法
1、一打开sqlplus就报错:无监听程序
查了一下才想起来Oracle的相关服务之前由自动改为手动了,打开服务启动即可
2、运行shutdown immediate时,报错:“权限不足”
原因:用system普通用户登陆权限不够,以sysdba系统管理员身份登陆即可
解决方法:输入conn system as sysdba(ps:需要等待时间,不要急着关掉,运行完就可以了)
3、
报错:
Oracle ORA-01033: ORACLE initialization or shutdown in progress
原因:为了截个图,之前创建了一次文件,想重新创建一遍同样的文件来截图,于是把前面创建的文件删除了,就报错了……
解决方法:
第一种方法(网上很多教程说,但未解决):
进入cmd,输入命令:
sqlplus /nolog
SQL>connect sys/change_on_install as sysdba
提示:已成功
SQL>shutdown normal
(提示:数据库已经关闭
已经卸载数据库
ORACLE 例程已经关闭)
SQL>startup mount
SQL>alter database open;
(报错:
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 19 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 19: 'C:\TYKM.DBF')
SQL>alter database datafile 19offline drop; (19:上一行报错提示的数据文件19)
重复前两步,直到出现“数据库已更改”的提示,然后输入:
shutdown normal
startup mount
第二种方法(似乎是结合第一种方法才成功搞定的):
重新启动Oracle相关服务
第三种方法(靠谱,推荐!):
百度搜“Oracle删除数据文件无法打开”:oracle 12c误删pdb数据文件导致整个数据库无法打开问题_左直拳的博客-CSDN博客_不存在的日志文件,数据文件或临时文件
Cmd输入:sqlplus /nolog
SQL> connect sys/hope as sysdba
SQL> shutdown normal
SQL> startup
报错:ORA-01157: 无法标识/锁定数据文件 9 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 9: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE03.DBF'
解决方法:应将此遗失文件标为脱机
SQL> alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE03.DBF' offline drop;
注:此处,非归档模式下脱机用offline drop,用offline脱机会报错:
“除非启用了介质恢复, 否则不允许立即脱机”
该报错的意思是要将数据库设置为归档模式才能脱机,但设置为归档模式的过程又会出现上一条命令的报错,因为用offlinedrop是最方便快捷的方式。
SQL> alter database open;
成功!
总结:
不幸的是,我一开始只知道不能在文件夹删除文件,不知道也不能修改文件名,于是又出现了同样的报错,看来我和梅开二度这个词真的很有缘啊摔……
注意!删除文件、修改文件名、文件位置应使用命令,不能在文件夹修改!!!
如果觉得《oracle实验报告2:: Oracle数据库物理存储结构管理(含实验小结)》对你有帮助,请点赞、收藏,并留下你的观点哦!