版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
實驗四oracle數(shù)據(jù)庫管理
一、試驗目的
掌握對數(shù)據(jù)文件、表空間、日志文件、控制文件的常用命令,作為DBA的必要準備。
二、實驗內(nèi)容
2.1數(shù)據(jù)文件的管理
(1)在安裝完畢之后,在INITsid.ORA參數(shù)文件有一個DB.FILES參數(shù),用于設置
當前實例的數(shù)據(jù)外文件的個數(shù)。如:
db_files=80
如果在INITsidQRA文件沒有該參數(shù),則可以用下面查詢語句從視圖中查到。如:
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:建立一個新的表空間,具有兩個數(shù)據(jù)文件:
CREATETABLESPACECRMTAB
DATAFILE'h:/oracle/oradata/orcl/crm01.dbfsize10
MB,'h:/oracle/oradata/orcl/crm02.dbfsize10MB;
(3)對一個已存在的表空間追加新數(shù)據(jù)文件:
例1ALTERTABLESPACEuser_stu
Adddatafile'H:/oracle/oradata/orcl/user_stu01.dbfsize30M;
例2為表空間增加數(shù)據(jù)文件
ALTERTABLESPACEusers
ADDDATAFILE'useroral.dbf'SIZE10M;
(4)數(shù)據(jù)文件更名
ALTERTABLESPACEusers
RENAMEDATAFILE?'filenamel','filename2,
TO'filenames','filename4';
(5)變更數(shù)據(jù)文件大小
在創(chuàng)建表空間時,可以將表空間說明為自動擴展或固定大小。因而管理員的一項工作
就是查看系統(tǒng)所有的表空間對應的數(shù)據(jù)文件情況??词欠駷樽詣訑U展。如:
SQL>coltablespace_namefora12
SQL>colfile_namefora48
SQL>selecttablespace_name,file_name,AUTOEXTENSIBLE,bytesfrom
dba_data_files
(6)數(shù)據(jù)文件的自動擴展與調(diào)整。重新調(diào)整數(shù)據(jù)文件大小的命令如下:
ALTERDATABASEDATAFILE[datafile_name]RESIZE[new_size];
當我們發(fā)現(xiàn)數(shù)據(jù)文件過大而不可能用完時,可以用上面命令將數(shù)據(jù)文件調(diào)小。
對于設置數(shù)據(jù)文件的自動擴展問題,可用下面命令來達到:
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)、與數(shù)據(jù)文件有關的視圖
selectfile_namefromdba_data_files;
select*fromv$datafile;
DBA_DATA_FILES
DBA.EXTENTS
DBA_FREE_SPACE
V$DATAFILE
V$DATAFILE_HEADER
(11)、為了保證表空間的可用,除了掌握表空間的創(chuàng)建外,還應該查看dba_free_space
中表空間的信息,以確保系統(tǒng)正常運行。一般管理員應該關心的內(nèi)容有:表空間共有多少
個;總共有多少自由空間;最大的自由空間是什么;下面例子是一個經(jīng)常使用的腳本,可
以查出數(shù)據(jù)文件和表空間的可用情況。
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)查詢是否存在表的擴展超出表空間可用大小
一般在系統(tǒng)使用較長時間后,表空間的連續(xù)塊被多次的修改與刪除等操作后出現(xiàn)了許
多的不連續(xù)的塊(叫碎片X這樣就有可能出現(xiàn)表的擴展所需要的連續(xù)塊不能滿足的情況。
為了避免這樣的情況發(fā)生而導致擴展失敗,管理員要經(jīng)常查詢系統(tǒng)的表空間情況。下面就
是這樣的一個腳本:
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)查詢表空間自由、最大及碎片
其實,平常管理最關系就是表空間的總量、最大字節(jié)、使用多少、碎片多少等。下面
腳本可以查詢出所有表空間的自由空間、總空間數(shù)、已用空間、自由百分比及最大塊的字
節(jié)數(shù)。
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)實現(xiàn)強行的日志切換
Altersystemswitchlogfile;
(2)檢測點(checkpoint)
Oracle為了在出現(xiàn)故障后能退回去重演原來的信息,就需要一個叫開始點。在這個開
始點時刻,數(shù)據(jù)和事務是已知的。這樣的開始點就叫檢測點。
在Oracle里,只要檢查點一到(出現(xiàn)\Oracle就強行將當前的SGA中的redo區(qū)的
改動過的塊寫入重做日志文件中。這個步驟完成后,在重做日志文件中放入一個特殊的檢
測點標志記錄。如果在下一個檢測點完成前出現(xiàn)失敗,恢復操作進程就會在日志文件和數(shù)
據(jù)文件前一個檢測點同步(改回去\檢測點檢查完成后,對數(shù)據(jù)塊的任何改動都記錄在其
檢測點標志后寫入重做日志項中。因此,恢復也就只能從最近的檢測點標志記錄開始。
Oracle在INITsid.ORA文件中給出LOG_CHECKPOINT」NTERVAL參數(shù)可以設置檢
測點的數(shù)目。比如日志文件大小為1000塊,而設置檢查點間隔
LOG_CHECKPOINT_INTERVAL為250,則文件寫達到1/4、2/4、3/4及4/4時產(chǎn)生檢測
點(250塊、500塊、750塊和1000塊處)。
可用下面命令來查日志文件大?。?/p>
SQL>selectgroup#,bytesfromv$log;
showparameterlog_checkpoint_interval
(3)添加日志組
建立一個新組4,組內(nèi)有兩個成員
ALTERDATABASEADDLOGFILE
GROUP4('H:/oracle/oradata/orcl/redo0401.log',
'H:/oracle/oradata/orcl/redo0402.1og')size10m;
===當添加一個日志組時,可以不給出組號,有系統(tǒng)自動分配一個組號===
ALTERDATABASEADDLOGFILE
('HVoracle/oradata/orcl/redoOSOl.log',
'H:/oracle/oradata/orcl/redo0502.log')size10m;
此時添加的組號為5
(4)為日志組增加成員
ALTERDATABASE
ADDLOGFILEMEMBER'Iog22.log'TOGROUP2;
===添加成員時,可以不給定成員的大小,因為oracle要求組內(nèi)的所有成員的大小一
律相等。
(5嵐]果將一個日志成員從一個硬盤移到另一個硬盤,就需要重新命名日志成員名字。
需要進行下面步驟:
1.關閉數(shù)據(jù)庫,并進行完全備份;
2.使用操作系統(tǒng)命令拷貝原來的日志文件到新的地方;
3.用startupmount啟動數(shù)據(jù)庫;
4.用ALTERDATABASERENAMEFILE'<old_redo_file_name>'TO
'<new_redo_file_name>';
5.用ALTERDATABASEOPEN打開數(shù)據(jù)庫;
6.備份控制文件。
為文件更名
ALTERDATABASE
RENAMEFILE'filenamel','filename2'
TO'filenames','filename4';
(6)日志刪除
a.刪除日志組成員:
在下面情況下可能需要刪除重做日志文件,如日志文件個數(shù)太多(超出需要);日志文
件的大小不一致等。這樣的情況可以刪除日志組成員。
b.當日志組損壞時,就刪除日志組,但必須滿足:
a)刪除一個日志組后,系統(tǒng)中至少還有兩個其它的日志組;
b)被刪除的日志組必須是不需要存檔;
c)不是正在使用的日志組。
刪除日志文件的語法:
ALTERDATABASEdatabase_name
DROPLOGFILE
GROUPgroup_number|file_name|(file_name,file_name(,...))
刪除日志成員的語法:
ALTERDATABASEdatabasename
DROPLOGFILEMEMBERfilename;
c.聯(lián)機重做日志的緊急替換:
當一個重做日志組偶而被損壞使數(shù)據(jù)庫不能繼續(xù)使用時,不能直接刪除它們,而是要
用一個干凈的文件或一組成員去替代這個損壞的日志組。聯(lián)機重做日志的緊急替換命令語
法如下:
ALTERDATABASEdatabase_name
CLEAR[UNARCHIVED]LOGFILEgroupjdentifier
[UNRECOVERABLEDATAFILE]
如果該文件正在等待存檔(歸檔模式),就需要UNARCHIVED。
如果需要脫機恢復一個數(shù)據(jù)文件,就用
UNRECOVERABLEDATAFILEO
d.了解重做日志的當前狀態(tài):
V$LOGFILE
V$LOG
V$THREAD
V$LOG_HISTORY
e.例子:
刪除一個組3:
ALTERDATABASEDROPLOGFILEGROUP3;
刪除一個成員:
ALTERDATABASEDROP?LOGFILEMEMBER
7orant/oradata'mydb02'redo02.log';
4.了解重做日志的當前狀態(tài)的視圖主要有:
V$LOGFILE
V$LOG
V$THREAD
V$LOG_HISTORY
5例子:
察看是否歸檔
ARCHIVE?LOG?LIST
日志歸檔
alterdatabasenoarchivelog;
3、控制文件的管理
(1)關于控制文件
控制文件存放有數(shù)據(jù)庫的結構信息,包括數(shù)據(jù)文件、日志文件??刂莆募且粋€二進
制文件,它是在數(shù)據(jù)庫建立時自動被建立??刂莆募梢栽诋斈愀淖兾募蛞苿游募r
而被更新。在任何時候,你都不能編輯控制文件。
控制文件的內(nèi)容包括:
1數(shù)據(jù)庫名字(控制文件只能屬于一個數(shù)據(jù)庫X
2數(shù)據(jù)庫建立時的郵戳。
3數(shù)據(jù)文件-名字,位置及聯(lián)機/脫機。
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記錄字節(jié)大小
RECORDS_TOTALNUMBERE殳的記錄數(shù)
RECORDS_USEDNUMBER段中已使用的記錄數(shù)
FIRSTJNDEXNUMBER第一個記錄索引位置
LAST」NDEXNUMBER最后一個記錄索引位置
LAST_RECIDNUMBER最后一個記錄ID號
select*fromV$CONTROLFILE_RECORD_SECTION;
7.6.4控制文件信息的更改
需要在spfile.ora中做出相應的更改。
建立控制文件的步驟
1.建立控制文件準備。
必須有數(shù)據(jù)文件(查DBA_DATA_FILES數(shù)據(jù)字典)、日志文件(查V$LOGFILE數(shù)據(jù)字
典)的詳細列表。下面是創(chuàng)建控制文件的命令:
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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年北師大新版八年級物理下冊月考試卷含答案
- 專用運動草坪購銷合同:2024年體育用品一
- 2025年度飾品商鋪出租與品牌合作推廣服務協(xié)議3篇
- 二零二五年度農(nóng)業(yè)物聯(lián)網(wǎng)技術合作開發(fā)與應用合同3篇
- 2025年冀少新版七年級物理下冊階段測試試卷含答案
- 2024消防科普教育基地建設合同
- 2025年粵教版七年級科學上冊月考試卷
- 2025年人教版七年級科學下冊月考試卷含答案
- 2025年外研版2024高三化學上冊月考試卷含答案
- 2025年粵教滬科版八年級科學上冊月考試卷含答案
- (正式版)SHT 3227-2024 石油化工裝置固定水噴霧和水(泡沫)噴淋滅火系統(tǒng)技術標準
- 2023秋季初三物理 電路故障分析專題(有解析)
- 同濟大學信紙
- 沖壓模具設計-模具設計課件
- 高處作業(yè)安全培訓課件-
- 職中英語期末考試質(zhì)量分析
- 中國的世界遺產(chǎn)智慧樹知到答案章節(jié)測試2023年遼寧科技大學
- 急性腹瀉與慢性腹瀉修改版
- 先天性肌性斜頸的康復
- GB/T 37518-2019代理報關服務規(guī)范
- PPT溝通的藝術課件
評論
0/150
提交評論