2009年5月20日 星期三

爸媽的背影

今天爸媽到渴望來看我~~
在宿舍門口等著我下班,匆匆一撇又接著一起去附近吃飯~~
吃飯的時候總是老樣子,雖然在家都是一直念我胖,但是看到我住在外面,還是點了牛肉麵,小菜等要我記得吃營養一點~~

吃飯其實吃的很趕,因為爸媽從台北騎摩托車到龍潭來看我,晚回去天色都暗了,一方面怕路不好找一方面也危險......

回程時我開著車跟在父母後面一小段,看著爸媽的背影,鼻頭就有點酸~~
爸媽騎那麼遠的車,我開著車卻沒法送她們回家,想到她們的付出~~ 內心就難過~

我想我能體會當初三菱汽車的廣告~~
雖然有時候真的覺得父母真的很煩~~但是世界上對你完全付出,沒有一點私心,除了家人,還會有誰~~


....繼續閱讀

2009年5月15日 星期五

Drop Database的意涵~

Prerequisites

You must have the SYSDBA system privilege to issue this statement. The database must be mounted in exclusive and restricted mode, and it must be closed.

Syntax


drop_database::=
Description of drop_database.gif follows


Semantics

When you issue this statement, Oracle Database drops the database and deletes all control files and datafiles listed in the control file. If the database used a server parameter file (spfile), it is also deleted.

Archived logs and backups are not removed, but you can use Recovery Manager (RMAN) to remove them. If the database is on raw disks, this statement does not delete the actual raw disk special files.

....繼續閱讀

2009年5月14日 星期四

小人國的英文???

話說小人國就緊接著渴望園區,今天路上偶然抬頭看了一下小人國的路標....
沒想到....


那是什麼鳥翻譯,不知道有沒有什麼特殊意涵~~
不然昨天新聞報澎湖七美,翻譯成Seven America 我也不意外了 XD ....繼續閱讀

7-11 光合沙拉之 十二鮮蔬沙拉




昨天才在跟Annie討論要來吃沙拉減肥~~
今天就來實行...
首先吃的是十二鮮蔬沙拉搭配陽光無糖豆漿~~
沒圖沒真相~~
不囉唆...看左圖






大家一定很好奇沙拉內容物有啥~~ 就來為大家揭曉

----------------------------------------------------------------------------------------------

內容物有小黃瓜、紅蘿伯、青椒、蕃茄....等,你問我好不好吃~~
恩~~覺得還ok,會想把她吃完,還想吃第二個 .....@@

不過覺得沙拉醬有點太少了,但減肥嘛,沙拉醬就熱量最高的,忍耐點好了~~

另外,胖安妮,我已經吃囉,而且還真的配無糖豆漿,贏妳一步啦~~

....繼續閱讀

Oracle Redo、Undo等概念

收入從 "Sam的學習筆記"

Oracle Redo、Undo 及RollBack Segment觀念

記得剛接觸Oracle時,只是把他當作應用程式儲存資料的地方,所以那時候和DBA溝通時,聽他們在講什麼Redo、Undo、Rollback Segment也是常常搞混,最近有朋友剛開始玩Oracle,環境中有7.x~10g都有,所以被搞的頭昏腦脹,只好打電話問我..我是這樣回答的:

Redo 就是重作,當我們使用DML指令(Update、Delete、Insert)對資料進行修改後,Oracle會將我們對資料修改的操作及資料本身寫入 Redo Log Buffer,Oracle會找適當的時機(*註1)將Redo Log Buffer內的東西寫入Redo Log Files,由於Redo Log Files是循環寫入的,所以在異動頻繁的狀態下會很快被蓋掉,如果想要將這些異動的記錄保留下來,就請開啟Oracle Archiving Mode,這樣Oracle作Log Switch時,就會將Redo Log Files內容另存一份成為Archive Log Files

Undo 就是取消之前作的,8i以前(含8i)的Rollback Segment,在9i改叫Undo Segment;當我們進行交易時,Oracle會利用Undo Segment來存放異動前後的資料,在交易未Commit前,其他使用者可以在這裡查詢舊資料,如果交易失敗或取消,Oracle就可以很快的將由回復 原先的資料,在9i提供了Flashback Query可以讓我們查詢交易Commit以前的資料(能查多久以前的資料?看Undo Tablespace有多大、UNDO_RETENTION設多少),到了10g,我們甚至可以回復已經Commit的交易(利用Flashback Query中的Undo SQL指令)。

註1.所謂適當時機就是:

  • 交易確認時
  • Redo Log Buffer的資料異動量放超過整個Buffer的1/3
  • Redo Log Buffer的資料異動量超過1MB
  • 當DBWR將異動的Data Block從Data Buffer Cache寫入Data Files之前
