入門必看篇之國產數據庫---達夢


  • 操作系統:Redhat 7
  • 實驗環境:VMware Workstation 15 Pro
  • 數據庫:DM8 企業版

一、DM8的安裝

1、圖形化安裝

第一步: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;

  1. 點擊下一步
    安裝過程
  2. 勾選接受,點擊下一步
    安裝過程
  3. 有條件的可以去達夢購買安全版體驗安全特性,也可以不選擇key文件直接下一步
    安裝過程
  4. 默認典型安裝,下一步
    安裝過程

第六步:創建DM安裝目錄/dm8將其擁有者改為指定的用戶dmdba和組dinstall,並賦予改目錄權限為755,然后在圖形化界面選擇該目錄為數據庫的安裝目錄

[root@localhost ~]# chown dmdba:dinstall /dm8
[root@localhost ~]# chmod 755 /dm8
  1. 選擇我們之前創建的/dm8目錄,點擊下一步,在彈出的窗口點擊確定
    安裝過程安裝過程

  2. 確認安裝信息后點擊安裝
    安裝過程

  3. 安裝成功,點擊完成
    安裝過程

  4. 這里我們不勾選初始化數據庫,點擊完成,至此,dm8數據庫就安裝完成了
    安裝過程

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

可執行文件 作用
./DMInstall.bin 可執行的安裝文件
./uninstall.sh 安裝目錄中的軟件卸載腳本
./dbca.sh 安裝目錄的tool目錄下,數據庫配置助手:創建、刪除數據庫實例,注冊、刪除數據庫服務
./dmservice.sh 安裝目錄的tool目錄下,DM服務查看器:啟動和停止數據庫服務
./manager DM管理工具
./console 控制台工具(參數,備份與還原,系統信息)
./nca.sh 網絡配置助手,用於disql連接數據庫的ip對應別名,配置文件在/etc/dm_svc.conf,disql用法格式:disql 用戶名/密碼@別名:端口
./disql 安裝目錄的bin目錄下;用於連接數據庫,用法:./disql 用戶名/密碼@localhost:端口號
./dts 數據庫遷移工具
./dminit 命令行創建數據庫實例
./dmserver 用於啟動命令行創建的數據庫實例,exit或Ctrl+C終止服務

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用戶啟動數據庫服務的兩種方式:

  1. 圖形化界面啟動 ./dmservice.sh

  2. 命令行啟動 systemctl start dmservice.sh

五、數據庫狀態

狀態 說明
MOUNT 配置狀態,可以完成數據庫歸檔配置、主備設置等,設置 OGUID 無法查詢數據文件中的表,可以查詢內存中( v$datafile v$instance等 )的表。數據庫無法提供正常服務
OPEN 數據庫提供正常服務,可以讀取表、數據等信息
SUSPEND 只讀狀態, 可以查詢數據,但不能寫數據( commit)寫數據文件

MOUNT:配置狀態,在該狀態下進行重做日志文件的遷移
OPEN:打開狀態
SUSPEND:掛起狀態

命令行修改數據庫狀態:alter database 狀態

六、表空間

五個默認創建的表空間:SYSTEM TEMP ROLL MAIN HMAIN
表空間狀態

狀態 說明
脫機 offline 不能查看表空間內容;可以將數據文件進行遷移(修改數據文件路徑)
聯機 online 對表空間數據文件進行相關操作

脫機 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 XXX online;
查詢所有表空間的信息 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’;

創建表空間: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’;

添加表空間數據文件:
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圖形化管理工具選擇需要備份導出的數據庫
第二步:指定導出文件目錄及文件
第三步:在DM圖形化管理工具選擇需要還原導入的數據庫
第四步:選擇導入文件所在的目錄及文件
第五步:邏輯備份還原操作完成

協議,轉載請附上原文出處鏈接和本聲明。 原文地址:https://blog.csdn.net/weixin_44787865/article/details/116431751


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM