天天看點

國産資料庫---達夢應用技巧及使用案例

  • 作業系統:Redhat 7
  • 實驗環境:VMware Workstation 15 Pro
  • 資料庫:DM8 企業版
達夢資料庫管理系統是達夢公司推出的具有完全自主知識産權的高性能資料庫管理系統,簡稱DM。達夢資料庫管理系統的最新版本是8.0版本,簡稱DM8。

一、DM8的安裝

第一步:DM8資料庫的.iso鏡像檔案上傳到redhat 7作業系統的 /opt/dm8.iso目錄下

[root@localhost ~]# ll /opt
總用量 660224
-rwxrw-rw-. 1 root root 676069376 8月  20 2020 dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso
[root@localhost ~]# mv /opt/dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso /opt/dm8.iso
[root@localhost ~]# ll /opt
總用量 660224
-rwxrw-rw-. 1 root root 676069376 8月  20 2020 dm8.iso      

注:修改檔案名所用到的指令是mv

第二步:建立挂載目錄

mkdir /mnt/dm8

[root@localhost ~]# mkdir /mnt/dm8      

第三步:挂載

mount /opt/dm8.iso /mnt/dm8

[root@localhost ~]# mount /opt/dm8.iso /mnt/dm8
mount: /dev/loop0 寫保護,将以隻讀方式挂載      

第四步:建立DM使用者組和個人使用者dinstall、dmdba,并将dmdba添加到dinstall中

groupadd dinstall

[root@localhost ~]# groupadd dinstall      

useradd -g dinstall dmdba

[root@localhost ~]# useradd -g dinstall dmdba

第五步:進入被挂載目錄 /mnt/dm8 ,執行 ./DMInstall.bin,解壓完成後将會彈出圖形化安裝界面

[root@localhost dm8]# ./DMInstall.bin 
解壓安裝程式..........      

1、點選确定

(因為我之前在中标麒麟和centos 7 都不會彈出圖形化安裝界面,需要進行如下操作 )

注意:此時會啟動圖形化界面失敗,需要進行如下操作:

1、在root使用者下輸入echo $DISPLAY ,将其結果:0複制;

2、執行xhost +,檢查xclock是否安裝,沒有安裝則yum install -y xclock;

3、切換到dmdba,執行export DISPLAY=:0,也可直接添加到環境變量中vim .bash_profile,完成後重新整理環境變量source .bash_profile;

  • 點選下一步
  • 勾選接受,點選下一步
  • 有條件的可以去達夢購買安全版體驗安全特性,也可以不選擇key檔案直接下一步
  • 預設典型安裝,下一步

第六步:建立DM安裝目錄/dm8将其擁有者改為指定的使用者dmdba群組dinstall,并賦予改目錄權限為755,然後在圖形化界面選擇該目錄為資料庫的安裝目錄

[root@localhost ~]# chown dmdba:dinstall /dm8
[root@localhost ~]# chmod 755 /dm8      
  • 選擇我們之前建立的/dm8目錄,點選下一步,在彈出的視窗點選确定
  • 确認安裝資訊後點選安裝
  • 安裝成功,點選完成
  • 這裡我們不勾選初始化資料庫,點選完成,至此,dm8資料庫就安裝完成了

一些常用的腳本啟動工具:

國産資料庫---達夢應用技巧及使用案例

1、 ./DMInstall.bin:可執行的安裝檔案

2、./uninstall.sh:安裝目錄中的軟體解除安裝腳本

3、./dbca.sh:安裝目錄的tool目錄下,資料庫配置助手:建立、删除資料庫執行個體,注冊、删除資料庫服務

4、./dmservice.sh:安裝目錄的tool目錄下,DM服務檢視器:啟動和停止資料庫服務

5、./manager:DM管理工具

6、./console:控制台工具(參數,備份與還原,系統資訊)

7、./nca.sh:網絡配置助手,用于disql連接配接資料庫的ip對應别名,配置檔案在/etc/dm_svc.conf,disql用法格式:disql

使用者名/密碼@别名:端口

