达梦DCA培训笔记

数据库安装

准备工作,检查服务器基本信息

内核2.6及以上,内存大于1G,/tmp分区大于4G

# lscpu
# cat /proc/cpuinfo
# free -h
# fdisk -l
# df -h
# uname -a

防火墙

# systemctl status firewalld
# systemctl stop firewalld
# systemctl disable firewalld

安装

1、新建用户和组,新建安装目录/dm8/,挂载iso安装文件

# groupadd dinstal
# useradd -g dinstall dmdba
# passwd dmdba
# mkdir -p /dm8
# chown dmdba:dinstall -R /dm8
# mount -o loop /opt/dm8_20220525_x86_rh6_64.iso /mnt

设置图形化,方便调用manager和console管理

# echo $DISPLAY
# xhost +
# su - dmdba
$ export DISPLAY=:0.0
$ xhost +

设置安装临时目录

# mkdir -p /opt/tmp
# chmod 777 -R /opt/tmp
$ vi .bash_profile
 export DM_INSTALL_TMPDIR=/opt/tmp
$ source .bash_prof

安装

$ /mnt/DMInstall.bin
图形化界面,按照要求下一步即可

创建实例

$ /dm8/tool/dbca.sh
图形化界面,按照要求下一步即可

实例状态

$ /dm8/bin/disql sysdba
> select instance_name,status$ from v$instance;
说明
shutdown:关闭状态
mount:配置状态,可以开启归档,配置集群
open:打开状态,对外提供服务
suspend:挂起状态,只读

转换状态
> alter database mount
> alter database open
> alter database suspend

启停方式

前台启动

$ /dm8/bin/dmserver /dm8/data/DAMENG/dm.ini   

后台启停

$ /dm8/bin/DmServiceDMSERVER start
$ /dm8/bin/DmServiceDMSERVER stop
或者
# systemctl stop DmServiceDMSERVER.service
# systemctl start DmServiceDMSERVER.service
# systemctl status DmServiceDMSERVER.servic

工具介绍

sql命令行disql

完整连接方式
/dm8/bin/disql  sysdba/SYSDBA@IP:PORT 
/dm8/bin/disql  用户名/密码@ip 或主机名:数据库实例端口号

管理工具

$ /dm8/tool/manager  

控制台

$ /dm8/tool/console

迁移工具

$ /dm8/tool/dts

DMSQL

DMSQL 是基于 SQL92 和 SQL99 标准。

配置参数

select para_name,para_value,para_type from v$dm_ini;
SESSION:会话级,动态参数,即改即生效
SYS:系统级,动态参数,即改即生效
IN FILE:静态参数,重启数据库实例生效
READ ONLY:只读参数,只能通过文本编辑器修改

修改参数:
sp_set_para_value(参数类型,参数名,参数值);
参数类型:1 为动态参数;2 为静态参数

达梦相关文件

数据文件

> select * from v$datafile

重做日志文件

> select * from v$rlogfile
只增不减,只扩不缩,默认有两个,取值范围256-2048,记录数据库发生变更的操作,循环写、可覆盖
添加重做日志文件
> alter database add LOGFILE '/dm8/data/DAMENG03.log' size 256
修改重做日志文件大小
> alter database RESIZE LOGFILE '/dm8/data/DAMENG03.log' to 300
mount后才能改名字改路径
> alter database mount 
> alter database RENAME LOGFILE '/dm8/data/DAMENG03.log' to '/dm8/data/DAMENG/DAMENG03.log'
> alter database open

归档日志文件(重做日志副本)

开启归档后,重做日志覆盖前拷贝到归档路径下做副本

备份文件

.meta的文件,是备份的元数据信息,记录的是备份集的大小,备份的时间,备份的状态,备份的规模;
.bak 结尾的文件,就是备份的真实数据

表空间

SYSTEM:系统表空间,存放的是数据字典和动态性能视图的信息。

MAIN:默认表空间,新建用户时没有指定表空间,该用户的默认表空间就是 MAIN。

ROLL:回滚表空间,存放的是数据库在运行中产生的回滚记录。

TEMP:临时表空间,存放的是临时记录,排序等

>select naem,status$ from v$tablespace

创建表空间

CREATE TABLESPACE TBS DATAFILE '/dm8/data/DAMENG/TBS01.log' SIZE 32
CREATE TABLESPACE  "TBS" datafile '/dm8/data/DAMENG/TBS01.DBF' size 80 autoextend on next 2 maxsize 10240, '/dm8/data/DAMENG/TBS02.DBF' size 80 autoextend on next 2 maxsize 10240 CACHE = NORMAL;

表空间脱机联机

select naem,status$ from v$tablespace
0:联机,1:脱机
TBS 表空间脱机:1
alter tablespace tbs offline;
TBS 表空间联机:0
alter tablespace tbs online;

表空间不够用

resize数据文件大小

alter tablespace "TEST" resize datafile '/dm8/data/DAMENG/TEST01.DBF' to 100;

添加数据文件

alter tablespace "TEST" add datafile '/dm8/data/DAMENG/TEST02.DBF' size 100;

迁移数据文件