....繼續閱讀

2009年5月8日 星期五

Oracle Archive Log Mode 收錄

收錄從 Yu-Min Space

ORACLE DATABASE 切換到 Archive LOG 或 NO ARCHIVE LOG 模式必須關閉、重新啟動資料庫。

切換到ARCHIVE LOG 模式並不表示系統會自動執行 ARCHIVE LOG,必須下指令執行,如果希望一開機就自動執行必須在 spfile 中作設定。

切換到ARCHIVE LOG 模式後應立即作備份的動作,如果使用之前的備份回復資料,資料只能回復至 NOARCHIVE LOG Mode 時的狀況。

檢查是否為 Archive Log 模式
SQL>select archiver select * from v$log;
SQL>archive log list;

更改 ARCHIVE/NOARCHIVE LOG 模式步驟:
1.SQL>shutdown immediate
2.SQL>startup mount
3.SQL>alter database archivelog/noarchivelog;
4.SQL>alter database open;
5.backup full database and control file;

啟動 Archive LOG Mode
SQL>alter system archive log start/stop;

變更啟動 Parameter,讓資料庫一啟動就自動執行 ARCHIVE LOG
SQL>alter system set log_archive_start=true scope=spfile;
或是在 pfile 中加入 log_archive_start=true

查詢 ARCHIVE LOG 狀況
SQL>Archive Log List

其它一些相關的設定參數和查詢
SQL>show parameter log_archive_format
SQL>alter SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3 scope=spfile sid='*';;
SQL>alter SYSTEM SET log_archive_dest_1 = "location=C:Oracleoradataoradbarchive" scope=spfile sid='*';
SQL>alter SYSTEM SET log_archive_format = %%ORACLE_SID%%T%TS%S.ARC scope=spfile sid='*';

以上收錄End

剛灌好oracle,我會先改好archive path等路徑,再啟動Archive Log Mode.
....繼續閱讀

Oracle Spfile 與 Pfile..

一開始真是霧灑灑~~
熟的同事很忙沒法帶,只好靠google大神自修~~
摘入自 Link1 與 Link2

1、pfile 文本文件 client端參數文件;不能動態修改,可以用普通的編輯器修改,修改之後需要重啟。pfile可能會導致服務器啟動不一致,因為可以在客戶端啟動。
2、spfile 二進制文件 服務器端參數文件,有了spfile,oracle可以實現動態參數在線修改,部分參數修改之後無需重啟。但是,因為是二進制文件,所以不能用普通的編輯器修改,要用alter命令從sql裡面來修改。spfile保證服務器每次的啟動都是一致的。只有spfile而沒有pfile文件時,可以通過:

create pfile='位置+名字' from spfile;

如:
create pfile='E:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\spfileorcl_bak.ora' from spfile;

進行創建pfile文件。

同理,只有pfile而沒有spfile時,可以通過:

create spfile='位置+名字' from pfile;

進行創建spfile文件。pfile和spfile二者可以互相備份。

3、通過spfile或pfile啟動數據庫

(1)startup nomount啟動方式,查找文件的順序是 spfileSID.ora-〉spfile.ora-〉initSID.ora-〉init.ora(spfile優先於pfile)。
(2)startup pfile='文件目錄'----通過pfile文件啟動;
(3)startup spfile='文件目錄'----通過spfile文件啟動。


-------------------------------------------------------
查看系統是以pfile還是spfile啟動
Select isspecified,count(*) from v$spparameter group by isspecified;
如果isspecified裡有true,表明用spfile進行了指定配置
如果全為false,則表明用pfile啟動

使用SPfile的好處
Spfile改正了pfile管理混亂的問題,在多結點的環境裡,pfile會有多個image
啟動時候需要跟蹤最新的image。這是個煩瑣的過程。
用spfile以後,所有參數改變都寫到spfile裡面(只要定義scope=spfile或both),參數配置有個權威的來源。

查看spfile location
show parameter spfile

從spfile獲取pfile
Create pfile='d:pfileSID.ora' from spfile;
Create pfile='d:pfileSID.ora' from spfile='spfile_location';

從pfile獲取spfile
Create spfile from pfile='Your_pfile_location'
Create spfile='spfile_location' from pfile='Your_pfile_location'

動態修改參數
alter system set parameter=Value scope=spfilebothmemory

Startup nomount的時候需要讀去spfile或pfile,兩者共存,spfile優先

強制用pfile啟動
SQL>startup pfile='Your_Pfile.ora'
startup spfile='/data/oracle/product/10.2.0/db_1/dbs/dbs/spfile_mqq.ora' force

通過pfile連接到spfile啟動
修改pfile文件


....繼續閱讀

2009年5月7日 星期四

Oracle數據庫中NOLOGGING和FORCE LOGGING的理解

