摘要: 最近在討論關于建設報表平臺的事情,于是對這方面的產品簡單得了解了一下,做個初步選型。發現這方面的軟件很多,特別是國內和國外的軟件對比,優點和缺點都是比較突出,讓人很難抉擇。用國內的軟件,操作方面、價格便宜,但是就是怕軟件的后續支持不好。國外的軟件服務、支持都是沒有問題,但是實在是不太符合國內的報表制作習慣,估計到時候會很痛苦,讓人很難抉擇。因為沒有實際使用過這些工具,所以在網上摘錄了一篇介紹的文章看一下: 閱讀全文
摘要: 本文通過創建一個Oracle的各種進制之間的轉換函數包,來了解一下Oracle的Package、Procdure、Function、Type等等元素的基本特性,以及這些元素之間的相互關系。不過最值得借鑒的還是這個包的作者的編碼習慣,這的是非常賞心悅目的一段代碼啊,包括注釋結構也很美。注:實例來源于網絡,我能夠找到的網址是:http://www.laozizhu.com/view-Oracle%E9%87%8C%E4%BA%8C%E8%BF%9B%E5%88%B6%E3%80%81%E5%85%AB%E8%BF%9B%E5%88%B6%E3%80%81%E5%8D%81%E8%BF%9B%E5%88%B6%E3%80%81%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6%E4%B9%8B%E9%97%B4%E7%9A%84%E4%BA%92%E7%9B%B8%E8%BD%AC%E6%8D%A2-18961.htm (汗,好長的漢字網址……) 閱讀全文
摘要: 已經是第N次看這位大哥的著作了,估計這也算是個國內Linux界的學習狂人了,教程出了一個又一個的??上也蛔鲞@一塊,也沒太多的時間拿來研究Linux,只有需要的時候查一下了,不然好好研究一下這位大哥的全部著作,也算是美事一件。 閱讀全文
摘要: 公司目前需要做一個與生產庫實時同步的備庫,于是做了一些技術選擇?;旧蟻碚f,最省事的當然就是做個DG,但是對系統硬件、操作系統的要求比較高,不可能再弄臺小機搞這玩意。所以只能排除。另外物化視圖也是比較方便的方法,但是因為是需要整庫備份,很明顯是不切實際的?;旧峡蛇x的技術也只有高級復制和流復制兩種了。流復制的配置比較麻煩,而且應用也不是很成熟,但是功能強大。高級復制雖然要簡單一些,但是也只能支持Table級,所以在兩者之間還是很困惑,專門找了一些材料對比一下。 閱讀全文
摘要: 來了解一下Linux下對磁盤進行查看和控制的兩個命令。這兩個命令都比較好用,非常需要的功能,而且參數也不復雜。Linux我不熟悉,基本上都是從網上搜集資料學習,記在博客中,以方便今后匯總查詢。好,簡單學習一下: 閱讀全文
摘要: Oracle自帶的內部包大多數都是經過加密的,比較好奇,了解一下Oracle進行加密的工具。一般都使用wrap工具進行加密,這個wrap的使用語法非常簡單,只有輸入和輸出兩個參數,也沒有多余的操作。但是也沒有詳細的錯誤提示,所以很多問題出現后很難查到原因。簡單看看,記錄一下這個工具的用法,以便今后查詢。 閱讀全文
摘要: 最近在配置Stream時,發現必須要把GLOBAL_NAMES參數的指設置為TRUE,具體原因為何不知。但是發現在設置了該參數之后,數據庫每天的物化視圖刷新出現了問題。之后查明原因,是DBLINK出現了問題。隨后研究了一下GLOBAL_NAMES這個參數,發現其實很有意思的事情是:GLOBAL_NAMES參數并不是用來控制GLOBAL_NAME的,而是用來限制DBLINK的使用。下面簡單了解一下這個參數: 閱讀全文
摘要: 在yangtingkun博客上看到很早以前的一篇文章,是用一個type來自定義聚集函數的,覺得非常神奇,想想用普通的函數定義還真的是不能滿足需求,只能用Oracle的說明來做。開始死活看不懂這個type定義的原理,發現參數傳入傳出的好麻煩,后來在網上找了Oracle的文檔,發現這是Oracle規定的固定格式,而且函數名也是確定的,貌似這樣才能依次調用。下面簡單了解一下: 閱讀全文
摘要: Archivelog并不能直接得從OS層直接物理刪除,因為archivelog的相關信息是記錄在controlfile中的,當物理刪除后不會改變controlfile的設置。并且在查詢相關的動態視圖(例如v$archived_log)時,該部分日志仍然標注為存在。也就是說Oracle并不認為這些日志被刪除了,所以在刪除archivelog的時候,需要我們在其他地方做一些設置。 閱讀全文
摘要: 在使用Streams流復制的過程中,遇到各種錯誤的時候很常見。在Oracle的文檔(Oracle? Streams Concepts and Administration 10g Release 2)上提供了一個異常檢測方案。即可以通過Oracle自己的數據字典,來確定具體的傳輸內容,以便作出相應的調整 閱讀全文
摘要: 今天在關閉數據庫的時候,shutdown immediate之后系統就hang住了,其他進程也連不上庫。查看了alert.log日志,發現大量出現“PMON failed to acquire latch, see PMON dump”這個錯誤,到網上查了一下,據說是個bug,在一篇博文上找到了解決的辦法: 閱讀全文
摘要: 入行太晚,沒接觸過早期的Oracle版本,所以一直都是用PLSQL Developer做數據的exp和imp?,F在要寫定制腳本了才發現,自己居然對命令行模式下的這兩個命令很不了解,于是只要再來學一遍基礎。了解了一遍之后發現這兩個工具的有些細節還是很值得注意一下的,下面看一下詳細的用法: 閱讀全文
摘要: 今天做了個數據庫的備份腳本,順便系統得學習一下Linux下定時執行腳本的設置。Linux下的定時執行主要是使用crontab文件中加入定制計劃來執行,設置比Windows稍微復雜一些(因為沒有圖形界面嘛),但是也不是非常復雜,基本上用過一遍就能記住了,關鍵是要記住/var/spool/cron這個目錄。下面看一下具體的用法: 閱讀全文
摘要: 最近通過VMware硬盤的直接復制來創建結點,需要修改DBID和DBNAME(保證數據庫環境可用),找了找可以用來直接修改DBNAME的方法,還真有,原來Oracle本身就自帶了這個功能的工具(NID),用了一下發現使用還是比較方便的,但是更改之后問題多多,使用的最終結論還是:不到萬不得已不推薦使用,因為DBID涉及到的關聯很多,修改SID后會引發很多不可預知的錯誤,很多參數都任然沿用之間的%SID%,如果沒有非常特殊的要求,還是保留datafile后,刪除重建。講一下具體的操作過程: 閱讀全文
摘要: 一直想在手工ETL的同時自己做一個簡單的元數據管理庫。到網上搜索了一下,有前輩說可以參考開源項目Kettle的源代碼,于是就到網上下了一個用了一下,發現過程比較簡潔,而且在很多地方都做得比較人性化,比如支持自己編寫SQL、Java Script等。所以特地打算研究一下,發現網上已經有很多教程了,轉一篇過來看看。改天有時間再研究一下后臺的代碼。不過對于元數據的記錄信息似乎少了點,不過鑒于它是完全免費使用的,也沒什么可說的了。下面是轉載文: 閱讀全文
摘要: 很多人都遇到過這樣的問題:源數據庫里的表沒有時間戳,或者有時間戳的字段但沒有嚴格執行,而歷史數據又可能會經常性得被修改。這對于ETL數據抽取來說將是一個很大的問題,特別是對于不能動源庫的情況下,很難解決這個問題。最近又因為這個問題,考慮了很久,最后打算在MView同步數據的基礎上,通過Trigger來手動增加時間戳。 閱讀全文
摘要: 因為最近研究字符集,所以對于Oracle內部的一些存儲模式產生了一些興趣,據說DUMP這個函數的功能非常強大,所以專門研究了一下。當然研究的都比較初級,只是了解一下。具體哪里可以用到暫時還不知道 -_-||| ,另外對字符集的轉換等一些函數也了解一下: 閱讀全文
摘要: 對字符集的認識一直都處于一知半解的狀態,目前打算要做不同字符集的庫之間數據傳導,所以專門研究了一下數據庫的字符集問題。轉了一篇很詳細的論文來,論文就是不一樣,講得非常細致全面,是很好的字符集入門材料。下面是正文: 閱讀全文
摘要: 從Oracle9i開始,Oracle引入了CDC技術來實現對變化數據的捕獲。在Oracle9i中CDC只支持同步的數據捕獲(synchronous change capture),源數據的變化被實時的捕獲,捕獲的過程和源數據是同一個事務。它的實現需要源數據支持trigger,所以這種同步的技術會給數據源帶來性能的問題。這是CDC在Oracle9i的一個缺陷(在Oracle10g中已經改進)。 閱讀全文
摘要: top命令和ps命令的基本作用是相同的,顯示系統當前的進程和其它狀況;但是top是一個動態顯示過程,即可以通過用戶按鍵來不斷刷新當前狀態。如在前臺執行該命令,它將獨占前臺,直到用戶終止該程序為止。 閱讀全文