本周主要從以下幾個方面進行本人對達夢資料庫學習的分享,學習進度和學習情況因人而異,僅供參考,
一、達夢資料庫的體系架構 二、達夢資料庫的安裝 三、達夢資料庫的資料型別 四、達夢資料庫的DDL、DML、DCL陳述句 五、達夢資料庫登錄、創建用戶、角色等非模式物件的基本操作,以及權限的管理 六、達夢資料庫的客戶端工具MNAGER和DTS 一、達夢資料庫的體系架構 了解一個資料庫的體系架構才能更好的使用它,所以先從達夢資料庫的體系架構來進行介紹, 達夢資料庫在架構上主要分為四部分:邏輯存盤機構,物理存盤結構,記憶體結構,和執行緒, 邏輯存盤結構; 1. 資料庫由一個或多個表空間組成; 2. 每個表空間由一個或多個資料檔案組成; 3. 每個資料檔案由一個或多個簇組成; 4. 段是簇的上級邏輯單元,一個段可以跨多個資料檔案; 5. 簇由磁盤上連續的頁組成,一個簇總是在一個資料檔案中; 6. 頁是資料庫中最小的分配單元,也是資料庫中使用的最小的 IO 單元,
物理存盤結構:
物理存盤結構一般為保存在磁盤上的物理檔案:
典型的物理存盤結構包括:用于進行功能設定的組態檔;用于記錄檔案分布的控制檔案;用于保存用戶實際資料的資料檔案、重做日志檔案、歸檔日志檔案、備份檔案;用來進行問題跟蹤的跟蹤日志檔案等
這里簡單介紹以下dm.ini,以后會詳細介紹,
每創建一個 DM 資料庫,就會自動生成 dm.ini 檔案,dm.ini 是 DM 資料庫啟動所必須的組態檔,通過配置該檔案可以設定 DM 資料庫服務器的各種功能和性能選項,里面有很多重要的引數,通過有經驗的資料庫管理人員設定不同的引數可以達到不同的效果,
記憶體結構:
DM 資料庫管理系統的記憶體結構主要包括記憶體池、緩沖區、排序區、哈希區等,根據系統中子模塊的不同功能,對記憶體進行了上述劃分,并采用了不同的管理模式,
接下來簡單介紹其中的幾種:記憶體池則可一次向作業系統申請一片較大記憶體,當系統在運行程序中需要申請記憶體時,可在共享記憶體池內進行申請,當用完該記憶體時,再釋放掉,即歸還給共享記憶體池,
資料緩沖區是DM Server 在將資料頁寫入磁盤之前以及從磁盤上讀取資料頁之后,資料頁所存盤的地方,基于LRU演算法,可以將經長訪問的資料保留,提高I/O效率,
排序緩沖區提供資料排序所需要的記憶體空間,當用戶執行 SQL 陳述句時,常常需要進行排序,所使用的記憶體就是排序緩沖區提供的,在每次排序程序中,都首先申請記憶體,排序結束后再釋放記憶體,
DM執行緒:
DM 服務器使用“對稱服務器構架”的單行程、多執行緒結構,這種對稱服務器構架在有效 地利用了系統資源的同時又提供了較高的可伸縮性能
DM 行程中主要包括監聽執行緒、IO 執行緒、作業執行緒、調度執行緒、日志執行緒等,下面簡單介紹幾個:
監聽執行緒主要的任務是在服務器埠上進行回圈監聽,一旦有來自客戶的連接請求,監 聽執行緒被喚醒并生成一個會話申請任務,加入作業執行緒的任務佇列,等待作業執行緒進行處理, 它在系統啟動完成后才啟動,并且在系統關閉時首先被關閉,為了保證在處理大量客戶連接 時系統具有較短的回應時間,監聽執行緒比普通執行緒優先級更高,
作業執行緒是 DM 服務器的核心執行緒,它從任務佇列中取出任務,并根據任務的型別進
IO 執行緒的職責就是處理這些 IO 操作,通常情況下,DM Server 需要進行 IO 操作的時機主要有以下三種: 1. 需要處理的資料頁不在緩沖區中,此時需要將相關資料頁讀入緩沖區; 2. 緩沖區滿或系統關閉時,此時需要將部分臟資料頁寫入磁盤; 3. 檢查點到來時,需要將所有臟資料頁寫入磁盤, IO 執行緒在啟動后,通常都處于睡眠狀態,當系統需要進行 IO 時,只需要發出一個 IO請求,此時 IO 執行緒被喚醒以處理該請求,在完成該 IO 操作后繼續進入睡眠狀態,
調度執行緒用于接管系統中所有需要定時調度的任務,調度執行緒每秒鐘輪詢一次,負責的 任務有以下一些: 1. 檢查系統級的時間觸發器,如果滿足觸發條件則生成任務加到作業執行緒的任務佇列 由作業執行緒執行; 2. 清理 SQL快取、計劃快取中失效的項,或者超出快取限制后淘汰不常用的快取項; 3. 檢查資料重演捕獲持續時間是否到期,到期則自動停止捕獲; 4. 執行動態緩沖區檢查,根據需要動態擴展或動態收縮系統緩沖池; 5. 自動執行檢查點,為了保證日志的及時刷盤,減少系統故障時恢復時間,根據 INI 引數設定的自動檢查點執行間隔定期執行檢查點操作; 6. 會話超時檢測,當客戶連接設定了連接超時,定期檢測是否超時,如果超時則自 動斷開連接; 7. 必要時執行資料更新頁刷盤; 8. 喚醒等待的作業執行緒,
二、達夢資料庫的安裝
達夢資料庫在Windows上的安裝很簡單,下載安裝包,根據提示就可以完成安裝,我在Linux上安裝遇到了幾個問題,我還沒有解決,下周我會把這個問題解決然后進行更新,
三、達夢資料庫的資料型別
DM資料型別可以分為四大類:常規資料型別(字符和數值型),位串資料型別,日期時間資料型別,多媒體資料型別;
達夢資料庫DM8我目前練習了48種資料型別,下面附上測驗SQL;
建表包括目前的所有資料型別:
1 create table tmp_lj_1(a_1 char(32),a_2 character(32),a_3 varchar(32),a_4 varchar2(32),a_5 numeric (4,1), 2 a_6 decimal(4,1),a_7 dec(4,1),a_8 number(4,1),a_9 integer,a_10 int,a_11 bigint,a_12 tinyint,a_13 byte, 3 a_14 smallint,a_15 binary,a_16 varbinary,a_17 float,a_18 double,a_19 real,a_20 double precision, 4 a_21 bit, 5 a_22 date,a_23 time,a_24 timestamp,a_25 interval year to month,a_26 interval year,a_27 interval month, 6 a_28 interval day,a_29 interval day to hour,a_30 interval day to minute,a_31 interval day to second, 7 a_32 interval hour,a_33 interval hour to minute,a_34 interval hour to second,a_35 interval minute,a_36 interval minute to second,a_37 interval second, 8 a_38 time with time zone,a_39 timestamp with time zone,a_40 timestamp with local time zone, 9 a_41 text,a_42 long,a_43 longvarchar,a_44 image,a_45 longvarbinary,a_46 blob,a_47 clob,a_48 bfile);插入資料并驗證:
1 insert into tmp_lj_1 values('a1','a2','a3','a4',10.5,10.6,10.7,10.8,9,10,-11,-12,-13,-14,0xF,0x10,1.17,1.18,1.19,1.20, 2 0, 3 '2021.5.20','12:10:32','2021-5-20 12:10:32.000000','21-5','21','05', 4 '20','20 9','20 12:30','20 12:30:30.000000', 5 '18','18:20','18:20:30.000000','22','22:30.000000','22.000000', 6 '18:26:32 +8:00','2021-5-20 18:30:30 +8:00','2021-5-20 18:36:30 +8:00', 7 'AA','AA','AA','0X2F','0X2F','0X2F','AA',NULL) 8 9 SELECT * from tmp_lj_1 --查看資料四、達夢資料庫的DDL、DML、DCL陳述句 1. DDL陳述句,用戶、模式、基表、視圖、索引、序列、全文索引、存盤程序、觸發器等資料庫物件的定義和洗掉陳述句 2. DML查詢(含全文檢索)、插入、洗掉、修改陳述句; 3. DCL:授權陳述句、回收權限陳述句 這些陳述句和目前主流的SQL陳述句基本類似,下面會對部分陳述句進行測驗,大家也可以自行探索, 五、達夢資料庫登錄、創建用戶、角色等非模式物件的基本操作,以及權限的管理 資料庫登錄輸入主機名(本機一般為LOCALHOST或者輸入本機IP地址)通信埠號和對應的用戶密碼即可 創建用戶
1 CREATE USER LOGIN_001 IDENTIFIED BY LOGIN_001; --創建用戶授權DBA
1 grant DBA to LOGIN_001 --授權DBA洗掉用戶
1 drop user LOGIN_001 cascade; --洗掉用戶創建模式 這里解釋以下模式: 在 DM 中,一個用戶可以創建多個模式,一個模式中的物件(表、視圖)可以被多個用戶使用, 系統為每一個用戶自動建立了一個與用戶名同名的模式作為默認模式,相當于一個存盤檔案的檔案夾,
1 CREATE SCHEMA SCHE_001 --創建模式 2 3 SET SCHEMA SCHE_001; --切換SCHE——001模式 4 5 CREATE TABLE SCHE_T(A INT); --創建SCHE_T表將表SCHE_T的表級SELECT、INSERT權限授予用戶USER_001
1 grant select,insert on sche_t to user_001 --對應授權六、達夢資料庫的客戶端工具MNAGER和DTS MANAGER: DM管理工具
新建連接 創建連接資料庫的物件導航,不進行保存,下次開啟后需重新連接, 注冊連接 創建連接資料庫的物件導航,進行保存,下次開啟后物件導航存在,可直接進行連接, 連接時選擇對應的主機名,埠,用戶名和密碼即可
工具列可以新建SQL視窗,保存和打開SQL腳本到本地,還可以打開主頁查看檔案和工具導航,也可以打開SQL除錯,
物件導航:可以查看當前連接資訊,包括模式,表空間,用戶等等,右鍵對應模塊,可以進行創建或者洗掉操作,
SQL視窗:進行SQL腳本的撰寫包括查詢,函式,存盤程序等等,
腳本管理:保存常用或需要記憶的腳本,可以很方便打開
函式:系統函式以及使用說明
日志:查看執行日志
代理環境:配置作業自動執行,包括定時備份,每日建表以及更新等操作,
DTS:
DM 資料遷移工具 DM DTS 提供了主流大型資料庫遷移到 DM、DM 到 DM、檔案遷移到 DM 以及 DM 遷移到檔案等功能,
以MySQL到達夢為例:
打開工具,新建工程,輸入工程名字入MySQL_dm,會出現一個工程,
展開新建的工程,右鍵遷移選擇新建遷移,輸入遷移名稱,進入下一步
會介紹達夢支持的遷移型別,下一步:
選擇MySQL到DM:
輸入源資料庫和目的資料庫的對應資訊:
選擇對應的模式和需要遷移的表,視圖等
查看遷移任務:
完成遷移,并再DM中查看資料:
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/286085.html
標籤:其它
上一篇:Redis資料結構
下一篇:解決動態庫的符號沖突
