oracle數(shù)據(jù)庫(kù)歸檔日志為什么老滿 什么是控制文件?
什么是控制文件?控制文件是OraclOralce歸檔日志開(kāi)啟與關(guān)閉示例?該命令完成創(chuàng)建實(shí)例、安裝實(shí)例和打開(kāi)數(shù)據(jù)庫(kù)這三個(gè)步驟。此時(shí),數(shù)據(jù)庫(kù)將數(shù)據(jù)文件和重做日志文件聯(lián)機(jī),并且通常請(qǐng)求一個(gè)或多個(gè)回滾段。此時(shí)
什么是控制文件?
控制文件是Oracl
Oralce歸檔日志開(kāi)啟與關(guān)閉示例?
該命令完成創(chuàng)建實(shí)例、安裝實(shí)例和打開(kāi)數(shù)據(jù)庫(kù)這三個(gè)步驟。此時(shí),數(shù)據(jù)庫(kù)將數(shù)據(jù)文件和重做日志文件聯(lián)機(jī),并且通常請(qǐng)求一個(gè)或多個(gè)回滾段。此時(shí)系統(tǒng)可以看到StartupMount模式下的所有提示,也給出一個(gè)。
orcal歸檔數(shù)據(jù)庫(kù)存了哪些內(nèi)容?
從orcal檔案庫(kù)數(shù)據(jù)清單下載的數(shù)據(jù)日志包括靜態(tài)和動(dòng)態(tài)數(shù)據(jù)。要訪問(wèn)這些數(shù)據(jù),必須手動(dòng)訪問(wèn)。
生產(chǎn)線歷史數(shù)據(jù)歸檔是數(shù)據(jù)庫(kù)運(yùn)維的一項(xiàng)日?;A(chǔ)工作。設(shè)計(jì)表格時(shí),數(shù)據(jù)流水表(如日志、用戶登錄歷史、軟件下載記錄、用戶屬性變化歷史表等。)通常被設(shè)計(jì)成范圍分區(qū)表和區(qū)間分區(qū)表(11G)。當(dāng)數(shù)據(jù)超過(guò)業(yè)務(wù)需求的保留范圍時(shí),基本上是靜態(tài)數(shù)據(jù),應(yīng)用程序不會(huì)再訪問(wèn),但由于一些特殊需求,可能需要手動(dòng)查詢。在這種情況下,每個(gè)人都將其數(shù)據(jù)從生產(chǎn)庫(kù)歸檔到歷史庫(kù),并對(duì)其進(jìn)行壓縮和保存。如果超出了特殊要求的范圍,就直接導(dǎo)出壓縮到磁帶。
在Oracle數(shù)據(jù)庫(kù)中,表數(shù)據(jù)的歸檔有很多種,如exp/imp、expdp/impdp、表空間傳輸?shù)鹊龋谌粘5臄?shù)據(jù)庫(kù)維護(hù)中可能會(huì)用到。這些工具的用法這里就不展開(kāi)了。讓 讓我們進(jìn)入今天 的題目,用存儲(chǔ)過(guò)程歸檔生產(chǎn)線歷史表數(shù)據(jù),先做一個(gè)簡(jiǎn)單的總結(jié):
1、簡(jiǎn)單,不容易出錯(cuò);
2.對(duì)于它的源庫(kù)(這里是生產(chǎn)庫(kù)),它是一個(gè)select查詢語(yǔ)句,對(duì)性能影響不大;
3.數(shù)據(jù)不需要從源庫(kù)登陸到目標(biāo)庫(kù),類似于dblink impdp遷移數(shù)據(jù)的方法,節(jié)省了導(dǎo)出數(shù)據(jù)(數(shù)百GB表)所需的空間和歸檔時(shí)間;
4.可以監(jiān)控歸檔進(jìn)度和歸檔記錄數(shù)量;
5.如果是跨機(jī)房傳輸,請(qǐng)監(jiān)控網(wǎng)絡(luò)帶寬流量。
6、 ......
操作流程:
1.在生產(chǎn)庫(kù)的維護(hù)用戶的模式下創(chuàng)建一個(gè)視圖,其中包含要?dú)w檔的表的分區(qū):
創(chuàng)建view log_table_p201209
如同
select * from user01.log_table分區(qū)(P201209)
注意:為什么要構(gòu)建視圖?因?yàn)槟憧梢浴?不要使用select * from table partition(partition _ name)這樣的語(yǔ)句.....通過(guò)dblink查詢時(shí)。
2.在將存檔數(shù)據(jù)放入歷史數(shù)據(jù)庫(kù)的用戶下創(chuàng)建數(shù)據(jù)存檔狀態(tài)表和序列創(chuàng)建表(歷史數(shù)據(jù)庫(kù)中的所有操作都在該用戶下執(zhí)行)。
創(chuàng)建表數(shù)據(jù)_存檔_狀態(tài)
(
身份證號(hào),
線號(hào),
table_name VARCHAR2(60),
同步編號(hào),
州號(hào),
開(kāi)始時(shí)間日期,
同步時(shí)間日期,
備注VARCHAR2(2000年)
)
-向列添加注釋
對(duì)列data_archiv:啟動(dòng),1:打開(kāi)并解析游標(biāo),2:提取數(shù)據(jù),3:完成一個(gè)表的同步,4:完成所有表,其他負(fù)數(shù):錯(cuò)誤代碼#39。
-創(chuàng)建序列
創(chuàng)建序列序列號(hào)
最小值1
最大值9999999999999
從1開(kāi)始
增加1
緩存20
3.在歷史庫(kù)中創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)鏈接,該數(shù)據(jù)庫(kù)鏈接可以連接到具有只讀權(quán)限的生產(chǎn)庫(kù),例如:。
-創(chuàng)建數(shù)據(jù)庫(kù)鏈接
創(chuàng)建數(shù)據(jù)庫(kù)鏈接X(jué)XDB。本地域
連接到只讀
由#34#34標(biāo)識(shí)
使用#39(描述
(LOAD_BALANCEno)
(地址列表
(地址
(協(xié)議)
(主機(jī)172.16.XX.XX)
(端口1521)
)
(地址
(協(xié)議)
(主機(jī)172.16.XX.XX)
(端口1521)
)
)
(連接_數(shù)據(jù)
(故障轉(zhuǎn)移模式
(類型選擇)
(方法基礎(chǔ))
(重試180次)
(延遲5)
)
(服務(wù)器專用)
(服務(wù)名稱XX服務(wù))
)
)#39
4.歷史庫(kù)應(yīng)創(chuàng)建一個(gè)與生產(chǎn)庫(kù)具有相同表結(jié)構(gòu)的表,建議更改表名以標(biāo)記存檔數(shù)據(jù)。
創(chuàng)建表格log_table_p201209(......)
5.為數(shù)據(jù)存檔創(chuàng)建存儲(chǔ)過(guò)程:
將過(guò)程p_log_table_p201209創(chuàng)建為
-索引表
類型u_type是按pls_integer索引的log_table_p201209%rowtype的表
v_list u_type
-定義一個(gè)數(shù)組來(lái)存儲(chǔ)要同步的視圖的名稱。
varchar _ arrary類型是由pls_integer索引的varchar2(60)的表
v _ remoteview _ list varchar _ arrary
-定義參考索引
cur_ref類型是引用游標(biāo)
當(dāng)前數(shù)據(jù)當(dāng)前引用
-局部變量,記錄SQL%ROWCOUNT。
v _計(jì)數(shù)器編號(hào): 0
行id行id
:空值
v _ query str varchar(1000): null
:日期為空
日期:為空
:日期為空
日期:為空
開(kāi)始
-初始化陣列(在步驟1中創(chuàng)建的視圖)
v _ r: # 39 Zhang hui . log _ tabl: # 39 select/* rowid(t)*/* from # 39 | | v _ r:系統(tǒng)日期
為v_querystr打開(kāi)cur_data
:系統(tǒng)日期
更新數(shù)據(jù)存檔狀態(tài)
設(shè)置同步時(shí)間系統(tǒng)日期,
狀態(tài)2,
備注備注| | # 39[# 39 | | v _ r:pars: 0
:系統(tǒng)日期
-對(duì)于打開(kāi)的游標(biāo),循環(huán)同步。
環(huán)
-使用批量綁定一次處理10000條記錄。
提取cur_data批量收集
入v_list限制10000
forall i in 1..五_
插入log_tabl:虛擬計(jì)數(shù)器sql%rowcount
更新數(shù)據(jù)存檔狀態(tài)測(cè)試
設(shè)置v_counter,sysdate
其中rowid v_rowid
通信它
未找到cur _ data %時(shí)退出
結(jié)束循環(huán)
:系統(tǒng)日期
-更新計(jì)劃,并在備注中記錄當(dāng)前分區(qū)的完成時(shí)間。
更新數(shù)據(jù)存檔狀態(tài)
設(shè)置狀態(tài)3,
同步時(shí)間系統(tǒng)日期,
備注備注|| #39fetch_elapsed#39 ||
round((v _ fetch _ elapsed _ e-v _ fetch _ elapsed _ s)* 24 * 60,
4)|| # 39分鐘,同步數(shù)# 39 | | v _計(jì)數(shù)器| |
#39,endtime #39 || to_char(sysdate,# 39 yyyymmdd hh 24 miss # 39)| | # 39]# 39
其中rowid v_rowid
犯罪
關(guān)閉cur_data
-更新時(shí)間表
更新數(shù)據(jù)存檔狀態(tài)測(cè)試集4
犯罪
結(jié)束循環(huán)
例外
當(dāng)其他人
:
更新數(shù)據(jù)存檔狀態(tài)
設(shè)置同步時(shí)間系統(tǒng)日期,狀態(tài)v_sqlcode
其中rowid v_rowid
犯罪
上升
結(jié)束
6.創(chuàng)建一個(gè)壓縮對(duì)象存儲(chǔ)過(guò)程。由于移動(dòng)操作需要將近兩倍的存儲(chǔ)空間,請(qǐng)?jiān)趬嚎s前預(yù)先評(píng)估空間需求。
創(chuàng)建過(guò)程p _ compress _ object(VO object _ name varchar 2,-object。
var partition _ name varchar 2 default null,-分區(qū)名
VParallel int默認(rèn)值為0,-并行度
VPctfree int默認(rèn)值為0,-存儲(chǔ)參數(shù)Pctfree設(shè)置為0,不再考慮DML操作。
vtablespace varchar 2默認(rèn)為空,-表空間
V owner varchar2d:0、表1、索引2、分區(qū)表3、索引分區(qū)
)Authid當(dāng)前用戶是
vSql varchar2(4000)
vsqlerm varchar 2(256)
v_sqlstring varchar2(4000)
開(kāi)始
v _ sqlstring : # 39更改會(huì)話集db _ file _ multi block _ read _ count 128 # 39
立即執(zhí)行v_sqlstring
如果vTyp: # 39 alter table # 39 | | v owner | | # 39。# 39 | | VO object _ name | | # 39 move # 39 | |當(dāng)vTablespace為null時(shí)的情況,然后為null else # 39表空間# 39 | | vTablespace end | | # 39 pct free # 39 | | vPctfree | | # 39 compr: # 39 alter index # 39 | |所有者|| #39。# 39 | | vObject _ name | |
#39 rebuild #39 ||當(dāng)vTablespace為null時(shí)的情況,然后為null else # 39表空間# 39 | | vTablespace end | | # 39 pct free # 39 | | vPctfree | | # 39 compr: # 39 alter table # 39 | | v owner | | # 39。# 39 | | vObject _ name | |
#39移動(dòng)分區(qū)#39 || vPartition_name ||當(dāng)vTablespace為null時(shí)的情況,然后為null else #39表空間# 39 | | vTablespace end | | # 39 pct free # 39 | | vPctfree | | # 39 compr: # 39 alter index # 39 | |所有者|| #39。# 39 | | vObject _ name | |
#39重建分區(qū)#39 || vPartition_name ||當(dāng)vTablespace為null時(shí)的情況,然后為null else #39表空間# 39 | | vTablespace end | | # 39 pct free # 39 | | vPctfree | | # 39 compr: SQL errm
DBMS _ output . put _ line(vsqlerm | | # 39 | # 39 | | vSql)
結(jié)束
7.以上準(zhǔn)備工作完成后,確認(rèn)歷史數(shù)據(jù)庫(kù)的表空間,調(diào)用數(shù)據(jù)歸檔存儲(chǔ)過(guò)程p_log_table_p201209,處理后的數(shù)據(jù)進(jìn)行處理。壓縮,調(diào)用存儲(chǔ)過(guò)程p _ compress _ object(...);
8.確認(rèn)數(shù)據(jù)正確,刪除生產(chǎn)庫(kù)維護(hù)用戶對(duì)應(yīng)的視圖和業(yè)務(wù)表的分區(qū),釋放對(duì)象占用的空間(注意:檢查分區(qū)表的索引是否在本地,否則...).