达梦数据库的学习使用
達夢數(shù)據(jù)庫的學(xué)習(xí)
一、數(shù)據(jù)庫的安裝
? 之前已有發(fā)表數(shù)據(jù)庫的安裝博文,在此附上鏈接。(單庫的安裝)
? https://blog.csdn.net/weixin_42356462/article/details/108822532
二、數(shù)據(jù)庫的使用
? 數(shù)據(jù)庫可以通過manager管理工具進行連接使用,也可以通過disql工具進行連接使用。達夢數(shù)據(jù)庫提供了包括manager,dts等多個圖形化工具進行對數(shù)據(jù)庫,數(shù)據(jù)庫服務(wù)等的操作使用。
2.1創(chuàng)建表空間
? 可以圖形化創(chuàng)建,亦可以通過SQL語句進行。
1.連接
連接進來是這樣的界面,此時可以在查詢頁進行數(shù)據(jù)庫的操作。
2.創(chuàng)建
也可以SQL語句
CREATE TABLESPACE <表空間名> <數(shù)據(jù)文件子句>[<數(shù)據(jù)頁緩沖池子句>][<存儲加密子句>][<指定DMTDD 副本子句>]
<數(shù)據(jù)文件子句> ::= DATAFILE <文件說明項>{,<文件說明項>}
<文件說明項> ::= <文件路徑> [ MIRROR <文件路徑>] SIZE <文件大小>[<自動擴展子句>]
<自動擴展子句> ::= AUTOEXTEND <ON [<每次擴展大小子句>][<最大大小子句> |OFF> <每次擴展大小子句> ::= NEXT <擴展大小> <最大大小子句> ::= MAXSIZE <文件最大大小> 第3 章 數(shù)據(jù)定義語句 65 <數(shù)據(jù)頁緩沖池子句> ::= CACHE = <緩沖池名> <存儲加密子句> ::= ENCRYPT WITH <加密算法> [[BY] <加密密碼>]
<指定DMTDD 副本子句> ::= [<指定副本數(shù)子句>][<副本策略子句>]
<指定副本數(shù)子句> ::= COPY <副本數(shù)>
<副本策略子句> ::= GREAT | MICRO
例如:
? CREATE TABLESPACE TS1 DATAFILE ‘d:\TS1.dbf’ SIZE 128;
3.刪除表空間
? 已使用的,某個用戶默認的表空間不能夠刪除。可以管理工具右鍵相應(yīng)的表空間,或者SQL語句進行刪除。
或者SQL命令:
? DROP TABLESPACE <表空間名>
2.2創(chuàng)建用戶
也可以進行SQL語句創(chuàng)建
語法格式
CREATE USER <用戶名> IDENTIFIED <身份驗證模式>
[<存儲加密密鑰>][<空間限制子句>][<只讀標(biāo)志>][<資源限制子句>][<允許 IP 子句>][< 第 3 章 數(shù)據(jù)定義語句 54 禁止 IP 子句>][<允許時間子句>][<禁止時間子句>][][]
<身份驗證模式> ::= <數(shù)據(jù)庫身份驗證模式>|<外部身份驗證模式>
<數(shù)據(jù)庫身份驗證模式> ::= BY <口令> [<散列選項>]
<散列選項> ::= HASH WITH [<密碼引擎名>.]<散列算法> [<加鹽選項>]
<散列算法> ::= <加鹽選項> ::= [NO] SALT
<外部身份驗證模式> ::= EXTERNALLY | EXTERNALLY AS <用戶 DN>
<口令策略> ::= 口令策略項的任意組合
<鎖定子句> ::= ACCOUNT LOCK | ACCOUNT UNLOCK
<存儲加密密鑰> ::= ENCRYPT BY <口令>
<空間限制子句> ::= DISKSPACE LIMIT <空間大小>| DISKSPACE UNLIMITED
<只讀標(biāo)志> ::= READ ONLY | NOT READ ONLY
<資源限制子句> ::= LIMIT <資源設(shè)置項>{,<資源設(shè)置項>}
<資源設(shè)置項> ::= SESSION_PER_USER <參數(shù)設(shè)置>| CONNECT_IDLE_TIME
<參數(shù)設(shè)置>| CONNECT_TIME <參數(shù)設(shè)置>| CPU_PER_CALL <參數(shù)設(shè)置>| CPU_PER_SESSION <參數(shù)設(shè)置>| MEM_SPACE <參數(shù)設(shè)置>| READ_PER_CALL <參數(shù)設(shè)置>| READ_PER_SESSION <參數(shù)設(shè)置>| FAILED_LOGIN_ATTEMPS <參數(shù)設(shè)置>| PASSWORD_LIFE_TIME <參數(shù)設(shè)置>| PASSWORD_REUSE_TIME <參數(shù)設(shè)置>| PASSWORD_REUSE_MAX <參數(shù)設(shè)置>| PASSWORD_LOCK_TIME <參數(shù)設(shè)置>| PASSWORD_GRACE_TIME <參數(shù)設(shè)置> <
參數(shù)設(shè)置> ::=<參數(shù)值>| UNLIMITED
<允許 IP 子句> ::= ALLOW_IP {,} <禁止 IP 子句> ::= NOT_ALLOW_IP {,} ::= <具體 IP>|<網(wǎng)段>
<允許時間子句> ::= ALLOW_DATETIME <時間項>{,<時間項>} <禁止時間子句> ::= NOT_ALLOW_DATETIME <時間項>{,<時間項>}
<時間項> ::= <具體時間段> | <規(guī)則時間段> <具體時間段> ::= <具體日期> <具體時間> TO <具體日期> <具體時間> <規(guī)則時間段> ::= <規(guī)則時間標(biāo)志> <具體時間> TO <規(guī)則時間標(biāo)志> <具體時間> <規(guī)則時間標(biāo)志> ::= MON | TUE | WED | THURS | FRI | SAT | SUN ::= DEFAULT TABLESPACE <表空間名> ::= DEFAULT INDEX TABLESPACE <表空間名>
例:
? create user “用戶名” identified by “密碼” default tablespace “TBS”;
? grant “RESOURCE”,“PUBLIC”,“VTI”,“SOI” to “TEST”;
2.3創(chuàng)建模式
? 當(dāng)創(chuàng)建用戶的時候會同時創(chuàng)建同名的默認模式,也可以在創(chuàng)建其他的模式用以管理表。
SQL創(chuàng)建模式:
CREATE SCHEMA “模式名” AUTHORIZATION “模式擁有者”;
2.4管理數(shù)據(jù)庫服務(wù)器
在這里可以看到數(shù)據(jù)庫的一些信息。比如數(shù)據(jù)庫版本,實力初始化參數(shù)。
這里可以查看一些表的使用空間情況。
這里是redo日志信息,可以點擊添加進行添加
? 這里是歸檔信息,可以進行設(shè)置。設(shè)置時先通過系統(tǒng)管理將數(shù)據(jù)庫狀態(tài)改為配置(mount)狀態(tài),然后再這里進行設(shè)置。之后再將數(shù)據(jù)庫狀態(tài)改為打開(open)狀態(tài)。
2.5數(shù)據(jù)庫備份還原
? 數(shù)據(jù)庫備份分位邏輯備份和物理備份
2.5.1邏輯備份
? 邏輯備份是指利用 dexp導(dǎo)出工具,將指定對象(庫級、模式級、表級)的數(shù)據(jù)導(dǎo)出到文件的備份方式。邏輯備份針對的是數(shù)據(jù)內(nèi)容,并不關(guān)心這些數(shù)據(jù)物理存儲在什么位置。
格式: ./dexp KEYWORD=value 或 KEYWORD=(value1,value2,…,valueN)
例程: ./dexp SYSDBA/SYSDBA GRANTS=Y TABLES=(SYSDBA.TAB1,SYSDBA.TAB2,SYSDBA.TAB3)
USERID 必須是命令行中的第一個參數(shù)
關(guān)鍵字 說名(默認值)
USERID 用戶名/口令 格式:USER/PWD*MPP_TYPE@SERVER:PORT#SSLPATH@SSLPWD
FILE 導(dǎo)出文件 (dexp.dmp)
DIRECTORY 導(dǎo)出文件所在目錄
FULL 整庫導(dǎo)出 (N)
OWNER 以用戶方式導(dǎo)出 格式 (user1,user2,…)
SCHEMAS 以模式方式導(dǎo)出 格式 (schema1,schema2,…)
TABLES 以表方式導(dǎo)出 格式 (table1,table2,…)
FUZZY_MATCH TABLES選項是否支持模糊匹配 (N)
QUERY 用于導(dǎo)出表的子集的select 子句
PARALLEL 用于指定導(dǎo)出的過程中所使用的線程數(shù)目
TABLE_PARALLEL 用于指定導(dǎo)出的過程中表內(nèi)的并發(fā)線程數(shù)目,MPP模式下會轉(zhuǎn)換成單線程
TABLE_POOL 用于指定表的緩沖區(qū)個數(shù)
EXCLUDE 忽略指定的對象
格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or
EXCLUDE=TABLES:table1,table2 or
EXCLUDE=SCHEMAS:sch1,sch2
INCLUDE 包含指定的對象
格式 INCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or
INCLUDE=TABLES:table1,table2
CONSTRAINTS 導(dǎo)出約束 (Y)
TABLESPACE 導(dǎo)出對象帶有表空間 (N)
GRANTS 導(dǎo)出權(quán)限 (Y)
INDEXES 導(dǎo)出索引 (Y)
TRIGGERS 導(dǎo)出觸發(fā)器 (Y)
ROWS 導(dǎo)出數(shù)據(jù)行 (Y)
LOG 屏幕輸出的日志文件
NOLOGFILE 不使用日志文件(N)
NOLOG 屏幕上不顯示日志信息(N)
LOG_WRITE 日志信息實時寫入文件: 是(Y),否(N)
DUMMY 交互信息處理: 打印§, 所有交互都按YES處理(Y),NO(N)
PARFILE 參數(shù)文件名
FEEDBACK 每 x 行顯示進度 (0)
COMPRESS 導(dǎo)出數(shù)據(jù)是否壓縮 (N)
ENCRYPT 導(dǎo)出數(shù)據(jù)是否加密 (N)
ENCRYPT_PASSWORD 導(dǎo)出數(shù)據(jù)的加密密鑰
ENCRYPT_NAME 加密算法的名稱
FILESIZE 每個轉(zhuǎn)儲文件的最大大小
FILENUM 一個模板可以生成的文件數(shù)
DROP 導(dǎo)出后刪除原表,但不級聯(lián)刪除 (N)
DESCRIBE 導(dǎo)出數(shù)據(jù)文件的描述信息,記錄在數(shù)據(jù)文件中
LOCAL MPP模式下登錄使用MPP_LOCAL方式(N)
HELP 打印幫助信息
示例:
? 1.全備full:
? ./dexp USERID=MYDM/my123456789:32141 FILE=2020_06_23_fullbak.dmp LOG=2020_06_23_fullbak.log FULL=Y DIRECTORY=/opt/dmdbms/dmdata/DAMENG/bak
? 2.用戶owner:
? ./dexp USERID=MYDM/my123456789:32141 FILE=2020_06_23_ownerbak.dmp LOG=2020_06_23_ownerbak.log OWNER=MYDM DIRECTORY=/opt/dmdbms/dmdata/DAMENG/bak
? 3.模式schemas:
? ./dexp USERID=MYDM/my123456789:32141 FILE=2020_06_23_schemasbak.dmp LOG=2020_06_23_schemasbak.log SCHEMAS=PERSON DIRECTORY=/opt/dmdbms/dmdata/DAMENG/bak
? 4.表或表分區(qū)table:
? ./dexp USERID=MYDM/my123456789:32141 FILE=2020_06_23_tablebak.dmp LOG=2020_06_23_tablebak.log TABLES=PERSON.PERSON,PERSON.ADDRESS DIRECTORY=/opt/dmdbms/dmdata/DAMENG/bak
2.5.2邏輯還原
? 邏輯還原是邏輯備份的逆過程,邏輯還原就是使用 dimp工具,把 dexp導(dǎo)出的備份數(shù)據(jù)重新導(dǎo)入到目標(biāo)數(shù)據(jù)庫。
格式: ./dimp KEYWORD=value 或 KEYWORD=(value1,value2,…,vlaueN)
例程: ./dimp SYSDBA/SYSDBA IGNORE=Y ROWS=Y FULL=Y
USERID 必須是命令行中的第一個參數(shù)
關(guān)鍵字 說名(默認值)
USERID 用戶名/口令 格式:USER/PWD*MPP_TYPE@SERVER:PORT#SSLPATH@SSLPWD
FILE 導(dǎo)入文件名稱 (dexp.dmp)
DIRECTORY 導(dǎo)入文件所在目錄
FULL 整庫導(dǎo)入 (N)
OWNER 以用戶方式導(dǎo)入 格式 (user1,user2,…)
SCHEMAS 以模式方式導(dǎo)入 格式 (schema1,schema2,…)
TABLES 以表名方式導(dǎo)入 格式(table1,table2,…)
PARALLEL 用于指定導(dǎo)入的過程中所使用的線程數(shù)目
TABLE_PARALLEL 用于指定導(dǎo)入的過程中每個表所使用的子線程數(shù)目,在FAST_LOAD為Y時有效
IGNORE 忽略創(chuàng)建錯誤 (N)
TABLE_EXISTS_ACTION 需要的導(dǎo)入表在目標(biāo)庫中存在時采取的操作[SKIP | APPEND | TRUNCATE | REPLACE]
FAST_LOAD 是否使用dmfldr來導(dǎo)數(shù)據(jù)(N)
FLDR_ORDER 使用dmfldr是否需要嚴格按順序來導(dǎo)數(shù)據(jù)(Y)
COMMIT_ROWS 批量提交的行數(shù)(5000)
EXCLUDE 忽略指定的對象 格式
格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS)
GRANTS 導(dǎo)入權(quán)限 (Y)
CONSTRAINTS 導(dǎo)入約束 (Y)
INDEXES 導(dǎo)入索引 (Y)
TRIGGERS 導(dǎo)入觸發(fā)器 (Y)
ROWS 導(dǎo)入數(shù)據(jù)行 (Y)
LOG 指定日志文件
NOLOGFILE 不使用日志文件(N)
NOLOG 屏幕上不顯示日志信息(N)
LOG_WRITE 日志信息實時寫入文件(N): 是(Y),否(N)
DUMMY 交互信息處理§: 打印§, 所有交互都按YES處理(Y),NO(N)
PARFILE 參數(shù)文件名
FEEDBACK 每 x 行顯示進度 (0)
COMPILE 編譯過程, 程序包和函數(shù)… (Y)
INDEXFILE 將表的索引/約束信息寫入指定的文件
INDEXFIRST 導(dǎo)入時先建索引(N)
REMAP_SCHEMA 格式(SOURCE_SCHEMA:TARGET_SCHEMA)
將SOURCE_SCHEMA中的數(shù)據(jù)導(dǎo)入到TARGET_SCHEMA中
ENCRYPT_PASSWORD 數(shù)據(jù)的加密密鑰
ENCRYPT_NAME 加密算法的名稱
SHOW/DESCRIBE 打印出指定文件的信息(N)
LOCAL MPP模式下登錄使用MPP_LOCAL方式(N)
TASK_THREAD_NUMBER 用于設(shè)置dmfldr處理用戶數(shù)據(jù)的線程數(shù)目
BUFFER_NODE_SIZE 用于設(shè)置dmfldr讀入文件緩沖區(qū)大小
TASK_SEND_NODE_NUMBER 用于設(shè)置dmfldr發(fā)送節(jié)點個數(shù)[16,65535]
LOB_NOT_FAST_LOAD 如果一個表含有大字段,那么不使用dmfldr,因為dmfldr是一行一行提交的
PRIMARY_CONFLICT 主鍵沖突的處理方式[IGNORE|OVERWRITE],默認報錯
TABLE_FIRST 是否先導(dǎo)入表(N):是(Y),否(N)
HELP 打印幫助信息
示例:
? 1.full導(dǎo)入
? ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dimp
? 2.owner導(dǎo)入
? ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log USER=USER01 DIRECTORY=/mnt/data/dimp
? 3.schemas導(dǎo)入
? ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/mnt/data/dimp
? 4.tables導(dǎo)入
? ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dimp
2.5.3物理備份
物理備份則直接掃描數(shù)據(jù)庫文件,找出那些已經(jīng)分配、使用的數(shù)據(jù)頁,拷貝并保存到備份集中。
備份方式:
(1)DM管理工具備份
./manager
點擊備份–>右鍵庫備份(表備份等)–>新建備份–>點擊常規(guī):寫備份名,備份集目錄,選擇備份類型;
(2)DM控制臺備份(脫機備份)
./console
點擊備份還原–>選擇新建備份–>按需求填寫備份信息
(3)聯(lián)機備份(./disql)
首先檢查是否開啟歸檔,然后./disql進入數(shù)據(jù)庫 或者dm管理工具
示例:
? 1.全備(默認)
? BACKUP DATABASE BACKUPSET ‘/opt/dmdbms/dmdata/DAMENG/bak/db_bak_01’ ;
? 2.增量備份
? BACKUP DATABASE INCREMENT WITH BACKUPDIR ‘/home/dm_bak’BACKUPSET ‘/home/dm_bak/db_increment_bak_02’;
? 3.表空間備份
? 完全備份(默認完全)
? BACKUP TABLESPACE MAIN FULL BACKUPSET ‘/home/dm_bak/ts_full_bak_01’;
? 增量備份(創(chuàng)建累積增量備份,還需要指定 CUMULATIVE參數(shù),否則缺省為差異增量備份。)
? BACKUP TABLESPACE MAIN INCREMENT BACKUPSET ‘ts_increment_bak_01’;
? 4.表備份
? ACKUP TABLE TAB_01 BACKUPSET ‘/home/dm_bak/tab_bak_01’;
? 5.歸檔備份
? 一是,歸檔文件的 db_magic、permanent_magic 值和庫的 db_magic、permanent_magic值必須一樣;二是,服務(wù)器必須配置歸檔;三是,歸檔日志必須連續(xù),
? BACKUP ARCHIVE LOG ALL BACKUPSET ‘a(chǎn)rch_bak_01’;
? 先查詢LSN范圍。
? select ARCH_LSN, CLSN, PATH from V$ARCH_FILE;
? 然后備份歸檔
? BACKUP ARCHIVELOGLSN BETWEEN 50414 AND 50478 BACKUPSET ‘/home/dm_bak/arch_bak_time_14-78’;
? (4)脫機備份(./dmrman)
? 需要設(shè)置歸檔和關(guān)閉數(shù)據(jù)庫實例
? 可執(zhí)行寫好的文件(行解析)
? ./dmrman CTLFILE=/home/dm_cmd/cmd_rman.txt
? 1.全備(默認)
? BACKUP DATABASE’/opt/dmdbms/data/DAMENG/dm.ini’ FULL BACKUPSET ‘/home/dm_bak/db_full_bak_01’;
? ./dmrman CTLSTMT="BACKUP DATABASE ‘/opt/dmdbms/data/DAMENG/dm.ini’;(dm.ini備份路徑,若無則 SYSTEM_PATH下的 bak目錄)
? 2.增量備份
? BACKUP DATABASE ‘/opt/dmdbms/data/DAMENG/dm.ini’ INCREMENT WITH BACKUPDIR '/home/dm_bak’BACKUPSET ‘/home/dm_bak/db_increment_bak_02’;
? 3.歸檔備份(默認all)
? 全部備份
? BACKUP ARCHIVE LOG DATABASE ‘/opt/dmdbms/data/DAMENG/dm.ini’;
? BACKUP ARCHIVE LOG ALL DATABASE '/opt/dmdbms/data/DAMENG/dm.ini’BACKUPSET ‘/home/dm_bak/arch_all_bak_01’;
2.5.4物理還原
? 物理還原是物理備份的逆過程,物理還原一般通過 DMRMAN工具(或者 SQL語句),把備份集中的數(shù)據(jù)內(nèi)容(數(shù)據(jù)文件、數(shù)據(jù)頁、歸檔文件)重新拷貝、寫入目標(biāo)文件。
還原方式:
(1)DM控制臺導(dǎo)入
點擊備份還原—>點擊還原(恢復(fù))—>根據(jù)需求還原恢復(fù)相應(yīng)備份集
(2)聯(lián)機還原
DM 僅支持表的聯(lián)機還原,數(shù)據(jù)庫、表空間和歸檔日志的還原必須通過脫機工具 DMRMAN執(zhí)行。
1.表還原(表數(shù)據(jù),結(jié)構(gòu))
RESTORE TABLE TAB_01 FROM BACKUPSET ‘tab_bak_01’;
RESTORE TABLE TAB_FOR_RES FROM BACKUPSET ‘/home/dm_bak/tab_bak_for_res_01’;
(3)脫機還原
1.數(shù)據(jù)庫還原
(1)完全還原
RESTORE DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ FROM BACKUPSET ‘/home/dm_bak/db_full_bak_for_restore’;
(2)歸檔還原
RESTORE ARCHIVE LOG FROM BACKUPSET ‘/home/dm_bak/arch_bak_lsn_421401’ ALL TO ARCHIVEDIR ‘/home/dm_arch/arch’;
RESTORE ARCHIVE LOG FROM BACKUPSET ‘/home/dm_bak/arch_all_for_restore’ TO DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ OVERWRITE 2;
(3)恢復(fù)數(shù)據(jù)庫
RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ FROM BACKUPSET ‘/home/dm_bak/db_full_bak_for_recover_backupset’;
(4)歸檔恢復(fù)
SHOW BACKUPSET ‘/home/dm_bak/db_full_bak_for_recover_arch’ INFO DB;
RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ WITH ARCHIVEDIR’/home/dm_arch/arch’ USE DB_MAGIC 1447060265;
(5)數(shù)據(jù)庫更新
RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ UPDATE DB_MAGIC;
2.表空間恢復(fù)
RESTORE DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RECOVER/dm.ini’ TABLESPACE MAIN FROM BACKUPSET ‘/home/dm_bak/db_full_bak_for_recover’;
RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RECOVER/dm.ini’ TABLESPACE MAIN;
通過文件編號
SELECT ID, PATH FROM V$DATAFILE;
RESTORE DATABASE ‘/home/xm/DAMENG/dm.ini’TABLESPACE TS_FOR_RES_01 DATAFILE
RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RECOVER/dm.ini’ TABLESPACE MAIN;
不通過文件編號
RESTORE TABLESPACE TS_FOR_RES_01 DATAFILE ‘/home/xm/DAMENG/ts_for_res_01_02.dbf’, ‘/home/xm/DAMENG/ts_for_res_01_03.dbf’ FROM BACKUPSET ‘/home/dm_bak/ts_bak_for_dbf’;
RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RECOVER/dm.ini’ TABLESPACE MAIN;
指定映射文件還原
RESTORE DATABASE ‘/home/xm/DAMENG/dm.ini’ TABLESPACE MAIN FROM BACKUPSET ‘/home/dm_bak/ts_bak_for_map’MAPPED FILE’/home/dm_mappedfile/map_file.txt’;
指定歸檔目錄還原
RECOVER DATABASE ‘/home/xm/DAMENG/dm.ini’ TABLESPACE MAIN FROM BACKUPSET ‘/home/dm_bak/ts_bak_for_arch’ WITH ARCHIVEDIR’/home/dm_arch1’, ‘/home/dm_arch2’;
三、數(shù)據(jù)庫工具介紹
3.1manager管理工具
? 可以連接配置,管理表空間、用戶、角色、模式、模式下對象等。 還可以做物理聯(lián)機備份、邏輯導(dǎo)入導(dǎo)出、作業(yè)管理等操作。
3.2console控制臺工具
? 可以查看數(shù)據(jù)庫的相應(yīng)參數(shù)信息,實例信息,可以進行數(shù)據(jù)庫備份與還原
3.3dts數(shù)據(jù)遷移工具
? 可以進行數(shù)據(jù)遷移。支持達夢數(shù)據(jù)庫之間的數(shù)據(jù)遷移,其他數(shù)據(jù)庫到達夢數(shù)據(jù)庫的遷移(mysql,oracle,SQLserver,db2,pg等),文件遷移到達夢數(shù)據(jù)庫,達夢數(shù)據(jù)庫遷移到文件。
3.4monitor性能監(jiān)視工具
? 可以監(jiān)控數(shù)據(jù)庫的使用情況以及一些數(shù)據(jù)庫調(diào)優(yōu)工作。
3.5dbca數(shù)據(jù)庫配置助手
? 可已進行數(shù)據(jù)庫實例的初始化,后臺腳本的注冊。
四、DMSQL
4.1DM_SQL語言的特點
? DM_SQL語言符合結(jié)構(gòu)化查詢語言 SQL標(biāo)準(zhǔn),是標(biāo)準(zhǔn) SQL的擴充。它集數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱和數(shù)據(jù)控制于一體,是一種統(tǒng)一的、綜合的關(guān)系數(shù)據(jù)庫語言。它功能強大,使用簡單方便、容易為用戶掌握。DM_SQL語言具有如下特點: 1. 功能一體化
? DM_SQL的功能一體化表現(xiàn)在以下兩個方面:
? 1) DM_SQL 支持多媒體數(shù)據(jù)類型,用戶在建表時可直接使用。DM 系統(tǒng)在處理常規(guī)數(shù)據(jù)與多媒體數(shù)據(jù)時達到了四個一體化:一體化定義、一體化存儲、一體化檢索、一體化處理,最大限度地提高了數(shù)據(jù)庫管理系統(tǒng)處理多媒體的能力和速度;
? 2) DM_SQL語言集數(shù)據(jù)庫的定義、查詢、更新、控制、維護、恢復(fù)、安全等一系列操作于一體,每一項操作都只需一種操作符表示,格式規(guī)范,風(fēng)格一致,簡單方便,很容易為用戶所掌握。
DM_SQL語言既是自含式語言,又是嵌入式語言。作為自含式語言,它能獨立運行于聯(lián)機交互方式。作為嵌入式語言,DM_SQL語句能夠嵌入到 C和 C++語言程序中,將高級語言(也稱主語言)靈活的表達能力、強大的計算功能與 DM_SQL 語言的數(shù)據(jù)處理功能相結(jié)合,完成各種復(fù)雜的事務(wù)處理。而在這兩種不同的使用方式中,DM_SQL語言的語法結(jié)構(gòu)是一致的,從而為用戶使用提供了極大的方便性和靈活性。
DM_SQL語言是一種非過程化語言。用戶只需指出“做什么”,而不需指出“怎么做”,對數(shù)據(jù)存取路徑的選擇以及 DM_SQL 語句功能的實現(xiàn)均由系統(tǒng)自動完成,與用戶編制的應(yīng)用程序與具體的機器及關(guān)系 DBMS的實現(xiàn)細節(jié)無關(guān),從而方便了用戶,提高了應(yīng)用程序的開發(fā)效率,也增強了數(shù)據(jù)獨立性和應(yīng)用系統(tǒng)的可移植性。
DM_SQL語言采用了集合操作方式。不僅查詢結(jié)果可以是元組的集合,而且一次插入、刪除、修改操作的對象也可以是元組的集合,相對于面向記錄的數(shù)據(jù)庫語言(一次只能操作一條記錄)來說,DM_SQL語言的使用簡化了用戶的處理,提高了應(yīng)用程序的運行效率。
DM_SQL語言功能強大,格式規(guī)范,表達簡潔,接近英語的語法結(jié)構(gòu),容易為用戶所掌握。
4.2DM_SQL語言的功能及語句
? DM_SQL語言是一種介于關(guān)系代數(shù)與關(guān)系演算之間的語言,其功能主要包括數(shù)據(jù)定義、查詢、操縱和控制四個方面,通過各種不同的 SQL語句來實現(xiàn)。按照所實現(xiàn)的功能,DM_SQL語句分為以下幾種:
用戶、模式、基表、視圖、索引、序列、全文索引、存儲過程、觸發(fā)器等數(shù)據(jù)庫對象的定義和刪除語句,數(shù)據(jù)庫、用戶、基表、視圖、索引、全文索引等數(shù)據(jù)庫對象的修改語句;
查詢(含全文檢索)、插入、刪除、修改語句;
數(shù)據(jù)庫安全語句。包括創(chuàng)建角色語句、刪除角色語句,授權(quán)語句、回收權(quán)限語句,修改登錄口令語句,審計設(shè)置語句、取消審計設(shè)置語句等。
在嵌入方式中,為了協(xié)調(diào) DM_SQL語言與主語言不同的數(shù)據(jù)處理方式,DM_SQL語言引入了游標(biāo)的概念。因此在嵌入方式下,除了數(shù)據(jù)查詢語句(一次查詢一條記錄)外,還有幾種與游標(biāo)有關(guān)的語句:
游標(biāo)的定義、打開、關(guān)閉、撥動語句;
游標(biāo)定位方式的數(shù)據(jù)修改與刪除語句。
為了有效維護數(shù)據(jù)庫的完整性和一致性,支持 DBMS的并發(fā)控制機制,DM_SQL語言提供了事務(wù)的回滾(ROLLBACK)與提交(COMMIT)語句。同時 DM允許選擇實施事務(wù)級讀一致性,它保證同一事務(wù)內(nèi)的可重復(fù)讀,為此 DM提供用戶多種手動上鎖語句,和設(shè)置事務(wù)隔離級別語句。
4.3DM_SQL語言支持的表達式
? DM 支持多種類型的表達式,包括數(shù)值表達式、字符串表達式、時間值表達式、時間間隔值表達式等。
4.4DM_SQL語言支持的數(shù)據(jù)庫模式
? DM_SQL語言支持關(guān)系數(shù)據(jù)庫的三級模式,外模式對應(yīng)于視圖和部分基表,模式對應(yīng)于基表,基表是獨立存在的表。一個或若干個基表存放于一個存貯文件中,存貯文件中的邏輯結(jié)構(gòu)組成了關(guān)系數(shù)據(jù)庫的內(nèi)模式。DM_SQL語言本身不提供對內(nèi)模式的操縱語句。
? 視圖是從基表或其它視圖上導(dǎo)出的表,DM 只將視圖的定義保存在數(shù)據(jù)字典中。該定義實際為一查詢語句,再為該查詢語句取一名字即為視圖名。每次調(diào)用該視圖時,實際上是執(zhí)行其對應(yīng)的查詢語句,導(dǎo)出的查詢結(jié)果即為該視圖的數(shù)據(jù)。所以視圖并無自己的數(shù)據(jù),它是一個虛表,其數(shù)據(jù)仍存放在導(dǎo)出該視圖的基表之中。當(dāng)基表中的數(shù)據(jù)改變時,視圖中查詢的數(shù)據(jù)也隨之改變,因此,視圖象一個窗口,用戶透過它可看到自己權(quán)限內(nèi)的數(shù)據(jù)。視圖一旦定義也可以為多個用戶所共享,對視圖作類似于基表的一些操作就像對基表一樣方便。
? SQL語言的詳細使用就不在這里一一贅述,詳見達夢SQL語言使用手冊。手冊可以在達夢官網(wǎng)下載,可以直接下載,附上鏈接。http://www.dameng.com/down.aspx?TypeId=12&FId=t14:12:14
? 還有其他的一些關(guān)于達夢數(shù)據(jù)庫的使用手冊都可以在網(wǎng)站上直接下載。
供對內(nèi)模式的操縱語句。
? 視圖是從基表或其它視圖上導(dǎo)出的表,DM 只將視圖的定義保存在數(shù)據(jù)字典中。該定義實際為一查詢語句,再為該查詢語句取一名字即為視圖名。每次調(diào)用該視圖時,實際上是執(zhí)行其對應(yīng)的查詢語句,導(dǎo)出的查詢結(jié)果即為該視圖的數(shù)據(jù)。所以視圖并無自己的數(shù)據(jù),它是一個虛表,其數(shù)據(jù)仍存放在導(dǎo)出該視圖的基表之中。當(dāng)基表中的數(shù)據(jù)改變時,視圖中查詢的數(shù)據(jù)也隨之改變,因此,視圖象一個窗口,用戶透過它可看到自己權(quán)限內(nèi)的數(shù)據(jù)。視圖一旦定義也可以為多個用戶所共享,對視圖作類似于基表的一些操作就像對基表一樣方便。
[外鏈圖片轉(zhuǎn)存中…(img-sJXgw2iE-1604047450586)]
? SQL語言的詳細使用就不在這里一一贅述,詳見達夢SQL語言使用手冊。手冊可以在達夢官網(wǎng)下載,可以直接下載,附上鏈接。http://www.dameng.com/down.aspx?TypeId=12&FId=t14:12:14
? 還有其他的一些關(guān)于達夢數(shù)據(jù)庫的使用手冊都可以在網(wǎng)站上直接下載。
總結(jié)
以上是生活随笔為你收集整理的达梦数据库的学习使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LaTeX数学符号大全
- 下一篇: mysql 慢查询过多_MySQL 慢查