1.1 *.ini 配置檔案
以.ini 結尾的檔案,查詢檢視v$dm_ini
1.2*.ctl 控制檔案
控制檔案記錄了資料庫的模式、資料庫的版本、資料檔案的版本、資料庫名、oguid,啟動次數,上一次啟動時間,表空間和資料檔案的資訊。
./dmctlcvt
1.3*.dbf 資料檔案
存放的是真實資料
sql> select file_name,status from dba_data_files; --查詢
1.4重做日誌檔案
重做日誌檔案記錄的是資料庫發生變化的資訊。達夢沒有日誌組,至少需要兩個重做日誌檔案。重做日誌檔案的特點:迴圈寫,可覆蓋。重做日誌檔案可以重新命名、擴充套件大小、新增,不能刪除。
sql> select file_id,path,rlog_size from v$rlogfile;
重做日誌檔案頻繁切換,會對資料庫產生較大的影響,應該新增日誌檔案,resize 日誌檔案大小。
sql>alter database add logfile '/dm8/data/dameng/dameng03.log' size 300; --新增重做日誌檔案
sql>alter database resize logfile '/dm8/data/dameng/dameng01.log' to 300; -- resize 重做日誌檔案大小
遷移重做日誌檔案:
sql>alter database mount;
sql>alter database rename logfile '/dm8/data/dameng/dameng01.log' to '/dm8/dameng01.log';
sql>alter database open;
1.5歸檔日誌檔案
就是重做日誌檔案的副本。用來做資料庫備份恢復、資料庫守護集群、dmhs 的同步。
sql> select name,arch_mode from v$database;
1.6*.bak備份檔案
備份檔案就是資料庫在某乙個時間點的副本。
1.7跟蹤日誌檔案
記錄的是各會話執行sql 資訊,資料庫錯誤資訊,效能相關問題。值為0 就是沒開啟。跟蹤日誌檔案是乙個純文字檔案,以「dm_commit_日期_時間」命名,預設生成在dm安裝目錄的log子目錄下面,管理員可通過ini引數svr_log_file_path設定其生成路徑。
頁對應的是作業系統塊,是資料庫最小的分配和使用單元
查詢段:select * from dba_segments
查詢表空間:select * from dba_tablespaces
select * from v$mem_pool --查詢系統中所有記憶體池狀態
3.1 記憶體池
共享記憶體池是dmserver 在啟動時從作業系統申請的一大片記憶體。由於向作業系統申請和釋放記憶體時需要發出系統呼叫,此時可能會引起執行緒切換,降低系統執行效率。採用共享記憶體池則可一次向作業系統申請一片較大記憶體,即為記憶體池,當系統在執行過程中需要申請記憶體時, 可在共享記憶體池內進行申請,當用完該記憶體時,再釋放掉,即歸還給共享記憶體池。可以在dm.ini中進行設定
memory_pool ,該配置預設為200m。如果在執行時所需記憶體大於配置值,共享記憶體池也可進行自動擴充套件,
memory_target,指定了共享記憶體池能擴充套件到的最大大小, 0 表示不限制記憶體使用
memory_extent_size ,指定了共享記憶體池每次擴充套件的大小
執行時記憶體池是dm server的一些功能模組在執行時還會使用自己的執行時記憶體池。這些執行時記憶體池是從作業系統申請一片記憶體作為本功能模組的記憶體池來使用,如會話記憶體池、虛擬機器記憶體池等。
3.2 緩衝區
資料緩衝區是dmserver 在將資料頁寫入磁碟之前以及從磁碟上讀取資料頁之後資料頁所儲存的地方。這是dmserver至關重要的記憶體區域之一,將其設定得太小,會導致緩衝頁命中率低,磁碟io頻繁;將其設定得太大,又會導致作業系統記憶體本身不夠用。
sql> select para_name,para_value from v$dm_ini where para_name='buffer';
oltp:物理記憶體的40%-60%;olap:物理記憶體的60%-80%
快取的是資料頁(空閒、乾淨、髒、正在使用)
資料緩衝區有4 種型別:
normal /keep:可以手動調整 無特殊情況預設normal,keep的特性是對緩衝區中的資料頁很少或幾乎不怎麼淘汰出去,主要針對使用者的應用是否需要經常處在記憶體當中 ,如果是這種情況,可以指定緩衝區為keep
fast/recycle:系統自動管理。fast 主要是undo 資料,recycle 主要是臨時資料。
重做日誌緩衝區,存放的單位是頁,日誌緩衝區是用於存放重做日誌的記憶體緩衝區。為了避免由於直接的磁碟io而使系統效能受到影響,系統在執行過程中產生的日誌並不會立即被寫入磁碟,而是和資料頁一樣,先將其放置到日誌緩衝區中。rlog_buf_size
字典緩衝區,主要快取的是資料字典的資訊,包含表、列的資訊。資料庫存在大量分割槽表時,應該要調整字典緩衝區 dict_buf_size
sql緩衝區,提供在執行sql語句過程中所需要的記憶體,包括計畫、sql語句和結果集快取。很多應用當中都存在反覆執行相同 sql 語句的情況,此時可以使用緩衝區儲存這些語句和它們的執行計畫,這就是計畫重用。這樣帶來的好處是加快了 sql 語句執行效率,但同時給記憶體也增加了壓力。
3.3 排序區
排序緩衝區提供資料排序所需要的記憶體空間。sql在排序區空間不夠時,轉移到磁碟上(臨時表空間). sort_buf_size
3.4 hash區
hash 區是虛擬的記憶體區,在排序的資料量進行了計算。只有計算出的資料量大小超過了雜湊緩衝區的大小,才會生成。hj_buf_size,由於該值的大小可能會限制雜湊連線的效率,所以建議保持預設值,或設定為更大的值。
dm使用單程序、多執行緒結構。伺服器在執行時由各種記憶體資料結構和一系列的執行緒組成,執行緒分為多種型別,不同型別的執行緒完成不同的任務。dm資料庫伺服器是共享的伺服器,允許多個使用者連線到同乙個伺服器上,伺服器程序稱為共享伺服器程序。
4.1 監聽執行緒
監聽執行緒主要的任務是在伺服器端口上進行迴圈監聽,一旦有來自客戶的連線請求,監聽執行緒被喚醒並生成乙個會話申請任務,加入工作執行緒的任務佇列,等待工作執行緒進行處理。它在系統啟動完成後才啟動,並且在系統關閉時首先被關閉。為了保證在處理大量客戶連線時系統具有較短的響應時間,監聽執行緒比普通執行緒優先順序更高。
4.2 工作執行緒
工作執行緒是
dm伺服器的核心執行緒,它從任務佇列中取出任務,並根據任務的型別進行相應的處理,負責所有實際的資料相關操作。
dm8的初始工作執行緒個數由配置檔案指定,隨著會話連線的增加,工作執行緒也會同步增加,以保持每個會話都有專門的工作執行緒處理請求。為了保證使用者所有請求及
4.3 io執行緒
io執行緒的職責:當事務需要的資料頁不在緩衝區中時,從處理從工作執行緒中分離的io操作。io執行緒在啟動後,通常都處於睡眠狀態,當系統需要進行io時,只需要發出乙個io請求,此時io執行緒被喚醒以處理該請求,在完成該io操作後繼續進入睡眠狀態。
通常情況下,
dm server
需要進行
io操作的時機主要有以下三種:
1. 需要處理的資料頁不在緩衝區中,此時需要將相關資料頁讀入緩衝區;
2. 緩衝區滿或系統關閉時,此時需要將部分髒資料頁寫入磁碟;
3. 檢查點到來時,需要將所有髒資料頁寫入磁碟。
io_thr_groups
4.4 日誌flash(重新整理)執行緒
任何資料庫的修改,都會產生重做redo日誌,為了保證資料故障恢復的一致性,redo日誌的刷盤必須在資料頁刷盤之前進行。事務執行時,會把生成的redo日誌保留在日誌緩衝區中,當事務提交或者執行檢查點時,會通知flush執行緒進行日誌刷盤。
4.5 日誌歸檔執行緒
日誌歸檔執行緒包含非同步歸檔執行緒,負責遠端非同步歸檔任務。如果配置了非實時歸檔,由日誌flush執行緒產生的任務會分別加入日誌歸檔執行緒,日誌歸檔執行緒負責從任務佇列中取出任務,按照歸檔型別做相應歸檔處理。
dm儲存過程
如何寫匿名塊 結構 declare 可選項,申請變數 begin 開始 boby exception 可選項,異常處理 end disql sql set serveroutput on sql begin 2 print hello world 3 end 4 hello world dmsql ...
DM7的體系結構
dm7的體系結構主要包括兩部分,可以簡單概括為例項和資料庫。例項則是由一塊共享記憶體和一系列後台執行緒構成,因為dm資料庫是單程序多執行緒的資料庫管理系統。而資料庫則是由許多資料檔案構成,主要包括配置檔案 控制檔案 資料檔案 日誌檔案以及歸檔檔案。我們可以通過例項去管理我們的資料庫。一般情況下,乙個...
DM有那些業務 DM怎麼測試
dm的全名 device management.是由oma open mobile allicance 提出,並且已經開始實施.dm是建立在syncml協議上.dm的功能很多,而且涉及到的範圍也很廣,目前在國內只有少數幾家公司在研究dm.dm的三個部分業務 dm ota,dm mota dm fot...