alter tablespace "TEST" offline
alter tablespace "TEST" rename datafile '/dm8/data/DAMENG/TEST01.DBF' to '/dm8/TEST01.DBF';
alter tablespace "TEST" online

修改表空间大小

select para_name,para_value,para_type from v$dm_ini where para_name='TEMP_SIZE';
sp_set_para_value(2,'TEMP_SIZE',100)

删除表空间

drop tablespace  TEST
SYSTEM、TEMP、ROLL 表空间不能被脱机、删除

用户管理

系统口令策略 PWD_POLICY
0: 无策略;
1: 禁止与用户名相同;
2: 口令长度不小于 9;
4: 至少包含一个大写字母(A-Z);
8 :至少包含 一个数字(0-9);
16:至少包含一个标xxxx

select para_name,para_value,para_type from v$dm_ini where para_name='PWD_POLICY';
sp_set_para_value(1,'PWD_POLICY',3);

新建用户时图形化界面按要求设置

修改密码

alter user "TEST" identified by "dameng123"

锁定和解锁用户

alter user test ACCOUNT LOCK;
alter user test ACCOUNT UNLOC

修改用户的默认表空间

alter user "TEST" default tablespace "MAIN";

修改用户的权限

grant CREATE INDEX to "TEST";
grant "R1" to "TEST";

删除用户

drop user TEST

授权

对象权限授予可以到列级,对象权限回收只能按表级。

revoke update on dmhr.employee from r1;
grant UPDATE("PHONE_NUM") on "DMHR"."EMPLOYEE" to "R1"

模式对象管理

表、视图、索引、存储过程、触发器、包、函数、序列、同义词等

表管理

导入sql
> start /home/dmdba/script.sql
> ` /home/dmdba/script.sql
外键约束
alter table "TEST"."TEST4" add constraint foreign key("NAME") references "TEST"."TEST3"("NAME");
增加列
alter table "TEST"."TEST1" add column("NAME" CHAR(30));
删除列
alter table "TEST"."TEST1" drop column "NAME";
禁用约束
alter table test.test5 DISABLE CONSTRAINT CONS134218864;
启用约束
alter TABLE test.TEST5 ENABLE CONSTRAINT CONS134218864 ;
删除表
drop table "TEST"."TEST5" restrict;

视图

create view ... as select ...
drop view "TEST"."VIEW_EMP"

索引

create index "DMHR"."IND_EMP" on "DMHR"."EMPLOYEE"("EMPLOYEE_NAME") ;

重建索引

ALTER INDEX DMHR.IND_EMP REBUILD;

删除索引

drop index "DMHR"."IND_EMP";

备份还原

冷备:关闭数据后备份
$ /dm8/bin/DmServiceDMSERVER stop
$ mkdir /dm8/backup
$ /dm8/bin/dmrman 
>  backup database '/dm8/data/DAMENG/dm.ini' backupset '/dm8/backup'
备份工具是console
热备
开启归档
> alter database mount;
> alter database archivelog;
> alter database add archivelog 'DEST=/dm8/arch, TYPE=LOCAL, FILE_SIZE=64, SPACE_LIMIT=0';
> alter database open
$ /dm8/bin/DmServiceDMSERVER restart 
备份工具是manager
命令行disql
> backup database full;
指定路径
>backup database full backupset '/dm8/backup1'
表空间只能热备
备份工具是manager
命令行disql
> backup tablespace main ful
指定路径
> backup tablespace main full backupset '/dm8/backup'
表备份
> backup table dmhr.department;
备份到指定路径:
> backup table dmhr.city backupset '/dm8/backup/'

整库还原恢复 ,需关闭数据库

校验备份集
$ /dm8/bin/dmrman 
> check backupset '/dm8/data/DAMENG/bak/DB_DAMENG_FULL_20230214_215557_671740'
consloe工具还原步骤:1、还原  2、通过归档恢复 3、更新magic 4、启动数据库

命令行还原恢复
$ /dm8/bin/dmrman 
RMAN> restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup';
RMAN> recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/arch';
RMAN> recover database '/dm8/data/DAMENG/dm.ini' update db_magic

表空间还原恢复

console还原 1、还原  2、通过归档恢复
命令行还原:
$ /dm8/bin/dmrman 
RMAN> restore database '/dm8/data/DAMENG/dm.ini' tablespace MAIN from backupset '/dm8/backup';
RMAN> recover database '/dm8/data/DAMENG/dm.ini' tablespace main

逻辑备份

manger工具导入导出,整库、用户、模式、表 等级别的导出

命令导入导出 dexp/dimp

将 DMHR 模式数据导入到 TEST 模式
REMAP_SCHEMA参数配置
$ /dm8/bin/dimp sysdba/Dameng123  DIRECTORY=/dm8/backup FILE=table.dmp REMAP_SCHEMA=DMHR:TEST LOG=imp.log

DM8开发

 tar -xvf unixODBC-2.3.0.tar.gz
 ./configure
 make && make install
 cd /usr/local/etc/
 vi odbcinst.ini
 vi odbc.ini

[root@localhost etc]# cat odbc.ini 
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Damengdba
TCP_PORT = 5236

[root@localhost etc]# cat odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值