8、./disql:安裝目錄的bin目錄下;用于連接配接資料庫,用法:./disql

使用者名/密碼@localhost:端口号

9、./dts:資料庫遷移工具

10、./dminit:指令行建立資料庫執行個體

11、./dmserver:用于啟動指令行建立的資料庫執行個體,exit或Ctrl+C終止服務

2、指令行安裝

前五步同上;在指令行輸入 ./DMInstall.bin -i,根據提示一步一步進行安裝操作

二、初始化資料庫

1、圖形化建立DM資料庫

第一步:執行./dbca.sh資料庫配置助手腳本進行配置

第二步:建立資料庫執行個體模闆

第三步:指定資料庫目錄

第四步:設定資料庫名、執行個體名、端口号辨別

第五步:初始化參數,簇大小隻能是16頁、32頁或64頁,預設16頁;頁大小可以為4k、8k、16k或32k,預設8k;日志檔案大小64-2048,預設是64M

第六步:設定密碼和建立示例庫

2、指令行建立DM資料庫

工具:dminit(安裝目錄的bin目錄下)

例子:dminit path=/dm8/data db_name=DMTEST instance_name=DMTESTSERVER port_num=5237

三、注冊資料庫服務

該功能服務于用dminit工具建立的資料庫執行個體,目的是為了DM服務檢視器統一管理DM資料庫執行個體

1、圖形化界面注冊

打開DM資料庫配置工具./dbca.sh;選擇注冊資料庫服務

2、指令行界面注冊

在DM安裝目錄下script/root/dm_service_installer.sh執行腳本檔案并指定參數

例子:./dm_service_installer.sh -t dmserver -p DMTESTSERVER -dm_ini /dm8/data/DMTEST/dm.ini

四、啟動資料庫服務

DM非root使用者啟動資料庫服務的兩種方式:

1、/dm8/bin/DmServiceDMSERVER start

問題:在圖形化界面顯示停止狀态,點啟動會報錯

解答:此方式不會更新 DM服務檢視器中服務狀态

2、dmserver /dm8/data/DAMENG/dm.ini

DMroot使用者啟動資料庫服務的兩種方式:

  • 圖形化界面啟動./dmservice.sh
  • 指令行啟動systemctl start dmservice.sh

五、資料庫狀态

國産資料庫---達夢應用技巧及使用案例

MOUNT:配置狀态,在該狀态下進行重做日志檔案的遷移

OPEN:打開狀态

SUSPEND:挂起狀态

指令行修改資料庫狀态:alter database 狀态

六、表空間

五個預設建立的表空間:SYSTEM TEMP ROLL MAIN HMAIN表空間狀态

國産資料庫---達夢應用技巧及使用案例

脫機 offline:不能檢視表空間内容;可以将資料檔案進行遷移(修改資料檔案路徑)

聯機 online:對表空間資料檔案進行相關操作

SYSTEM、ROLL和TEMP表空間不允許脫機。當表空間有未送出事務時,不能脫機聯機狀态下可以對表空間進行重命名;使用者自定義表空間可以重命名,SYSTEM、ROLL、TEMP、MAIN和HMAIN表空間不支援重命名操作。

國産資料庫---達夢應用技巧及使用案例

建立表空間:create tablespace XXX datafile ‘xxx/xxx/xxx.dbf’ size xx;

删除表空間:drop tablespace XXX;

修改表空間名:alter tablespace XXX rename to YYY;

修改表空間脫機狀态:alter tablespace XXX offline;

修改表空間聯機狀态:alter tablespace XXXonline;

查詢所有表空間的資訊:select * from v$tablespace

修改表空間資料檔案大小:alter tablespace XXX resize datafile ‘xxx/xxx/xxx.dbf’ to aa;(注意:不能将資料檔案的大小變小,例如:256M.dbf==>128M.dbf)

修改表空間資料檔案路徑:alter tablespace XXX rename datafile ‘xxx/xxx/xxx.dbf’ to ‘yyy/yyy/yyy.dbf’;

一個表空間可以包含多個資料檔案,一個資料檔案隻能歸屬一個表空間。

