國產資料庫–達夢之旅
- 2020 年 3 月 29 日
- 筆記
我們這裡所有介紹是基於達夢7資料庫的
一、達夢資料庫的安裝與卸載
達夢資料庫支援國產麒麟OS,安裝和卸載提供了命令行方式、以及GUI方式。
可參考達夢資料庫的文檔,在此略過。
二、達夢資料庫實例管理
2.1 達夢資料庫模式:
普通模式(normal):用戶可以正常的訪問資料庫,操作沒有限制
主庫模式(primary):用戶可以正常訪問資料庫,對資料庫對象的修改強制生成redo日誌,在歸檔有效的時候,發送redo日誌到備庫。
備庫模式(standby):接收主庫發送過業的redo日誌並重做日誌,資料庫對用戶只讀。
2.2資料庫的狀態
配置狀態(mount):不允許訪問資料庫的對象,只能進行控制文件、參數文件的維護,歸檔配置,資料庫模式的修改等操作。
打開狀態(open):不能進行控制文件的維護,歸檔配置等操作,可以訪問資料庫對象,對外提供正常點的資料庫服務。
掛起狀態(suspend):與open狀態唯一的區別:限制磁碟寫入功能,一旦修改數據頁,觸發redo日誌,數據頁進行刷盤,當前用戶被掛起
關閉狀態:shutdown.
三、DM資料庫工具的使用
這裡我們介紹幾個常用的工具:
3.1 資料庫管理工具
3.2 控制台工具
COMPATIBLE_MODE 是否兼容其他資料庫模式。 0:不兼容,1:兼容SQL92標準,2:兼容ORACLE,3:兼容MS SQL SERVER,4:兼容MYSQL
PWD_POLICY:
3.2 資料庫遷移工具
3.4性能檢測工具
四、DM7 的體系結構
4.1達夢邏輯存儲結構
存儲結構是由:頁、簇、段、數據文件、表空間、資料庫組成。
頁是最小的邏輯單元,是資料庫最小的分配單位。
資料庫是由一個或多個表空間組成
每一個表空間由一個或多個數據文件組成
每一個資料庫文件由一個或多個簇組成
段是簇的上級邏輯單位,一段可以跨多個數據文件
簇是磁碟上連接的頁組成,一個簇總是一個數據文件中。
4.1達夢物理存儲結構
配置文件是以*.ini結尾;
控制文件是以*.ctl結尾;
數據文件是以*.dbf結尾;
日誌文件是以*.log結尾;
以bak為擴展名的文件,還一個.meta元數據文件。
五、表空間管理
表空間是由一個或多個數據文件構成,表空間是資料庫的一個容器,容器是存放資料庫中的數據對象(表,索引等)達夢資料庫默認的表空間和作用。
- System:數據字典和全局的系統數據。
- Roll:存放了資料庫運行過程中產生的回滾記錄。
- Temp:臨時表空間
- Main:資料庫默認表空間,創建數據對象的時候,如果不指定存放的位置,默認存放在該表空間。
- HMAIN:huge表空間
5.1 查詢表空間
相關的視圖:v$tablespace dba_tablespaces v$huge_tablespace dba_data_files;
5.2 規劃表空間
創建一個表空間,初始大小500M,最大100M
SQL> create tablespace tbs2 datafile ‘/dm7/data/DAMENG/tbs2_01.dbf’ size 50 autoextend on maxsize 100;
5.3 維護表空間
表空間不足,如何去擴展表空間
SQL> alter tablespace tbs1 add datafile ‘/dm7/data/DAMENG/tbs1_02.dbf’ size 32;
5.4 刪除表空間
SQL> drop tablespace tbs2;
六、用戶管理
在DM資料庫中用戶管理主要涉及到三塊:用戶、許可權、角色。
- 許可權:執行特定類型sql 或是訪問其他模式對象的權利。
- 系統許可權:資料庫對象的創建、刪除、修改等等。
- 對象許可權:對資料庫對象的數據的操作許可權。
- 角色:是將具有相同許可權的用戶組織在一起,這一組具有相同許可權的用戶稱為角色,角色是一組許可權的集合,一個許可權可以賦予不同的解角色。資料庫預定義角色三個:DBA PUBLIC RESOURCE.
三權分立和四權分立
- 普通版本(標準版,企業版,開發版):三權分立
- 安全版本:四權分立。
- 三權分立:資料庫管理員(sysdba),資料庫安全員(syssso),資料庫審計員(sysauditor)
- 四權分立:資料庫管理員(sysdba),資料庫安全員(syssso),資料庫審計員(sysauditor),資料庫對象操作員(sysdbo)。
備註:所有帳號的默認口令都與用戶名大寫一致
七、模式對象管理
模式是所有對象的集合(表,視圖,索引,列,同義詞,自增列),DM在創建用戶的時候,會默認的創建一個同名的模式。如果你創建的用戶,模式名已存在,用戶無法創建
八、備份與還原
備份作用?
- 防止誤操
- 軟硬體故障,做恢復
- 防止天災。
備份的方式,物理備份和邏輯備份
備份的介質:磁碟,磁帶,光碟
集群:數據守護 ,dsc (rac)
也支援第三方的備份軟體:上海愛數,鼎甲
九、作業
定期備份案例講解
第一步:創建代理環境(會自動創建一個sysjob模式)
第二步:創建作業
十、達夢開發
- 達夢支援那些語言做開發
C ,C++ ,JAVA PYTHON, PHP ,PERL
- 開發配置
a. 定義一個DM jdbc 的驅動串:
String jdbcstring=”dm.jdbc.driver.DmDriver”
b. DM URL 連接串
String urlstring=”jdbc:dm://ip:5236”
10.1 配置ODBC
- Linux 環境中配置ODBC環境
檢查:rpm -aq|grep gcc 有沒有gcc包,如果沒有,配置yum源去裝
- 解壓安裝包
[root@dca01 installdoc]# tar -xzvf unixODBC-2.3.0.tar.gz
- 配置odbc
[root@dca01 unixODBC-2.3.0]# cd unixODBC-2.3.0
[root@dca01 unixODBC-2.3.0]# ./configure –enable-gui=no
- 編譯ODBC
[root@dca01 unixODBC-2.3.0]# make
- 查看odbc的版本
[root@dca01 unixODBC-2.3.0]# odbc_config –version
- 查看ODBC配置文件的路徑
[root@dca01 unixODBC-2.3.0]# odbc_config –odbcini
[root@dca01 unixODBC-2.3.0]# odbcinst -j
- 配置ODBC.INI 和odbcinst.ini