提供參考
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括六盤水網(wǎng)站建設(shè)、六盤水網(wǎng)站制作、六盤水網(wǎng)頁(yè)制作以及六盤水網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,六盤水網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到六盤水省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
DECLARE
BEGIN
merge?INTO?t17_organ?t1?
USING?t40_organ?t2?
ON?t1.organno=t2.organno
WHEN?matched?THEN
UPDATE?
SET?t1.organname=t2.organname,
t1.organlevel?=t2.organlevel,
t1.uporgankey?=t2.uporgankey,
t1.flag???????=t2.flag?;
COMMIT;
END;
/
Oracle的體系結(jié)構(gòu)是一個(gè)需要掌握的比較重要的概念,這個(gè)結(jié)構(gòu)體系也比較復(fù)雜,我稍為總結(jié)了一下概念。
Oracle數(shù)據(jù)庫(kù)主要的物理存儲(chǔ)結(jié)構(gòu)包括構(gòu)成數(shù)據(jù)庫(kù)的各種物理文件,包括數(shù)據(jù)文件、控件文件、重演日志文件、歸檔重演日志文件、參數(shù)文件、警告、跟蹤日志文件和備份文件等。
數(shù)據(jù)文件:
每個(gè)Oracle數(shù)據(jù)庫(kù)都有一個(gè)或者多個(gè)物理數(shù)據(jù)文件(datafile),數(shù)據(jù)文件包含了所有的數(shù)據(jù)庫(kù)數(shù)據(jù),數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)的數(shù)據(jù)(如表、索引等)都被物理地存儲(chǔ)在分給數(shù)據(jù)庫(kù)的數(shù)據(jù)文件中。
數(shù)據(jù)文件包含下列類型的數(shù)據(jù):
表數(shù)據(jù)
索引數(shù)據(jù)
數(shù)據(jù)字典定義
回滾事務(wù)所需的信息
存儲(chǔ)過程、函數(shù)和數(shù)據(jù)包的代碼
用來排序的臨時(shí)數(shù)據(jù)
數(shù)據(jù)文件的特點(diǎn):
一個(gè)數(shù)據(jù)文件只能與一個(gè)數(shù)據(jù)庫(kù)相關(guān)聯(lián)。
可以對(duì)數(shù)據(jù)文件設(shè)置一些特性,在數(shù)據(jù)庫(kù)空間用完的情況下可以自動(dòng)擴(kuò)展。
一個(gè)或多個(gè)數(shù)據(jù)文件構(gòu)成了一個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)的邏輯單元——表空間(table space)。
數(shù)據(jù)會(huì)匯集在內(nèi)存里,由數(shù)據(jù)庫(kù)的書寫進(jìn)程(DBWR)決定。(DBWO?)
select status,bytes,name from v$datafile;
控制文件:
數(shù)據(jù)庫(kù)控制文件(control file)是一個(gè)很小的二進(jìn)制文件,它維護(hù)著數(shù)據(jù)庫(kù)的全局物理結(jié)構(gòu),用以支持?jǐn)?shù)據(jù)庫(kù)成功地啟動(dòng)和運(yùn)行。創(chuàng)建數(shù)據(jù)庫(kù)時(shí),同時(shí)就提供了與之對(duì)應(yīng)的控制文件。
每一個(gè)控制文件只能與一個(gè)Oracle數(shù)據(jù)庫(kù)相關(guān)聯(lián)。
控制文件包含了數(shù)據(jù)庫(kù)實(shí)例在啟動(dòng)和正常操作時(shí),訪問數(shù)據(jù)庫(kù)所需的關(guān)于數(shù)據(jù)庫(kù)的信息。
控制文件包含以下的信息:
數(shù)據(jù)庫(kù)名稱
數(shù)據(jù)庫(kù)創(chuàng)建的時(shí)間戳
相關(guān)的數(shù)據(jù)文件、重演日志文件的名稱和位置
表空間信息
數(shù)據(jù)文件脫機(jī)范圍
日志歷史
歸檔日志信息
備份組和備份塊信息
備份數(shù)據(jù)文件和重演日志信息
數(shù)據(jù)文件拷貝信息
當(dāng)前日志序列數(shù)
檢查點(diǎn)(checkpoint)信息
保護(hù)控制文件,必須注意的幾個(gè)方面:
每一個(gè)數(shù)據(jù)庫(kù)都要使用多路復(fù)制的控制文件
把每一個(gè)控制文件的復(fù)件保存在不同的物理磁盤上
使用操作系統(tǒng)的冗余鏡像機(jī)制
監(jiān)控備份
select name from v$controlfile;
重演日志文件:
每一個(gè)Oracle數(shù)據(jù)庫(kù)都有一個(gè)由兩個(gè)或多個(gè)重演日志文件(redo log file)構(gòu)成的文件組,這組重演日志文件合稱為數(shù)據(jù)庫(kù)的重演日志。
一個(gè)重演日志文件是由重做條目(redo entry,也叫重做記錄)組成的。
重演日志的主要功能是記錄下所有數(shù)據(jù)的改變。
重演日志文件中的信息可以用在數(shù)據(jù)庫(kù)從系統(tǒng)失敗或者介質(zhì)失敗的恢復(fù)之中 。
select * from v$logfile;
歸檔重演日志文件:
歸檔重演日志文件(archive log file)就是對(duì)寫滿的重演日志文件復(fù)制若保存生成的文件??梢酝ㄟ^設(shè)置數(shù)據(jù)庫(kù)在歸檔模式(ARCHIVELOG mode)下來自動(dòng)地保存日志文件。歸檔進(jìn)程(ARCO)在后臺(tái)負(fù)責(zé)把寫滿的重演日志文件復(fù)制到歸檔日志目標(biāo)中。歸檔日志文件在數(shù)據(jù)庫(kù)恢復(fù)時(shí)起決定性作用。
Select * From v$archived_log
參數(shù)文件:
參數(shù)文件(parameter file)包含了一組關(guān)于數(shù)據(jù)庫(kù)和實(shí)例的配置參數(shù)。Oracle推薦用戶使用一個(gè)服務(wù)器參數(shù)文件(SPFILE)作為維護(hù)初始化參數(shù)的動(dòng)態(tài)手段。一個(gè)服務(wù)器參數(shù)文件允許用戶在一個(gè)服務(wù)器端的磁盤文件里持久地保存和管理初始化參數(shù)。
警告、跟蹤日志文件:
每一個(gè)服務(wù)器和后臺(tái)進(jìn)程都可以寫入一個(gè)相關(guān)的跟蹤文件(trace file)。當(dāng)一個(gè)進(jìn)程發(fā)現(xiàn)了一個(gè)內(nèi)部錯(cuò)誤的時(shí)候,它把關(guān)于錯(cuò)誤的信息轉(zhuǎn)儲(chǔ)到它的跟蹤文件里。寫入到跟蹤文件的一部分信息是給數(shù)據(jù)庫(kù)管理員使用的,而其他信息是給Oracle支持服務(wù)的。跟蹤文件信息還可以用于調(diào)整應(yīng)用程序和實(shí)例。
警告文件(alert file)是一種特殊的跟蹤文件,一個(gè)數(shù)據(jù)庫(kù)的警告文件就是包括按時(shí)間排序的消息和錯(cuò)誤的記錄。
備份文件:
用戶管理的備份和恢復(fù)實(shí)際上就是要求用戶在試圖恢復(fù)備份的時(shí)候先還原備份文件。服務(wù)器管理的備份和恢復(fù)管理了備份過程,例如,調(diào)度備份及恢復(fù)過程就是在需要恢復(fù)的時(shí)候施加正確的備份文件。
1、使用blob將圖片保存為二進(jìn)制格式,(可以用瀏覽器來轉(zhuǎn)換)隨后用base64編碼來保存圖片,再將base64編碼保存進(jìn)數(shù)據(jù)庫(kù)的clob類型字段上。
2、然后要用一個(gè)數(shù)據(jù)名稱System.Data.OracleClient。
3、創(chuàng)建一個(gè)儲(chǔ)存文件,然后把相關(guān)代碼寫入比如string execSql="insert into clob_table(clob_id,) values(1,:clob_pic);"編寫代碼的時(shí)候注意,后綴的符號(hào)(;")也要寫入,不然無法進(jìn)行下一步指令。
4、之前上面用的是base64編碼,當(dāng)顯示圖片的時(shí)候要將圖片輸出到瀏覽器流中,不然在base64里面是看不到圖片。
5、在輸出的時(shí)候要把圖片轉(zhuǎn)換成二進(jìn)制(buffur即二進(jìn)制編碼)。
6、隨后上傳即可,然二進(jìn)制流也可以存成文件(File)存到FTP服務(wù)器,當(dāng)需要的時(shí)候可以根據(jù)路徑進(jìn)行下載的。
oracle數(shù)據(jù)文件一般放在$ORACLE_HOME\oradata\orcl下,
如:C:\oracle\product\10.2.0\oradata
用管道函數(shù):
create or replace type rec_list is table of number;
CREATE OR REPLACE FUNCTION pipe_rec (pmax NUMBER)
RETURN rec_list PIPELINED
IS
BEGIN
FOR i IN 1 .. pmax
LOOP
PIPE ROW (i);
END LOOP;
RETURN;
END;
/
insert into a
select a.*,1 from table(pipe_rec(10000000)) b