七、聯機重做日志檔案

将資料庫切換到MOUNT狀态下,然後可以對重做日志檔案進行路徑修改。

第一步:在資料庫管理工具選擇資料庫,右鍵選擇管理伺服器,點選系統管理,可對資料庫狀态進行轉換

第二步:在管理伺服器選擇日志檔案(注意:如果用root使用者建立的檔案夾,則需要給登入資料庫的使用者對該檔案夾的權限或者直接修改檔案夾的所屬)

八、資料檔案

層次關系:

資料庫==》表空間==》資料檔案==》段==》簇==》頁

國産資料庫---達夢應用技巧及使用案例

添加表空間資料檔案:

alter tablespace XXX add datefile ‘XXX/XXX/XXX.dbf’ size xx;

擴充資料檔案大小:

alter tablespace XXX resize datafile ‘XXX/XXX/XXX.dbf’ to yy;

自動擴充資料檔案大小:

1、在添加表空間資料檔案時指定參數 autoextend on 或者 autoextend off

2、在建立表空間時指定可擴充資料檔案的大小範圍

autoextend on next xx maxsize xx;

修改資料檔案路徑:(此操作表空間必須處于脫機狀态)

alter tablespace XXX rename datafile ‘XXX/XXX/XXX.dbf’ to ‘YYY/YYY/YYY.dbf’;

九、使用者、角色和權限的管理

權限、角色、使用者的關系:

  • 權限==》使用者

    權限==》角色==》使用者

使用者與模式的關系:

  • 歸屬關系,建立使用者的同時會在模式下建立同名檔案

權限分類:

國産資料庫---達夢應用技巧及使用案例

系統權限:全局,所有表的操作

對象權限:局部,對具體的表操作

授予權限:grant

例子:

grant create table to user;(直接賦予權限)

grant resource to user;(賦予角色)

回收權限:revoke

例子:

revoke create table form user;(直接回收權限)

revoke resource from user;(回收角色)

使用者的鎖定與解鎖:lock unlock

例子:

alter user testuser account lock;(鎖定)

alter user testuser account unlock;(解鎖)

十、事務的送出與回退

  • commint:對表進行的操作,需要送出
  • rollback:復原,在資料庫中發生了資料修改的操作,但是沒有commint,可以使用rollback恢複資料到修改之前的狀态

十一、資料庫文本導入

首先用(ROOT使用者登入)DM./dts資料遷移工具進行資料庫表遷移成sql檔案【DM==》SQL】登入需要導入表資料的使用者下執行指令 start /XXX/XXX/XXX.sql例子:start /dm8/data/DAMENG/backup/dmhr.sql

補充:視圖可以用來保護資料,将使用者不敏感的資料儲存在視圖中,而敏感資訊則儲存在表中,隻提供視圖給查詢使用者即可;簡單的視圖可以進行增加、删除、修改操作,而複雜的函數視圖則不能進行以上操作;

十二、資料庫備份與還原

實體備份與還原:脫機備份(冷備)

  • 工具:./console:DM控制台工具==》備份還原==》建立備份
  • 流程: 準備工作:首先需要關閉備份和還原的資料庫服務

第一步:點選建立備份;選擇需要備份的資料庫檔案dm.ini;自動在bak目錄下生成備份檔案

第二步:點選還原;選擇需要還原的資料庫目錄下的資料庫檔案dm.ini;如果提示已存在,則勾選覆寫資料庫檔案;

第三步:點選恢複;選擇需要恢複的資料庫目錄下的資料庫檔案dm.ini;

第四步:點選更新資料庫魔數;選擇需要更新的資料庫目錄下的資料庫檔案dm.ini;

總結:資料庫備份還原成功;需要注意一點:備份還原後的資料庫密碼已不是本身的密碼,而是備份資料庫的密碼;

邏輯備份與還原:導入與導出

方式:圖形化管理工具和指令行導出(dexp)導入(dimp)指令

步驟:

第一步:在DM圖形化管理工具選擇需要備份導出的資料庫

第二步:指定導出檔案目錄及檔案