oracle server 包含 oracle instance 和 oracle database

連接(Connection)與會(huì )話(huà)(Session)
oracle客戶(hù)端和后臺的server process
background process (instance 的基本部分, 數據庫的核心進(jìn)程)
Server process (客戶(hù)端和后臺連接的進(jìn)程)

什么是Oracle Database?
oracle database就是一堆文件。包含3種文件類(lèi)型。
Data files 存放基本數據
Redo Log files 記錄了數據庫的改變。作用是用于恢復數據文件 (比如用rollback命令)。
Control files 控制文件
Parameter file 規定了oracle 初始文件值
Arachived Log files 把Redo log files里的文件歸檔到Arachived Log files里
Password file 存儲口令的文件

Oracle物理結構
Oracle物理結構包含了3種文件類(lèi)型:Control files, Data files 和 Online redo log files

內存結構(Memory Structure)
內存結構包含2種:System Global Area(SGA), Program Global Area(PGA)
System Global Area(SGA):當oracle instance 啟動(dòng)的時(shí)候會(huì )被分配一個(gè)SGA
Program Global Area(PGA):當server process 啟動(dòng)的時(shí)候會(huì )被分配一個(gè)PGA,而當啟動(dòng)多個(gè)server process的時(shí)候,將會(huì )相應的分配多個(gè)PGA.
SGA: System Global Area
SGA 包含了多個(gè)內存結構:
1. Shared Pool
2. Database Buffer Cache
3. Redo Log Buffer
4. Other structures(for example, lock and latch management, statistical data)
另外Large Pool 和 java Pool 也是2個(gè)在SGA里面的內存結構。
SGA是動(dòng)態(tài)的,SGA_MAX_SIZE這個(gè)參數是SGA的最大值,granules是SGA的單位。
select component, granule_size from v$sga_dynamic_components; 這行語(yǔ)句可以顯示各個(gè)內存結構的granule size.
各個(gè)內存結構也有自己的最大值
DB_CACHE_SIZE
LOG_BUFFER
SHARED_POOL_SIZE
LARGE_POOL_SIZE
JAVA_POOL_SIZE
每個(gè)內存結構的值是由oracle自動(dòng)分配的。這大大簡(jiǎn)化了DBA的工作量。
Shared Pool
用來(lái)存儲最近的執行SQL語(yǔ)句。
用來(lái)存儲最近的數據定義。
Shared Pool也包含了2塊內存機構,這2塊內存機構可以影響performance.
可以修改shared pool size, 只要敲入以下命令:
ALTER SYSTEM SET
SHARED_POOL_SIZE = 64M;
Library Cache
Library cache 主要是存儲最近的sql和pl/sql語(yǔ)句。
Library cache 也包含兩個(gè)機構,一個(gè)是Shared SQL area,另一個(gè)是Shared PL/SQL area
Data Dictinary Cache
存儲數據庫控制信息的所有信息。
Database Buffer Cache
Stores copies of data blocks that have been retrieved from the data files
Redo Log Buffer
Large Pool
聯(lián)系客服