本文记录DCA培训内容,使用命令行方式,完成大部分达梦数据库操作,少部分操作难以完成,接下来一篇会全部使用图像化操作演示。
-
达梦数据库的安装
创建用户组:
groupadd dinstall
useradd -g dinstall dmdba
id dmdba
挂载.iso文件
mkdir /mnt/dm8
mount -o loop dm8.iso /mnt/dm8
创建dm8安装目录赋权
开始安装:
图形化安装:
xhost +
echo $DISPLAY
su - dmdba
export DISPLAY=:0.0
./DMInstall.sh(这里云服务器,有点垃圾)
命令行安装:(命令行快一点)
./DMInstall.bin -i
根据安装后的提示用root用户执行一下脚本
-
实例初始化
图像化初始化:
./dbca.sh
命令行方式初始化实例
./dminit help 查看dminit的参数
./dminit path=/dm8/data port_num=5236 instance_name=5236 db_name=5236 page_size=32 extent_size=64 log_size=1024
命令行初始化后可以注册一下服务
/dm_service_installer.sh -t dmserver
启动服务
-
修改参数
这里使用disql工具连接数据库
./disql SYSDB/SYSDBA@IP:PORT
参数分类:
read only类型:不可以通过sql语句或者系统函数进行修改,只能通过修改dm.ini文件修改
SYS类型:静态参数,可以通过系统函数、SQL命令达到修改参数的目的
IN FILE类型:动态参数(系统级),可以通过系统函数、SQL命令达到修改参数的目的
SESSION类型:动态参数(会话级),可以通过系统函数、SQL命令达到修改参数的目的,可针对某个会话进行修改,便于调试
参数修改可以直接通过修改dm.ini文件修改,但数据库需要重启后生效。通过console控制台修改参数也是一样,需要重启后才可以生效。
通过sql语句修改:
alter system set '参数名'='参数值' both | spfile | memory;
both是值既修改配置文件,又修改内存
spfile是只修改配置文件,重启服务后生效
memory是修改内存,立即生效,重启服务后失效
例如:修改buff池大小
alter system set 'BUFFER'=2000 spfile;
调用系统函数修改参数
SP_SET_PARA_VALUE()
-
创建表空间
创建
create tablespace DEMO datafile '/dm8/data/5236/DEMO01.DBF' size 1024;
修改大小
alter tablespace DEMO resize datafile '/dm8/data/5236/DEMO01.DBF' to 2048;
增加数据文件
alter tablespace DEMO add datafile '/dm8/data/5236/DEMO02.DBF' size 1024;
表空间开启自增
alter tablespace DEMO datafile '/dm8/data/5236/DEMO01.DBF' autoextend on next 2 maxsize 3096;
修改表空间名
alter tablesapce DEMO rename to DEMO11; -
表空间的迁移
表空间迁移需要先让表空间离线
alter tablesapce DEMO offline;
alter tablesapce DEMO rename datafile 'DEMO01.DBF' to '/dm8/data/5236/DEMO03.DBF'
alter tablespace DEMO online;
-
用户
创建
指定用户密码安全级别
create user dmhs identified by dmhs password_policy 0;
-
角色权限
赋权
create role dmhsdba;
grant select table to dmhsdba;
grant create table to dmhsdba;
grant dmhsdba to dmhs;
回收权限
revoke dmhsdba from dmhs; -
表约束
主键,外键,唯一约束,check约束
-
索引
-
视图
-
物理备份
开归档
alter database mount;
alter database add archivelog 'type=local,dest=/dm8/data/5236/arch,file_size=1024,space_limit=10240';
alter database archivelog;
alter database open;
导入sql脚本
a. 联机备份(不关数据库服务)
全库备份
backup database full backupset '/dm8/backup/fullbak';
报错执行 checkpoint(100);
表空间备份
backup tablespace DEMO full backupset '/dm8/backup/tsbak';
b. 脱机备份(关数据库服务)
报错执行
repair archivelog database '/dm8/data/5236/dm.ini';
还原(关数据库服务)
-
逻辑备份
./dexp help
./dimp help
./dexp SYSDBA/SYSDBA@43.142.243.68:5236 file=dmhs.dmp directory=/dm8/dmp tables=SYSDBA.TEST3;
./dimp SYSDBA/SYSDBA@43.142.243.68:5236 file=dmhs.dmp directory=/dm8/dmp tables=SYSDBA.TEST3;
-
达梦数据库作业,建议用图像化解决
-
unixodbc
tar -zxvf unixODBC.tar.gz
cd unixODBC
./configure
make && make install
odbcinst -j
vim odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = IP
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236
vim odbcinst.ini
[DM8 ODBC DRIVER]
Drscription = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
验证成功