本文系统使用的是centos7,其他系统部分命令可能无法使用
0. 腾讯云安装可视化界面
yum groupinstall "GNOME Desktop" "Graphical Administration Tools" -y
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
reboot
- 检查系统版本
uname -a
- 检查依赖包
rpm -qa|grep glibc*
- 检查内存
free -h
- 检查磁盘
df -h
- 检查cpu
cat /proc/cpuinfo
- 关闭防火墙,检查防火墙状态
systemctl stop firewalld
systemctl status firewalld
- 卸载防火墙
systemctl disable firewalld
- 查看防火墙
iptables -L
- 清空iptables策略
iptables -F - 修改selinux策略
vim /etc/selinux/config
- 查看文件最大打开限制
ulimit -a
- 设置最大文件打开数量
ulimit -n 65536 - 创建dinstall组和dmdba用户
groupadd dinstall
useradd -g dinstall dmdba
- 设置dmdba密码
passwd dmdba
- 创建数据库安装目录,并将目录赋权给dmdba用户
mkdir /dm8
chown dmdba:dinstall /dm8
- 设置一下可视化参数
xhost +
export DISPLAY=:0.0
- 切换成dmdba用户
- 挂在dm8安装包
解压并挂载
unzip dm8.zip
mount -o loop /home/dmdba/dm8.zip /mnt/dm8
- 开始安装
图像化安装 ./DMInstall
命令行安装 ./DMInstall -i
这里如果使用图像化报错,可以新开一个窗口。使用dmdba用户登录,再进行图像化安装。建议命令行安装。
选择一下创建的dm8安装路径
等待安装完成即可 - 按提示注册脚本服务
/dm8/script/root/root_installer.sh
- 使用dbca工具初始化实例
- 使用dminit工具初始化实例
./dminit path=/dm8/data db_name=5236 instance_name=5236 port_num=5236 page_size=16
- 注册实例服务
./dm_service_installer.sh -t dmserver -p 5236 -dm_ini /dm8/data/5236/dm.ini
- 启动数据库
nohup ./dmserver /dm8/data/5236/dm.ini & - 使用disql连接数据库
.disql USERID/PASSWD@IP:PORT
- 使用manager图形化工具连接数据库
- 在disql工具内连接其他数据库实例
conn USERID/PASSWD@IP:PORT - 达梦数据库参数类型
select distinct type from v$parameter;
read only类型:不可以通过sql语句或者系统函数进行修改,只能通过修改dm.ini文件修改
SYS类型:静态参数,可以通过系统函数、SQL命令达到修改参数的目的
IN FILE类型:动态参数(系统级),可以通过系统函数、SQL命令达到修改参数的目的
SESSION类型:动态参数(会话级),可以通过系统函数、SQL命令达到修改参数的目的,可针对某个会话进行修改,便于调试 - 通过dm.ini修改配置参数
vim /dm8/data/5236/dm.ini - 通过console工具修改参数
cd /dm8/tool
./console
该方法修改后需要重启数据库服务 - 通过sql语句修改
alter system set '参数名'='参数值' both | spfile | memory;
both是值既修改配置文件,又修改内存
spfile是只修改配置文件,重启服务后生效
memory是修改内存,立即生效,重启服务后失效
修改缓冲区大小
alter system set 'BUFFER'=2000 spfile; - 通过系统函数修改
SP_SET_PARA_VALUE(0|1|2,PARAMETER,NUM);
第一个参数:
0:只修改内存
1:内存和配置文件都修改
2:只修改配置文件
第二个参数:参数名
第三个参数:参数名可用参数值
修改double类型的参数
SP_SET_PARA_DOUBLE_VALUE()
修改字符串类型的参数
SP_SET_PARA_STRING_VALUE() - 表空间
SYSTEM:系统表空间
ROLL:回滚表空间
MAIN:用户默认的表空间
TEMP:临时表空间
HMAN:HUGE表存放的表空间
修改表空间
alter system set 'TEMP_SIZE'=64 spfile;
查询表空间
select * from dba_tablespaces;
select * from dba_data_files;
select * from user_tablespaces;
创建表空间
create tablespace test datafile 'TEST.DBF' SIZE 32;
修改表空间大小
alter tablespace test resize datafile 'TEST.DBF' to 64;
开启表空间自增长以及最大值
alter tablespace test datafile 'TEST.DBF' autoextend on next 2 maxsize 10240;
增加表空间文件
alter tablespace test add datafile 'TEST01.DBF' size 64;
修改表空间名
alter tablespace test rename to demo;
删除表空间
drop tablespace demo;
- 表空间迁移
表空间离线
alter tablespace test offline;
重命名数据文件迁移
alter tablespace test rename datafile 'TEST.DBF' to '/dm8/data/5236/TESTDEMO.DBF';
表空间上线
alter tablespace test online;
- TEMP表空间
查询TEMP表空间
select name,value,type from v$parameter where name like 'TEMP%'; - 重做日志文件
查询日志
select * from v$rlog;
select * from v$rlogfile;
添加日志文件
alter database add logfile '523603.log' size 64;
修改日志文件大小
alter database resize logfile '/dm8/data/5326/523603.log' to 128;
- 重做日志文件迁移
数据库设置为mount状态;
alter database mount;
迁移日志文件
alter database rename logfile '/dm8/data/5236/523603.log' to '/dm8/data/5236/5236003.log';
数据库设置为open状态
alter database open;
- 数据库归档
命令行开启归档
alter database mount;
alter database add archivelog 'type=local,dest=/dm8/data/5236/arch,file_size=1024,space_limit=2048';
alter database archivelog;
alter database open;
修改dm.ini参数文件开启归档
vim /dm8/data/5236/dm.ini
ARCH_INI=1
vim /dm8/data/5236/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/data/5236/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1
图像化方式不过多介绍 - 用户权限
SYS:内置用户,不能直接登陆
SYSDBA:系统管理员,拥有DBA角色(除了安全、审计其他都管)
SYSAUDITOR:系统审计管理员
SYSSSO:系统安全管理员
SYSDBO:系统安全操作员(达梦安全版才有)
创建用户
先查询用户密码策略
select * from v$parameter where name = 'PWD_POLICY';
sql创建:
create user TEST identified by 123456789 default tablespace TEST;
修改密码策略
alter system set 'PWD_POLICY'=0 both;
或者 SP_SET_PARA_VALUE(1,'PWD_POLICY',1);
设置用户最大连接数
alter user test limit SESSION_PER_USER 3;
赋权
grant all on sysdba.test to test;
all 包括增删改查
回收权限
revoke demo from test;
- 角色管理
创建角色
create role demo;
赋用户角色
grant demo to test; - 模式管理
创建模式并且赋予用户
create schema test authorization test;
查询所有模式
select * from SYSOBJECTS a where a."TYPE$" = 'SCH'
查询模式和所属用户
select a.id scheid, a.name schename, b.id userid, b.name username
from SYS.SYSOBJECTS a, SYS.SYSOBJECTS b
where a."TYPE$" = 'SCH' and a.pid = b.id;
查询当前模式
select sys_context('USERENV','CURRENT_SCHEMA'); - 表管理
创建表
create table demo(id int) storage (on test);
复制表
不带约束信息
create table demo as select * from test where 1=0;
带约束
create table demo as select * from test;
或者是
create table demo like test;
调整字段信息,简单ddl语句,不过多赘述
添加主键、外键、约束
alter table add check(id>10);
创建索引(唯一索引,普通索引,函数索引等)
create index demo_index on demo(id);
视图(普通视图,物化视图)
create view demo_view as select * from demo where id>20; - 数据库的导入导出(逻辑备份,数据库实例打开)
disql执行sql脚本
全库导出 full=y,按用户导出owner=test,按模式导出schemas=test,按表导出table=test;
全库导出
./dexp SYSDBA/SYSDBA@IP:PORT directory=/dm8/backup file=fullbak.dmp log=fullbak.log full=y
按用户导出
./dexp SYSDBA/SYSDBA@IP:PORT directory=/dm8/backup file=testbak.dmp log=testbak.log owner=test
数据导入
./dimp SYSDBA/SYSDBA@IP:PORT directory=/dm8/backup file=fullbak.dmp full=y;
- 数据库的备份还原(物理备份)
冷备份:数据库实例关闭,DMAP服务打开
用console工具备份还原
用./dmrman 备份还原
backup database 'dm8/data/5236/dm.ini' backupset 'dm8/backup/bak'
restore database '/dm8/data/5236/dm.ini' from backupset '/dm8/backup/bak'
recover database '/dm8/data/5236/dm.ini' from backupset '/dm8/backup/bak'
recover database '/dm8/data/5236/dm.ini' updata db_magic;
热备分:数据库实例打开,数据库归档打开,DMAP服务打开
disql执行
全库备份
backup database;
表空间备份
backup tablespace test;
表备份
backup table test;
归档备份
backup archivelog;
增量备份
backup database full to "full" backupset '/dm8/backup/full';
backup database increment with backupdir "/dm8/backup/full" backupset '/dm8/backup/full1';
还原时关闭实例服务
./dmrman
restore database '/dm8/data/5236/dm.ini' from backupset '/dm8/backup/full'
recover database '/dm8/data/5236/dm.ini' with archivedir '/dm8/data/5236/arch';
recover database '/dm8/data/5236/dm.ini' update db_magic; - 创建代理和作业
disql创建代理
SP_INIT_JOB_SYS(1); - ODBC连接达梦数据库
查看gcc
gcc -v
解压unixODBC
tar -zxvf unixODBC.tar.gz
安装unixODBC
./configure
make && make install
配置ODBC
修改odbc.ini
修改odbcinst.ini
测试连接