摘要: 公司目前需要做一個(gè)與生產(chǎn)庫(kù)實(shí)時(shí)同步的備庫(kù),于是做了一些技術(shù)選擇。基本上來(lái)說(shuō),最省事的當(dāng)然就是做個(gè)DG,但是對(duì)系統(tǒng)硬件、操作系統(tǒng)的要求比較高,不可能再弄臺(tái)小機(jī)搞這玩意。所以只能排除。另外物化視圖也是比較方便的方法,但是因?yàn)槭切枰麕?kù)備份,很明顯是不切實(shí)際的。基本上可選的技術(shù)也只有高級(jí)復(fù)制和流復(fù)制兩種了。流復(fù)制的配置比較麻煩,而且應(yīng)用也不是很成熟,但是功能強(qiáng)大。高級(jí)復(fù)制雖然要簡(jiǎn)單一些,但是也只能支持Table級(jí),所以在兩者之間還是很困惑,專門找了一些材料對(duì)比一下。 閱讀全文
06 2009 檔案
摘要: 來(lái)了解一下Linux下對(duì)磁盤進(jìn)行查看和控制的兩個(gè)命令。這兩個(gè)命令都比較好用,非常需要的功能,而且參數(shù)也不復(fù)雜。Linux我不熟悉,基本上都是從網(wǎng)上搜集資料學(xué)習(xí),記在博客中,以方便今后匯總查詢。好,簡(jiǎn)單學(xué)習(xí)一下: 閱讀全文
摘要: Oracle自帶的內(nèi)部包大多數(shù)都是經(jīng)過(guò)加密的,比較好奇,了解一下Oracle進(jìn)行加密的工具。一般都使用wrap工具進(jìn)行加密,這個(gè)wrap的使用語(yǔ)法非常簡(jiǎn)單,只有輸入和輸出兩個(gè)參數(shù),也沒(méi)有多余的操作。但是也沒(méi)有詳細(xì)的錯(cuò)誤提示,所以很多問(wèn)題出現(xiàn)后很難查到原因。簡(jiǎn)單看看,記錄一下這個(gè)工具的用法,以便今后查詢。 閱讀全文
摘要: 最近在配置Stream時(shí),發(fā)現(xiàn)必須要把GLOBAL_NAMES參數(shù)的指設(shè)置為TRUE,具體原因?yàn)楹尾恢5前l(fā)現(xiàn)在設(shè)置了該參數(shù)之后,數(shù)據(jù)庫(kù)每天的物化視圖刷新出現(xiàn)了問(wèn)題。之后查明原因,是DBLINK出現(xiàn)了問(wèn)題。隨后研究了一下GLOBAL_NAMES這個(gè)參數(shù),發(fā)現(xiàn)其實(shí)很有意思的事情是:GLOBAL_NAMES參數(shù)并不是用來(lái)控制GLOBAL_NAME的,而是用來(lái)限制DBLINK的使用。下面簡(jiǎn)單了解一下這個(gè)參數(shù): 閱讀全文
摘要: 在yangtingkun博客上看到很早以前的一篇文章,是用一個(gè)type來(lái)自定義聚集函數(shù)的,覺(jué)得非常神奇,想想用普通的函數(shù)定義還真的是不能滿足需求,只能用Oracle的說(shuō)明來(lái)做。開始死活看不懂這個(gè)type定義的原理,發(fā)現(xiàn)參數(shù)傳入傳出的好麻煩,后來(lái)在網(wǎng)上找了Oracle的文檔,發(fā)現(xiàn)這是Oracle規(guī)定的固定格式,而且函數(shù)名也是確定的,貌似這樣才能依次調(diào)用。下面簡(jiǎn)單了解一下: 閱讀全文
摘要: Archivelog并不能直接得從OS層直接物理刪除,因?yàn)閍rchivelog的相關(guān)信息是記錄在controlfile中的,當(dāng)物理刪除后不會(huì)改變controlfile的設(shè)置。并且在查詢相關(guān)的動(dòng)態(tài)視圖(例如v$archived_log)時(shí),該部分日志仍然標(biāo)注為存在。也就是說(shuō)Oracle并不認(rèn)為這些日志被刪除了,所以在刪除archivelog的時(shí)候,需要我們?cè)谄渌胤阶鲆恍┰O(shè)置。 閱讀全文
摘要: 在使用Streams流復(fù)制的過(guò)程中,遇到各種錯(cuò)誤的時(shí)候很常見。在Oracle的文檔(Oracle? Streams Concepts and Administration 10g Release 2)上提供了一個(gè)異常檢測(cè)方案。即可以通過(guò)Oracle自己的數(shù)據(jù)字典,來(lái)確定具體的傳輸內(nèi)容,以便作出相應(yīng)的調(diào)整 閱讀全文
摘要: 今天在關(guān)閉數(shù)據(jù)庫(kù)的時(shí)候,shutdown immediate之后系統(tǒng)就hang住了,其他進(jìn)程也連不上庫(kù)。查看了alert.log日志,發(fā)現(xiàn)大量出現(xiàn)“PMON failed to acquire latch, see PMON dump”這個(gè)錯(cuò)誤,到網(wǎng)上查了一下,據(jù)說(shuō)是個(gè)bug,在一篇博文上找到了解決的辦法: 閱讀全文
摘要: 入行太晚,沒(méi)接觸過(guò)早期的Oracle版本,所以一直都是用PLSQL Developer做數(shù)據(jù)的exp和imp。現(xiàn)在要寫定制腳本了才發(fā)現(xiàn),自己居然對(duì)命令行模式下的這兩個(gè)命令很不了解,于是只要再來(lái)學(xué)一遍基礎(chǔ)。了解了一遍之后發(fā)現(xiàn)這兩個(gè)工具的有些細(xì)節(jié)還是很值得注意一下的,下面看一下詳細(xì)的用法: 閱讀全文
摘要: 今天做了個(gè)數(shù)據(jù)庫(kù)的備份腳本,順便系統(tǒng)得學(xué)習(xí)一下Linux下定時(shí)執(zhí)行腳本的設(shè)置。Linux下的定時(shí)執(zhí)行主要是使用crontab文件中加入定制計(jì)劃來(lái)執(zhí)行,設(shè)置比Windows稍微復(fù)雜一些(因?yàn)闆](méi)有圖形界面嘛),但是也不是非常復(fù)雜,基本上用過(guò)一遍就能記住了,關(guān)鍵是要記住/var/spool/cron這個(gè)目錄。下面看一下具體的用法: 閱讀全文
摘要: 最近通過(guò)VMware硬盤的直接復(fù)制來(lái)創(chuàng)建結(jié)點(diǎn),需要修改DBID和DBNAME(保證數(shù)據(jù)庫(kù)環(huán)境可用),找了找可以用來(lái)直接修改DBNAME的方法,還真有,原來(lái)Oracle本身就自帶了這個(gè)功能的工具(NID),用了一下發(fā)現(xiàn)使用還是比較方便的,但是更改之后問(wèn)題多多,使用的最終結(jié)論還是:不到萬(wàn)不得已不推薦使用,因?yàn)镈BID涉及到的關(guān)聯(lián)很多,修改SID后會(huì)引發(fā)很多不可預(yù)知的錯(cuò)誤,很多參數(shù)都任然沿用之間的%SID%,如果沒(méi)有非常特殊的要求,還是保留datafile后,刪除重建。講一下具體的操作過(guò)程: 閱讀全文
摘要: 一直想在手工ETL的同時(shí)自己做一個(gè)簡(jiǎn)單的元數(shù)據(jù)管理庫(kù)。到網(wǎng)上搜索了一下,有前輩說(shuō)可以參考開源項(xiàng)目Kettle的源代碼,于是就到網(wǎng)上下了一個(gè)用了一下,發(fā)現(xiàn)過(guò)程比較簡(jiǎn)潔,而且在很多地方都做得比較人性化,比如支持自己編寫SQL、Java Script等。所以特地打算研究一下,發(fā)現(xiàn)網(wǎng)上已經(jīng)有很多教程了,轉(zhuǎn)一篇過(guò)來(lái)看看。改天有時(shí)間再研究一下后臺(tái)的代碼。不過(guò)對(duì)于元數(shù)據(jù)的記錄信息似乎少了點(diǎn),不過(guò)鑒于它是完全免費(fèi)使用的,也沒(méi)什么可說(shuō)的了。下面是轉(zhuǎn)載文: 閱讀全文
摘要: 很多人都遇到過(guò)這樣的問(wèn)題:源數(shù)據(jù)庫(kù)里的表沒(méi)有時(shí)間戳,或者有時(shí)間戳的字段但沒(méi)有嚴(yán)格執(zhí)行,而歷史數(shù)據(jù)又可能會(huì)經(jīng)常性得被修改。這對(duì)于ETL數(shù)據(jù)抽取來(lái)說(shuō)將是一個(gè)很大的問(wèn)題,特別是對(duì)于不能動(dòng)源庫(kù)的情況下,很難解決這個(gè)問(wèn)題。最近又因?yàn)檫@個(gè)問(wèn)題,考慮了很久,最后打算在MView同步數(shù)據(jù)的基礎(chǔ)上,通過(guò)Trigger來(lái)手動(dòng)增加時(shí)間戳。 閱讀全文
摘要: 因?yàn)樽罱芯孔址詫?duì)于Oracle內(nèi)部的一些存儲(chǔ)模式產(chǎn)生了一些興趣,據(jù)說(shuō)DUMP這個(gè)函數(shù)的功能非常強(qiáng)大,所以專門研究了一下。當(dāng)然研究的都比較初級(jí),只是了解一下。具體哪里可以用到暫時(shí)還不知道 -_-||| ,另外對(duì)字符集的轉(zhuǎn)換等一些函數(shù)也了解一下: 閱讀全文
摘要: 對(duì)字符集的認(rèn)識(shí)一直都處于一知半解的狀態(tài),目前打算要做不同字符集的庫(kù)之間數(shù)據(jù)傳導(dǎo),所以專門研究了一下數(shù)據(jù)庫(kù)的字符集問(wèn)題。轉(zhuǎn)了一篇很詳細(xì)的論文來(lái),論文就是不一樣,講得非常細(xì)致全面,是很好的字符集入門材料。下面是正文: 閱讀全文
摘要: 從Oracle9i開始,Oracle引入了CDC技術(shù)來(lái)實(shí)現(xiàn)對(duì)變化數(shù)據(jù)的捕獲。在Oracle9i中CDC只支持同步的數(shù)據(jù)捕獲(synchronous change capture),源數(shù)據(jù)的變化被實(shí)時(shí)的捕獲,捕獲的過(guò)程和源數(shù)據(jù)是同一個(gè)事務(wù)。它的實(shí)現(xiàn)需要源數(shù)據(jù)支持trigger,所以這種同步的技術(shù)會(huì)給數(shù)據(jù)源帶來(lái)性能的問(wèn)題。這是CDC在Oracle9i的一個(gè)缺陷(在Oracle10g中已經(jīng)改進(jìn))。 閱讀全文
摘要: top命令和ps命令的基本作用是相同的,顯示系統(tǒng)當(dāng)前的進(jìn)程和其它狀況;但是top是一個(gè)動(dòng)態(tài)顯示過(guò)程,即可以通過(guò)用戶按鍵來(lái)不斷刷新當(dāng)前狀態(tài)。如在前臺(tái)執(zhí)行該命令,它將獨(dú)占前臺(tái),直到用戶終止該程序?yàn)橹埂?nbsp; 閱讀全文
摘要: RDA是Remote Diagnostic Agent 的簡(jiǎn)稱,是Oracle用來(lái)收集、分析數(shù)據(jù)庫(kù)的工具,運(yùn)行該工具不會(huì)改變系統(tǒng)的任何參數(shù),RDA收集的相關(guān)數(shù)據(jù)非常全面,可以簡(jiǎn)化我們?nèi)粘1O(jiān)控、分析數(shù)據(jù)庫(kù)的工作。 閱讀全文
摘要: 前段時(shí)間看到一段SQL,感覺(jué)實(shí)現(xiàn)的邏輯非常繞,而且看了之后想了很久都沒(méi)有想明白到底是怎么回事,再一直想到我都能記住這段SQL的具體細(xì)節(jié)了,放到博客上研究一下。 閱讀全文
摘要: 最近想在Oracle中設(shè)置一個(gè)觸發(fā)器,每天執(zhí)行數(shù)據(jù)檢測(cè)腳本之后,如果發(fā)現(xiàn)錯(cuò)誤數(shù)據(jù)就自動(dòng)發(fā)送郵件到我郵箱里,于是研究了一下在Oracle中發(fā)送郵件的方法。據(jù)說(shuō)10g里可以使用UTL_MAIL包來(lái)簡(jiǎn)單得發(fā)送郵件了,但是覺(jué)得通用性不高,萬(wàn)一哪天換成9i了就要重寫,于是還是決定用UTL_SMTP包來(lái)做。 閱讀全文
摘要: 寫在前面:其實(shí)dump操作是很簡(jiǎn)單的事情,但是對(duì)于像我這樣的新手可能還是會(huì)有很多搞不明白的事情,所以打算簡(jiǎn)單說(shuō)明一下:首先大家所說(shuō)的把*** dump出來(lái)的意思,就是用戶自己對(duì)進(jìn)程中的一些事件進(jìn)行trace,然后會(huì)在udump文件目錄下產(chǎn)生trace記錄,可以查看到當(dāng)時(shí)內(nèi)存的情況。 閱讀全文
摘要: 最近對(duì)調(diào)優(yōu)比較感興趣,接著來(lái)學(xué)習(xí)一下DBMS_TRACE包的用法。要注意的是這個(gè)包是為了用來(lái)TRACE PLSQL的,只能針對(duì)PLSQL使用。 閱讀全文
摘要: 一直用explain plan來(lái)查執(zhí)行計(jì)劃,所以想了解一下DBMS_XPLAN包的構(gòu)成。 閱讀全文
摘要: dbms_rowid包可以通過(guò)表中各條記錄的唯一rowid號(hào),來(lái)查看這條記錄的信息,例如所屬object、block等等。這個(gè)包很簡(jiǎn)單,但是對(duì)于確定當(dāng)前行的信息值還是比較有用的。而dbms_rowid包的function可以在SQL中直接使用,先簡(jiǎn)單得舉幾個(gè)例子。 閱讀全文
摘要: 雖然一直在使用DBMS_OUTPUT.PUT_LINE,但是說(shuō)實(shí)話沒(méi)有仔細(xì)研究過(guò)DBMS_OUTPUT包中的其他方法和函數(shù)的用法,所以這次特地來(lái)研究一下。先簡(jiǎn)單的講解一下這個(gè)包的所有procedure的含義及作用 閱讀全文
摘要: 現(xiàn)在我們把之前這些用法結(jié)合起來(lái)詳細(xì)的分析一下目前網(wǎng)上發(fā)布的一些批處理,看看他們是怎么運(yùn)作的。這里我將列舉三個(gè)例子來(lái)詳細(xì)分析,為了保持程序的完整我的注釋會(huì)加在/*后面。 閱讀全文
摘要: 在批處理中適當(dāng)?shù)囊米兞繉?huì)使你所編制的程序應(yīng)用面更廣。批處理每次能處理的變量從%0~%9共10個(gè)。其中%0默認(rèn)給批處理的文件名使用。除非在使用SHIFT命令后%0才能被%1所替代。引用shift命令的例子如果把%1前面多加上一個(gè)%0那么結(jié)果如下 閱讀全文
摘要: 在命令行下有些符號(hào)是不允許使用的,但有些符號(hào)卻有著特殊的意義。 閱讀全文
摘要: 批處理文件是將一系列命令按一定的順序集合為一個(gè)可執(zhí)行的文本文件,其擴(kuò)展名為BAT。這些命令統(tǒng)稱批處理命令,下面我就來(lái)給大家介紹一下批處理的命令。 閱讀全文
摘要: 最近在機(jī)子上裝了一些軟件之后,機(jī)子出了點(diǎn)問(wèn)題,所有的exe工具文件(甚至包括一些cmd下的命令),都無(wú)法直接打開執(zhí)行了,必須要輸全整個(gè)文件名,例如 sqlplus.exe 。在問(wèn)了一圈同事之后(不包括我們的系統(tǒng)管理員),居然還是沒(méi)有一個(gè)準(zhǔn)確的答案。最后詢問(wèn)了系統(tǒng)管理員之后,發(fā)現(xiàn)只是因?yàn)楹?jiǎn)單的環(huán)境變量設(shè)置問(wèn)題,真是感嘆大家對(duì)操作系統(tǒng)的白癡了 -_-||| 閱讀全文