國產資料庫–達夢之旅

  • 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在創建用戶的時候,會默認的創建一個同名的模式。如果你創建的用戶,模式名已存在,用戶無法創建

八、備份與還原 

      備份作用?

  1. 防止誤操
  2. 軟硬體故障,做恢復
  3. 防止天災。

      備份的方式,物理備份和邏輯備份

      備份的介質:磁碟,磁帶,光碟

  集群:數據守護 ,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