ORACLE概念的理解!

imlihj2007發表於2008-03-24

一:塊清除

當事務提交 commit,oracle會去更改 row headitl資訊 的標誌,指出這些被修改的行已經作了提交,以便後面的查詢不需再作一致性讀操作了.這被稱為快速塊清除.

然而,塊清除有 data_buffer *10% 的了限制,即僅有10%*buffers的塊能享有這種操作.這樣做是為了提高commit的速度.而其餘的受影響的塊則會由下次操作時訪問到此塊時再作延遲塊清除.如果塊上沒有活動的事務,會根據xid資訊去回滾段中找如果不能確認scn的大小則會報 ora-1555的錯誤,否則則進行延遲的塊清除.

1)﹑在commit時只有 buffer數目的10%才會進行fast block cleanout﹐那麼這個10%的塊是隨機確認的吧.是否能這樣講 如果我的 data_buffers=500

我有一個表 500 rows﹐但每一行有6000byte﹐即我這個表就會佔滿整個buffer.現進行 update table set a=b 這樣一條sql來更新所有資料.commit。但我dump block卻沒有能看到 延遲塊清除的情況.而所看到的都是fast block clearout...

2)﹑延遲塊清除是否還有另一種情況,就是如果被修改的塊在commit前被寫入到資料檔案。所以會在下次讀到的時候進行塊清除..

二:db_nameInstance_name

資料庫名(db_name)

資料庫名是用於區分資料的內部標識,是以二進位制方式儲存於資料庫控制檔案中的引數,在資料安裝或建立之後將不得修改。資料庫安裝完成後,該引數被寫入資料庫引數檔案pfile中,格式如下:

[code:1:1aaf156970]

db_name="orcl" #(不允許修改)

db_domain=dbcenter.toys.com

instance_name=orcl

service_names=orcl.dbcenter.toys.com

control_file=(...............

.資料庫例項Instance_name

.資料庫例項名則用於和作業系統之間的聯絡,用於對外部連線時使用。在作業系統中要取得與資料庫之間的互動,必須使用資料庫例項名。例如,要和某一個資料庫server連線,就必須知道其資料庫例項名,只知道資料庫名是沒有用的,與資料庫名不同,在資料安裝或建立資料庫之後,例項名可以被修改。資料庫安裝完成後,該例項名被寫入資料庫引數檔案pfile中,格式如下:

[code:1:1aaf156970]

db_name="orcl" #(不允許修改)

db_domain=dbcenter.toys.com

instance_name=orcl #(可以修改,可以與db_name相同也可不同)

service_names=orcl.dbcenter.toys.com

附:#################################################

如何在Oracle更改SID名稱

1. ORACLE10g為例,舉例說明更改SID名稱的過程。假如資料庫的SIDtestdb,現在改成orcl,有以下6個步驟:

1,停止所有的oracle服務

1.1oracle的相關服務都以oracle為字首,有以下幾個:

2.修改初始化檔案,將instance_name引數值設定為新的SID名稱;

2.1 如果沒有可編輯的PFILE檔案,可以使用CREATE PFILE FROM SPFILE命令建立。將初始化檔案引數的

以下內容:

db_name="testdb"

instance_name=testdb1

service_names=testdb

修改成:

db_name="testdb"

instance_name=oral

service_names=oral(注意db_name不要修改,資料庫還是稱為testdb,但是它的服務也就是sid改成orcl.)

3,修改登錄檔的Oracle_sid的值;

3.1在登錄檔HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_ORaDb10g_home1下面將Oracle_SID

鍵值該為oral,注意,其他的不要改動.

3.1 .bash_profile檔案的內容!

4.修改listener.ora中的SID_NAME;

在目錄%Oracle_home%NETWORkADMIN下找到listener.ora,把這個檔案之後一項的

SID_NAME=oral

5.oradim刪除原來的SID服務,新增新SID的服務;

oradim -DELETE -SID testdb

oradim -NEW -SID orcl

6.orapwd生成新的SID的口令。

用工具orapwd建立新的口令檔案.將檔案儲存到%ORACLE_HOME%database目錄下面,

ORAPWD FILE=%ORACLE_HOME%databasePWDoral.ora password =admin

password設定的是SYS使用者的口令.

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9879835/viewspace-1001374/,如需轉載,請註明出處,否則將追究法律責任。

相關文章