![oracle 数据文件表空间日志文件控制文件数据库管理_第1页](http://file4.renrendoc.com/view2/M02/0B/0F/wKhkFmZnVceAeTjVAADPf8kBaoU779.jpg)
![oracle 数据文件表空间日志文件控制文件数据库管理_第2页](http://file4.renrendoc.com/view2/M02/0B/0F/wKhkFmZnVceAeTjVAADPf8kBaoU7792.jpg)
![oracle 数据文件表空间日志文件控制文件数据库管理_第3页](http://file4.renrendoc.com/view2/M02/0B/0F/wKhkFmZnVceAeTjVAADPf8kBaoU7793.jpg)
![oracle 数据文件表空间日志文件控制文件数据库管理_第4页](http://file4.renrendoc.com/view2/M02/0B/0F/wKhkFmZnVceAeTjVAADPf8kBaoU7794.jpg)
![oracle 数据文件表空间日志文件控制文件数据库管理_第5页](http://file4.renrendoc.com/view2/M02/0B/0F/wKhkFmZnVceAeTjVAADPf8kBaoU7795.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四oracle数据库管理
一、试验目的
掌握对数据文件、表空间、日志文件、控制文件的常用命令,作为DBA的必要准备。
二、实验内容
2.1数据文件的管理
(1)在安装完毕之后,在INITsid.ORA参数文件有一个DB.FILES参数,用于设置
当前实例的数据外文件的个数。如:
db_files=80
如果在INITsidQRA文件没有该参数,则可以用下面查询语句从视图中查到。如:
SQL>colnamefora20
SQL>colvaluefora50
SQL>setlin100
SQL>selectname,valuefromv$parameterwherename='db_files';
NAMEVALUE
dbfiles1024
(2)行命令建立表空间:
例1CREATETABLESPACEuser_stu
DATAFILE'h:/oracle/oradata/orcl/user_stu.dat'SIZE20M
DEFAULTSTORAGE
(INITIAL10K
NEXT50K
MINEXTENTS1
MAXEXTENTS99
PCTINCREASE10)
ONLINE;
例2:建立一个新的表空间,具有两个数据文件:
CREATETABLESPACECRMTAB
DATAFILE'h:/oracle/oradata/orcl/crm01.dbfsize10
MB,'h:/oracle/oradata/orcl/crm02.dbfsize10MB;
(3)对一个已存在的表空间追加新数据文件:
例1ALTERTABLESPACEuser_stu
Adddatafile'H:/oracle/oradata/orcl/user_stu01.dbfsize30M;
例2为表空间增加数据文件
ALTERTABLESPACEusers
ADDDATAFILE'useroral.dbf'SIZE10M;
(4)数据文件更名
ALTERTABLESPACEusers
RENAMEDATAFILE?'filenamel','filename2,
TO'filenames','filename4';
(5)变更数据文件大小
在创建表空间时,可以将表空间说明为自动扩展或固定大小。因而管理员的一项工作
就是查看系统所有的表空间对应的数据文件情况。看是否为自动扩展。如:
SQL>coltablespace_namefora12
SQL>colfile_namefora48
SQL>selecttablespace_name,file_name,AUTOEXTENSIBLE,bytesfrom
dba_data_files
(6)数据文件的自动扩展与调整。重新调整数据文件大小的命令如下:
ALTERDATABASEDATAFILE[datafile_name]RESIZE[new_size];
当我们发现数据文件过大而不可能用完时,可以用上面命令将数据文件调小。
对于设置数据文件的自动扩展问题,可用下面命令来达到:
ALTERDATABASEDATAFILE[file_spec]
AUTOEXTENDONNEXT[increment_size]MAXSIZE[max_size,UNLIMITED];
如:
ALTERDATABASEDATAFILE'H:\ORACLE\ORADATA\ORCL\USER_STU01.DBF'
AUTOEXTENDONNEXT10mMAXSIZE60M;
(7)行命令修改表空间:
ALTERTABLESPACEUSER_STU
ONLINE;
(8)ALTERTABLESPACEaccounting
OFFLINENORMAL;
(9)行命令删除表空间:
DROPTABLESPACE表空间名
INCLUDINGCONTENTS
CASCADECONSTRAINTS
(10)、与数据文件有关的视图
selectfile_namefromdba_data_files;
select*fromv$datafile;
DBA_DATA_FILES
DBA.EXTENTS
DBA_FREE_SPACE
V$DATAFILE
V$DATAFILE_HEADER
(11)、为了保证表空间的可用,除了掌握表空间的创建外,还应该查看dba_free_space
中表空间的信息,以确保系统正常运行。一般管理员应该关心的内容有:表空间共有多少
个;总共有多少自由空间;最大的自由空间是什么;下面例子是一个经常使用的脚本,可
以查出数据文件和表空间的可用情况。
clearbuffer
clearcolumns
clearbreaks
columnalheading'Tablespace'formatal5
columna2heading'dataFile'formata45
columna3heading'Total|Space'format999,999.99
columna4heading'Free|Space'format999,999.99
columna5heading'Free|perc'format999,999.99
breakonalonreport
computesumofa3onal
computesumofa4onal
computesumofa3onreport
computesumofa4onreport
setlinesize120
selecta.tablespace_nameal,a.file_namea2,a.availa3,nvl(b.free,0)a4,
nvl(round({(free/avail)*100),2),0)a5
from(selecttablespace_name,substr(file_name,l,45)file_name,
filejd,round(sum(bytes/(1024*1024)),3)avail
fromsys.dba_data_files
groupbytablespace_name,substr(file_name,l,45),
file_id)a,
(selecttablespace_name,filejd,
round(sum(bytes/(1024*1024)),3)free
fromsys.dba_free_space
groupbytablespace_name,filejd)b
wherea.file」d=b.filejd(+)
orderby1,2;
(12)查询是否存在表的扩展超出表空间可用大小
一般在系统使用较长时间后,表空间的连续块被多次的修改与删除等操作后出现了许
多的不连续的块(叫碎片X这样就有可能出现表的扩展所需要的连续块不能满足的情况。
为了避免这样的情况发生而导致扩展失败,管理员要经常查询系统的表空间情况。下面就
是这样的一个脚本:
Colsegment_namefora20
Selectsegment_name,segment_type,owner,a.tablespace_nametablespace,
Initial_extent,next_extent,pct_increase,b.bytesmax_bytes
Fromdba_segmentsa,
(selecttablespace_name,max(bytes)bytesfromdba_free_space
groupbytablespace_name)b
wherea.tablespace_name=b.tablespace_nameandnext_extent>b.bytes;
(13)查询表空间自由、最大及碎片
其实,平常管理最关系就是表空间的总量、最大字节、使用多少、碎片多少等。下面
脚本可以查询出所有表空间的自由空间、总空间数、已用空间、自由百分比及最大块的字
节数。
setpauoff
colfreeheading'Free(Mb)'format99999.9
coltotalheading'Total(Mb),format999999.9
colusedheading'Used(Mb)'format99999.9
colpct_freeheading'Pct|Free'format99999.9
collargestheading'Largest(Mb)'format99999.9
computesumoftotalonreport
computesumoffreeonreport
computesumofusedonreport
breakonreport
selectsubstr(a.tablespace_name,l,13)tablespace,
round(sum(a.totall)/1024/1024,1)Total,
round(sum(a.totall)/1024/1024,l)-round(sum(a.suml)/1024/1024,1)used,
round(sum(a.suml)/1024/1024,1)free,
round(sum(a.suml)/1024/1024,l)*100/round(sum(a.totall)/1024/1024,1)
pct_free,
round(sum(a.maxb)/1024/1024,1)largest,
max(t)fragment
from
(selecttablespace_name,0totall,sum(bytes)suml,
max(bytes)MAXB,
count(bytes)ent
fromdba_free_space
groupbytablespace_name
union
selecttablespace_name,sum(bytes)totall,0,0,0fromdba_data_files
groupbytablespace_name)a
groupbya.tablespace_name
2.2日志文件的管理
(0)日志查询
selectgroup#,bytesfromv$log;?
selectgroup#,bytesfromv$logfile;
(1)实现强行的日志切换
Altersystemswitchlogfile;
(2)检测点(checkpoint)
Oracle为了在出现故障后能退回去重演原来的信息,就需要一个叫开始点。在这个开
始点时刻,数据和事务是已知的。这样的开始点就叫检测点。
在Oracle里,只要检查点一到(出现\Oracle就强行将当前的SGA中的redo区的
改动过的块写入重做日志文件中。这个步骤完成后,在重做日志文件中放入一个特殊的检
测点标志记录。如果在下一个检测点完成前出现失败,恢复操作进程就会在日志文件和数
据文件前一个检测点同步(改回去\检测点检查完成后,对数据块的任何改动都记录在其
检测点标志后写入重做日志项中。因此,恢复也就只能从最近的检测点标志记录开始。
Oracle在INITsid.ORA文件中给出LOG_CHECKPOINT」NTERVAL参数可以设置检
测点的数目。比如日志文件大小为1000块,而设置检查点间隔
LOG_CHECKPOINT_INTERVAL为250,则文件写达到1/4、2/4、3/4及4/4时产生检测
点(250块、500块、750块和1000块处)。
可用下面命令来查日志文件大小:
SQL>selectgroup#,bytesfromv$log;
showparameterlog_checkpoint_interval
(3)添加日志组
建立一个新组4,组内有两个成员
ALTERDATABASEADDLOGFILE
GROUP4('H:/oracle/oradata/orcl/redo0401.log',
'H:/oracle/oradata/orcl/redo0402.1og')size10m;
===当添加一个日志组时,可以不给出组号,有系统自动分配一个组号===
ALTERDATABASEADDLOGFILE
('HVoracle/oradata/orcl/redoOSOl.log',
'H:/oracle/oradata/orcl/redo0502.log')size10m;
此时添加的组号为5
(4)为日志组增加成员
ALTERDATABASE
ADDLOGFILEMEMBER'Iog22.log'TOGROUP2;
===添加成员时,可以不给定成员的大小,因为oracle要求组内的所有成员的大小一
律相等。
(5岚]果将一个日志成员从一个硬盘移到另一个硬盘,就需要重新命名日志成员名字。
需要进行下面步骤:
1.关闭数据库,并进行完全备份;
2.使用操作系统命令拷贝原来的日志文件到新的地方;
3.用startupmount启动数据库;
4.用ALTERDATABASERENAMEFILE'<old_redo_file_name>'TO
'<new_redo_file_name>';
5.用ALTERDATABASEOPEN打开数据库;
6.备份控制文件。
为文件更名
ALTERDATABASE
RENAMEFILE'filenamel','filename2'
TO'filenames','filename4';
(6)日志删除
a.删除日志组成员:
在下面情况下可能需要删除重做日志文件,如日志文件个数太多(超出需要);日志文
件的大小不一致等。这样的情况可以删除日志组成员。
b.当日志组损坏时,就删除日志组,但必须满足:
a)删除一个日志组后,系统中至少还有两个其它的日志组;
b)被删除的日志组必须是不需要存档;
c)不是正在使用的日志组。
删除日志文件的语法:
ALTERDATABASEdatabase_name
DROPLOGFILE
GROUPgroup_number|file_name|(file_name,file_name(,...))
删除日志成员的语法:
ALTERDATABASEdatabasename
DROPLOGFILEMEMBERfilename;
c.联机重做日志的紧急替换:
当一个重做日志组偶而被损坏使数据库不能继续使用时,不能直接删除它们,而是要
用一个干净的文件或一组成员去替代这个损坏的日志组。联机重做日志的紧急替换命令语
法如下:
ALTERDATABASEdatabase_name
CLEAR[UNARCHIVED]LOGFILEgroupjdentifier
[UNRECOVERABLEDATAFILE]
如果该文件正在等待存档(归档模式),就需要UNARCHIVED。
如果需要脱机恢复一个数据文件,就用
UNRECOVERABLEDATAFILEO
d.了解重做日志的当前状态:
V$LOGFILE
V$LOG
V$THREAD
V$LOG_HISTORY
e.例子:
删除一个组3:
ALTERDATABASEDROPLOGFILEGROUP3;
删除一个成员:
ALTERDATABASEDROP?LOGFILEMEMBER
7orant/oradata'mydb02'redo02.log';
4.了解重做日志的当前状态的视图主要有:
V$LOGFILE
V$LOG
V$THREAD
V$LOG_HISTORY
5例子:
察看是否归档
ARCHIVE?LOG?LIST
日志归档
alterdatabasenoarchivelog;
3、控制文件的管理
(1)关于控制文件
控制文件存放有数据库的结构信息,包括数据文件、日志文件。控制文件是一个二进
制文件,它是在数据库建立时自动被建立。控制文件可以在当你改变文件名或移动文件时
而被更新。在任何时候,你都不能编辑控制文件。
控制文件的内容包括:
1数据库名字(控制文件只能属于一个数据库X
2数据库建立时的邮戳。
3数据文件-名字,位置及联机/脱机。
4重做日志文件-名字及位置。
5表空间名字。
6当前日志序列号。
7最近检查点信息。
8恢复管理器信息(RMANx
(2)控制文件信息
在spfile.ora的配置文件中有:
control_files=("/home/oracle/app/oracle/oradata/s450/control01.ctl",
"/home/oracle/app/oracle/oradata/s450/control02.ctl",
7home/oracle/app/oracle/oradata/s450/control03.ctl")
(3)查询控制文件的信息
showparameters;
select*fromv$controlfile;
descV$CONTROLFILE_RECORD_SECTION
v$datafile
db_data_files
v$logfile
v$log
v$controlfile
showparametercontrol_files
其中,
RECORD_SIZENUMBER记录字节大小
RECORDS_TOTALNUMBERE殳的记录数
RECORDS_USEDNUMBER段中已使用的记录数
FIRSTJNDEXNUMBER第一个记录索引位置
LAST」NDEXNUMBER最后一个记录索引位置
LAST_RECIDNUMBER最后一个记录ID号
select*fromV$CONTROLFILE_RECORD_SECTION;
7.6.4控制文件信息的更改
需要在spfile.ora中做出相应的更改。
建立控制文件的步骤
1.建立控制文件准备。
必须有数据文件(查DBA_DATA_FILES数据字典)、日志文件(查V$LOGFILE数据字
典)的详细列表。下面是创建控制文件的命令:
CREATECONTROLFILESETDATABASE"ORACLE"
NORESETLOGSNOARACHIVELOG
MAXLOGFILES32
MAXLOGMEMBERS2
MAXDATAFILES32
MAXINSTANCES1
MAXLOGHISTORY1630
LOGFILE
GROUP1'C:\ORACLE\DATABASE\LOG1ORCLLOG'SIZE200K,
GROUP2'C:\ORACLE\DATABASE\LOG2ORCLLOG'SIZE200K,
DATAFILE
'C:\ORACLE\DATABASE\SYS1ORCL.ORA',
'C:\ORACLE\DATABASE\USER1ORCLORA',
'C:\ORACLE\DATABASE\RBS1ORCLORA,,
'C:\ORACLE\DATABASE\TMP1ORCLORA',
'C:\ORACLE\DATABASE\APPDATA1.ORA',
'C:\ORACL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《东元刹车马达》课件
- 《高能束加工》课件
- 《pdg转的方法》课件
- 紫色插画风小学时间管理主题
- 职场晋升述职模板
- 农村重建申请书
- 救灾申请书范文
- 残疾人写申请书
- 大学生创业课项目机会来源
- 小学三年级数学因数中间或末尾有零的乘法能力测试练习题大全附答案
- 二零二五年度大型自动化设备买卖合同模板2篇
- 城市交通系统中的空间正义问题-深度研究
- 2024版金矿居间合同协议书
- 2024年03月江苏2024年中国工商银行苏州分行社会招考笔试历年参考题库附带答案详解
- 2025年北师大新版高二物理上册阶段测试试卷
- 2024年青岛职业技术学院高职单招语文历年参考题库含答案解析
- 2025内蒙古汇能煤化工限公司招聘300人高频重点提升(共500题)附带答案详解
- 江西省日照小时数
- 卢曹康-高桩板桩码头(2)
- 黄冈市2021-2022高一上学期期末考试数学试题及答案
- 家谱电子版模板(共4页)
评论
0/150
提交评论