分享一下達夢DCA自己的一些總結
分享一下達夢DCA自己的一些總結
1、 先講一下達夢資料的型別有哪些
開發版:有時間和併發數限制,不能作為商用
標準版:小型應用,沒有叢集等高階功能和特性
企業版:三權分立,大中型企業使用,具有叢集等高階特性
安全版:基於企業版的四權分立,安全特性進一步增強(強訪問控制、
客體重用等)
2、達夢資料的部署(DM8)
2.1 檢視軟硬體資訊
檢視 cpu 資訊
[[email protected]~]#ls cpu
[[email protected]~]#cat /proc/cpuinfo
注意:特別是國產 cpu,龍芯、飛騰
檢視記憶體資訊:
~]#free -m
注意:資料庫記憶體要至少 1G,linuxswap 分割槽一般是實體記憶體的 1.5倍
檢視硬碟、分割槽資訊
[[email protected]~]#fdisk -l [[email protected]~]#df -h 如果資料庫開啟 SQL
日誌分析,那麼/tmp 分割槽至少要 600M
網路要求:
100M 網絡卡支援 TCP/IP 協議 遠端訪問資料庫需要關閉防火牆
[[email protected]~]#systemctl status firewalld
[[email protected]~]#systemctl stop firewalld[[email protected]~]#systemctl disable firewalld
支援平臺:linuxhpunix windows 等
系統要求:
核心要在 2.6 以上, [[email protected]~]#uname -ra
安裝gcc [[email protected]]#yum install gcc
2.2 規劃路徑
[[email protected]/]#mkdir-p/dm8
2.3 安裝使用者(建議不要使用 root)
[[email protected]/]#groupadd dinstall
[[email protected]/]#useradd -g dinstall dmdba
[[email protected]/]#passwd dmdba
更改使用者 dmdba 的密碼 。 新的 密碼: 無效的密碼: 密碼少於 8 個字元 重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[[email protected]/]#chown dmdba:dinstall /dm8 -R
[[email protected]/]#ls -ld /dm8
drwxr-xr-x.2 dmdba dinstall 69 月 711:24 /dm8
2.4 設定最大檔案開啟數
修改之後重啟生效 [[email protected]/]#vi /etc/security/limits.conf
dmdba soft nofile 4906
dmdba hard nofile 65536
臨時生效:ulimit-n 65536
2.5 安裝
把DM8 iso就像掛載在/mnt目錄下
[[email protected]]#mount-oloop/home/dm8_setup_rh7.iso/mnt
mount:/dev/loop0 防寫,將以只讀方式掛載
到/mnt 下執行./DMInstall.bin
[[email protected]]$./DMInstall.bin
選擇安裝型別
安裝目錄
安裝
執行指令碼
自此DM8已經安裝完畢
3、一下為我總結的一些命令 供大家參考
解除安裝資料庫軟體:
dmdba$ ./uninstall.sh -i
建立資料庫例項:
dmdba
c
d
/
d
m
8
/
t
o
o
l
d
m
d
b
a
cd /dm8/tool dmdba
cd/dm8/tooldmdba./dbca.sh
root#mv /dm8/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service
root#systemctl enable DmServiceDMSERVER.service
root#systemctl start DmServiceDMSERVER.service
檢視資料庫執行狀態:
dmdba$./dmservice.sh
$ps -ef|grep dmserver
$netstat -ntl|grep 5236
$ ./DmServiceDMSERVER status
開啟關閉資料庫:
$ ./DmServiceDMSERVER stop
$ ./DmServiceDMSERVER start
資料庫工具:
$cd /dm8/bin
$ ./disql SYSDBA/SYSDBA:5236
sql>conn
$./manager //資料庫管理
KaTeX parse error: Expected group after '_' at position 1402: …ee_name like '李_̲'; 排序: 升序 a…database;
表空間:
查詢表空間和資料檔案:
SQL> select tablespace_name,file_name from dba_data_files;
建立表空間
SQL> create tablespace test datafile ‘/dm8/data/DAMENG/TEST01.DBF’ SIZE 32;
create tablespace “TBS” datafile ‘/dm8/data/DAMENG/TBS01.DBF’ size 50 autoextend on next 2 maxsize 1024 CACHE = NORMAL;
表空間狀態
離線狀態
Alter tablespace tbs offline;聯機狀態
聯機狀態
Alter tablespace tbs online;
維護表空間
增加資料檔案
alter tablespace “TBS” add datafile ‘/dm8/data/DAMENG/TBS02.DBF’ size 32;
alter tablespace “TBS” datafile ‘TBS02.DBF’ autoextend on next 1 maxsize 1024;
resize 資料檔案
alter tablespace “TBS” resize datafile ‘TBS02.DBF’ to 100;
更換資料檔案路徑
表空間離線
Alter tablespace tbs offline;
修改資料檔案路徑
SQL> alter tablespace tbs rename datafile ‘/dm8/data/DAMENG/TBS01.DBF’ to ‘/dm8/TBS01.DBF’;
表空間聯機
SQL> alter tablespace tbs online;
刪除表空間:
Drop tablespace tbs;
使用者管理
檢視使用者:
select username,account_status from dba_users;
Oracle相容:
通過 console 工具來更改引數
通過函式 sp_set_para_value()
sp_set_para_value(1,‘PWD_POLICY’,3)
COMPATIBLE_MODE 是否相容其他資料庫模式。0:不相容,1:相容 SQL92標準,2:相容 ORACLE,3:相容 MS SQL SERVER,4:相容 MYSQL相容 ORACLE 模式 sp_set_para_value(2,‘COMPATIBLE_MODE’,2)
更改使用者的預設表空間
alter user “TEST” default tablespace “MAIN”;
更改密碼:
Alter user test identified by dameng456;
鎖定 test 使用者
alter user test account lock;
解鎖 test 使用者
alter user test account unlock;
撤回許可權
revoke create table from test;
刪除使用者:
Drop user test;
表:
建立表:
create table test1(id char(10) not null);
非空約束:
insert into test1 values (null);
唯一約束:
create table test2(id int unique,name varchar(25));
主鍵約束:
create table test3(id int primary key);
外來鍵約束:
create table test4 (id int foreign key references test3(id));
檢查約束:
create table test5(id int check(id>=5));
管理表:
重命名錶:
Alter table test1 rename to test6;
增加列:
alter table “TEST1”.“TEST6” add column(“NAME” VARCHAR(30));
刪除列:
Alter table test6 drop column name;
檢視約束:
select constraint_name,table_name,status from user_constraints;
啟用約束
alter table test2 enable constraint CONS134218843 ;
禁用約束
alter table test2 disable constraint CONS134218843 ;
刪除表:
Drop table test5;
更新: update (表名) set 列名=() where ();
刪除: delete from () where ();
檢視:
建立檢視語法: create or replace view () as +接查詢語句
Create view () as
create view test1.emp_v as select employee_id,employee_name,salary,department_id from
dmhr.employee where department_id=1005;
建立簡單的檢視:
Drop view emp_v;
物理備份:
冷備(不需要開啟歸檔,但是需要停掉資料庫例項):
[[email protected] bin]$ ./DmAPService status
DmAPService (pid 14437) is running
1、 console 工具備份
2、 用 dmrman 工具備份
RMAN> backup database ‘/dm8/data/DAMENG/dm.ini’ backupset ‘/dm8/bakcup’;
檢查備份集
RMAN> check backupset ‘/dm8/backup’;
熱備:需要開啟歸檔, 資料庫需要聯機
檢視資料庫歸檔模式:
SQL> select arch_mode from v
d
a
t
a
b
a
s
e
;
m
a
n
a
g
e
r
工
具
備
份
:
D
i
s
q
l
工
具
:
整
庫
備
份
:
b
a
c
k
u
p
d
a
t
a
b
a
s
e
f
u
l
l
t
o
"
f
u
l
l
02
"
b
a
c
k
u
p
s
e
t
′
/
d
m
8
/
b
a
c
k
u
p
/
r
b
′
;
增
量
備
份
:
b
a
c
k
u
p
d
a
t
a
b
a
s
e
i
n
c
r
e
m
e
n
t
b
a
s
e
o
n
b
a
c
k
u
p
s
e
t
′
/
d
m
8
/
b
a
c
k
u
p
/
r
b
′
t
o
"
D
B
D
A
M
E
N
G
I
N
C
R
E
2
02
0
0
9
0
9
1
5
4
3
3
6
"
b
a
c
k
u
p
s
e
t
′
D
B
D
A
M
E
N
G
I
N
C
R
E
2
02
0
0
9
0
9
1
5
4
3
3
6
′
;
表
空
間
備
份
:
b
a
c
k
u
p
t
a
b
l
e
s
p
a
c
e
"
D
M
H
R
"
f
u
l
l
t
o
"
T
S
D
M
H
R
F
U
L
L
2
02
0
0
9
0
9
1
5
4
7
2
6
"
b
a
c
k
u
p
s
e
t
′
T
S
D
M
H
R
F
U
L
L
2
02
0
0
9
0
9
1
5
4
7
2
6
′
;
表
備
份
:
b
a
c
k
u
p
t
a
b
l
e
"
D
M
H
R
"
.
"
E
M
P
L
O
Y
E
E
"
t
o
"
T
A
B
D
M
H
R
E
M
P
L
O
Y
E
E
2
02
0
0
9
0
9
1
5
5
0
2
3
"
b
a
c
k
u
p
s
e
t
′
T
A
B
D
M
H
R
E
M
P
L
O
Y
E
E
2
02
0
0
9
0
9
1
5
5
0
2
3
′
;
歸
檔
日
志
備
份
:
b
a
c
k
u
p
a
r
c
h
i
v
e
l
o
g
a
l
l
t
o
"
A
R
C
H
2
02
0
0
9
0
9
1
5
5
1
3
2
"
b
a
c
k
u
p
s
e
t
′
A
R
C
H
2
02
0
0
9
0
9
1
5
5
1
3
2
′
;
物
理
還
原
:
整
庫
還
原
:
r
e
s
t
o
r
e
d
a
t
a
b
a
s
e
′
/
d
m
8
/
d
a
t
a
/
D
A
M
E
N
G
/
d
m
.
i
n
i
′
f
r
o
m
b
a
c
k
u
p
s
e
t
′
/
d
m
8
/
b
a
c
k
u
p
′
;
r
e
c
o
v
e
r
d
a
t
a
b
a
s
e
′
/
d
m
8
/
d
a
t
a
/
D
A
M
E
N
G
/
d
m
.
i
n
i
′
w
i
t
h
a
r
c
h
i
v
e
d
i
r
′
/
d
m
8
/
a
r
c
h
′
;
r
e
c
o
v
e
r
d
a
t
a
b
a
s
e
′
/
d
m
8
/
d
a
t
a
/
D
A
M
E
N
G
/
d
m
.
i
n
i
′
u
p
d
a
t
e
d
b
m
a
g
i
c
;
表
空
間
還
原
表
空
間
只
能
在
聯
機
模
式
下
進
行
備
份
,
脫
機
模
式
進
行
還
原
r
e
s
t
o
r
e
d
a
t
a
b
a
s
e
′
/
d
m
8
/
d
a
t
a
/
D
A
M
E
N
G
/
d
m
.
i
n
i
′
t
a
b
l
e
s
p
a
c
e
D
M
H
R
f
r
o
m
b
a
c
k
u
p
s
e
t
′
/
d
m
8
/
b
a
c
k
u
p
′
;
r
e
c
o
v
e
r
d
a
t
a
b
a
s
e
′
/
d
m
8
/
d
a
t
a
/
D
A
M
E
N
G
/
d
m
.
i
n
i
′
t
a
b
l
e
s
p
a
c
e
D
M
H
R
;
導
出
:
全
庫
導
出
:
[
d
m
d
b
a
@
l
o
c
a
l
h
o
s
t
b
i
n
]
database; manager工具備份: Disql 工具: 整庫備份: backup database full to "full02" backupset '/dm8/backup/rb'; 增量備份: backup database increment base on backupset '/dm8/backup/rb' to "DB_DAMENG_INCRE_2020_09_09_15_43_36" backupset 'DB_DAMENG_INCRE_2020_09_09_15_43_36'; 表空間備份: backup tablespace "DMHR" full to "TS_DMHR_FULL_2020_09_09_15_47_26" backupset 'TS_DMHR_FULL_2020_09_09_15_47_26'; 表備份: backup table "DMHR"."EMPLOYEE" to "TAB_DMHR_EMPLOYEE_2020_09_09_15_50_23" backupset 'TAB_DMHR_EMPLOYEE_2020_09_09_15_50_23'; 歸檔日誌備份: backup archivelog all to "ARCH_2020_09_09_15_51_32" backupset 'ARCH_2020_09_09_15_51_32'; 物理還原: 整庫還原: restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup'; recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/arch'; recover database '/dm8/data/DAMENG/dm.ini' update db_magic; 表空間還原 表空間只能在聯機模式下進行備份, 離線模式進行還原 restore database '/dm8/data/DAMENG/dm.ini' tablespace DMHR from backupset '/dm8/backup'; recover database '/dm8/data/DAMENG/dm.ini' tablespace DMHR; 匯出: 全庫匯出: [[email protected] bin]
database;manager工具備份:Disql工具:整庫備份:backupdatabasefullto"full02"backupset′/dm8/backup/rb′;增量備份:backupdatabaseincrementbaseonbackupset′/dm8/backup/rb′to"DBDAMENGINCRE20200909154336"backupset′DBDAMENGINCRE20200909154336′;表空間備份:backuptablespace"DMHR"fullto"TSDMHRFULL20200909154726"backupset′TSDMHRFULL20200909154726′;表備份:backuptable"DMHR"."EMPLOYEE"to"TABDMHREMPLOYEE20200909155023"backupset′TABDMHREMPLOYEE20200909155023′;歸檔日志備份:backuparchivelogallto"ARCH20200909155132"backupset′ARCH20200909155132′;物理還原:整庫還原:restoredatabase′/dm8/data/DAMENG/dm.ini′frombackupset′/dm8/backup′;recoverdatabase′/dm8/data/DAMENG/dm.ini′witharchivedir′/dm8/arch′;recoverdatabase′/dm8/data/DAMENG/dm.ini′updatedbmagic;表空間還原表空間只能在聯機模式下進行備份,脫機模式進行還原restoredatabase′/dm8/data/DAMENG/dm.ini′tablespaceDMHRfrombackupset′/dm8/backup′;recoverdatabase′/dm8/data/DAMENG/dm.ini′tablespaceDMHR;導出:全庫導出:[dmdba@localhostbin] ./dexp sysdba/dameng123 file=full.dmp log=full.log directory=/dm8/backup full=y
[[email protected] bin]$ ./dimp sysdba/dameng123 file=full.dmp log=full_imp.log directory=/dm8/backup full=y
使用者匯出:
[[email protected] bin]$ ./dexp sysdba/dameng123 file=test1.dmp log=test1.log directory=/dm8/backup owner=test1
匯出表:
[[email protected] bin]$ ./dexp test1/dameng123 file=test_emp.dmp directory=/dm8/backup tables=test_emp