ORACLE概念的理解!
一:塊清除
當事務提交 commit時,oracle會去更改 row head與itl資訊 的標誌,指出這些被修改的行已經作了提交,以便後面的查詢不需再作一致性讀操作了.這被稱為快速塊清除.
然而,塊清除有 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_name,Instance_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名稱的過程。假如資料庫的SID叫testdb,現在改成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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 概念理解
- 理解maven的核心概念Maven
- 理解RESTful概念REST
- 理解Oracle WebLogic伺服器的關鍵概念(三)ZXOracleWeb伺服器
- 理解Oracle WebLogic伺服器的關鍵概念(二)KJOracleWeb伺服器
- 理解Oracle WebLogic伺服器的關鍵概念(一)XBOracleWeb伺服器
- 水煮oracle25-----關於儲存的幾個概念理解Oracle
- webpack (1)——核心概念的理解Web
- 深入理解CRM的概念
- 01 elasticsearch 概念理解Elasticsearch
- Linux 概念架構的理解Linux架構
- 如何理解ASM裡FAILGROUP的概念ASMAI
- ORACLE 鎖的概念Oracle
- RPC核心概念理解RPC
- Spring AOP概念理解Spring
- [譯] 理解 Apache Airflow 的關鍵概念ApacheAI
- oracle中schema的概念Oracle
- 通俗理解一些概念
- 理解「業務」與「技術」概念
- Linux 掛載概念 理解Linux
- JavaScript 原型概念深入理解JavaScript原型
- lucene(一) lucene一些概念的理解
- webpack3-loader和plugin的概念理解WebPlugin
- 叢集、分散式和微服務的概念理解分散式微服務
- 資料庫基礎概念理解資料庫
- 30分鐘理解GraphQL核心概念
- 理解 MySQL(1):架構和概念MySql架構
- Core Location框架基本概念理解框架
- Oracle基礎概念Oracle
- 【Oracle概念】-等待事件Oracle事件
- 理解Spring(二):AOP 的概念與實現原理Spring
- 對於Spring中AOP,DI,IoC概念的理解Spring
- (知識錦囊)解析度概念的形象理解
- 【T02】理解子網和CIDR的概念
- 轉:學習TSM必須理解的幾個概念
- 理解JavaScript概念系列--非同步任務JavaScript非同步
- Laravel 重點概念理解-服務容器Laravel
- SAP ESOA (2) - SOA和ESOA概念理解