遇到這個指令~網路上search一下,做個收錄~~
資料來源 Link



其 實 nologging與表模式,插入模式,數據庫運行模式(archived/unarchived)都有很大的關係。force logging(強制日誌)模式通過命令:alter database force logging來使得Oracle無論什麼操作都進行redo的寫入。

  其實nologging與表模式,插入模式,數據庫運行模式(archived/unarchived)都有很大的關係:

  總結如下:

  注意append是一種hint;

  一般我們可以這樣來使用

  insert /*+append+/ into mytable values(1,'alan');

  數據庫在歸檔模式下

  當表模式為logging狀態時,無論是append模式還是no append模式,redo都會生成。

  當表模式為nologging狀態時,只有append模式,不會生成redo.

  數據庫在非歸檔模式下

  無論是在logging還是nologing的模式下,append的模式都不會生成redo,而no append模式下都會生成redo。

  如果我想看一張表是否是logging狀態,可以這樣

  select table_name,logging from dba_tables where table_name='tablename';

  那麼在Oracle內部還存在一個內部參數:_disable_logging 默認是false

  通過更改為true可以讓Oracle在修改表中的記錄的時候完全不記錄redo,這個參數要甚用。平時,我們只作為性能測試用。

  force logging(強制日誌)模式:

  通過命令:

  alter database force logging來使得Oracle無論什麼操作都進行redo的寫入。

  通過select force_logging from v$database可以看到當前數據庫強制日誌模式的狀態。


....繼續閱讀

2009年5月6日 星期三

ORA-12162 TNS:net service name is incorrectly specified

參考自 Link

原因:

是因为ORACLE_SID变量没有设置正确的缘故。

解决方法:

.bash_profile文件中,正确设置ORACLE_SID,然后使用source .bash_profile命令使新设置的环境变量生效。

  1. 如果在sql提示符下输入 conn /as sysdba 提示:Connected to an idle instance.。表明实例没有启动,先启动实例然后再用用户名登入。

....繼續閱讀

安裝oracle 10g on CentOS5.3 報 Error in invoking target 'all_no_orcl ihsodbc' of makefile

安裝過程出現如上錯誤訊息,查看了一下log
INFO: /usr/lib/libstdc++.so.5: No such file or directory

於是yum install libstdc++.so.5即ok~

但yum過程中,先用yum search找不到,但直接intall卻有~~
看樣子要找時間研究一下yum,增進一下linux功力 >"< ....繼續閱讀

2009年5月5日 星期二

在CentOS 5.3灌Oracle 10g Enterprise版過程問題筆記

對於Oracle,我是個新手~
在建構練習環境中,遇到了些困難,紀錄一下~
========================================
在Linux解壓縮Oracle zip後,執行 runInstaller 安裝

1.
其中關鍵為缺少 libXp.so.6 檔,查了一下網路
解決方式為 (參考:http://www.cnblogs.com/oomusou/archive/2008/06/14/java_linux_libxp_so_6.html)


libXp.so.6是XFree86的一個library,通常在執行由Java寫的GUI時,會遇到以上的錯訊訊息。

==> #yum install libXp.so.6


2. 為安裝過程中,Prerequire check...少了一堆東東~~
其中一項為簡單的gcc,yum install 一下gcc即解決

較麻煩的如下




一堆Kernel的參數要調整~~
再次google,尋找官方installation guide,找到如下資料~ <點我> <點我2>
其中就有提到調哪些參數可查詢哪些檔案, 要改哪些檔案~



kernel mem 參數幾乎都在/etc/sysctl.conf改掉了~~

除了上述修改之外, 另外參考guide 增加
  1. Add the following lines to the /etc/security/limits.conf file:

    oracle              soft    nproc   2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
  2. Add or edit the following line in the /etc/pam.d/login file, if it does not already exist:

    session    required     /lib/security/pam_limits.so
    session required pam_limits.so
    • For the Bourne, Bash, or Korn shell, add the following lines to the /etc/profile file (or the file on SUSE systems)/etc/profile.local:

      if [ $USER = "oracle" ]; then
      if [ $SHELL = "/bin/ksh" ]; then
      ulimit -p 16384
      ulimit -n 65536
      else
      ulimit -u 16384 -n 65536
      fi
      fi
....繼續閱讀

開張開張~~

一直看到網路上很多上的blog~
無論是心情分享、技術紀錄~~都讓我覺得很讚~~
所以下定決心也來弄一個blog玩玩~~

此外,最近換了新的工作,經歷了許多的第一次~~
包括--"第一次跟老闆開口要辭職,第一次跳槽......"
Anyway~ 剛好符合blog的標題~~

就用這樣短短的文章當第一次嘗試的開頭吧~ ....繼續閱讀