注册
关于达梦DCP培训学习所收集到的一些常用基础命令
培训园地/ 文章详情 /

关于达梦DCP培训学习所收集到的一些常用基础命令

DM_022551 2023/09/26 1105 0 0

数据库实例的启停
#方法一
cd /dm8
./DmServiceDMSERVER status|start|stop|restart

#方法二
systemctl status|start|stop|restart DmServiceDMSERVER.service

命令行连接数据库
./disql sysdba/SYSDBA@localhost:5236

查看数据库启动状态
select status$ from v$instance;

数据库状态切换,切换为配置状态(mount)
alter database mount|open;

工具介绍(dm8/tool)
迁移工具
./dts

DM控制台工具(修改数据库环境参数、备份还原)
./console

DM性能监视工具
./monitor

重做日志
alter database add logfile '/dm8/data/DAMENG/DAMENG04.log' size 256; --增加重做日志文件
alter database resize logfile '/dm8/data/DAMENG/DAMENG04.log' to 512; --增加重做日志文件大小
select * from v$rlogfile; --查看重做日志

归档日志
select arch_mode from v$database; --查看数据库归档状态

--归档参数文件:dmarch.ini
select * from v$dm_arch_ini

数据 -> REDO日志缓冲区 -> REDO日志 -> 归档日志

查看数据库跟踪日志是否有打开(1 打开 0 未打开,默认为0)
cat dm.ini|grep SVR_LOG

逻辑存储结构
页-----簇------段-----数据文件-----表空间-----数据库
create tablespace "TBS_TEST_DATA" datafile '/dm8/data/DAMENG/TBS_TEST_DATA01.dbf' size 32 autoextend on next 10 maxsize 10240 cache=normal; --表空间创建
select para_name, para_value, para_type from v$dm_ini where para_name like '%MEMORY%'; --共享内存参数查询

select para_name, para_value, para_type from v$dm_ini where para_name like '%BUFFER%'; --共享内存参数查询

SP_SET_PARA_VALUES(SCOPE,PARA_NAME,PARA_VALUE)
sp_set_para_value(2,'KEEP',12);

select file_name, file_id, status, tablespace_name, bytes/1024/1024 from dba_data_files where tablespace_name='TEST2';
alter tablespace test offline;
alter tablespace test2 rename datafile '/dm8/data/DAMENG/TEST2_01.DBF' to '/dm8/TEST2_01.DBF';
sp_set_para_value(1,'PWD_POLICY',7);
alter tablespace test online;

/** 权限相关系统字典表 */
DBA_ROLE_PRIVS --角色权限
DBA_SYS_PRIVS --系统权限
DBA_TAB_PRIVS --对象权限
DBA_USERS --
SYSUSERS --
alter user test account unlock; --解锁
revoke manager from test4;

select * from v$dm_ini where para_name like '%MAX%'

merge into test.t11 using test.t21 on (test.t11.c1=test.t21.c1)
when matched then update set test.t11.c2=test.t21.c2
when not matched then insert (c1,c2) values(test.t21.c1,test.t21.c2);

备份
./dexp SYSDBA/SYSDBA file=/home/dmdba/full.dmp log=/home/dmdba/dmhr.log;
./dexp SYSDBA/SYSDBA file=/home/dmdba/full.dmp log=/home/dmdba/dmhr.log schemas=dmhr;
./dexp SYSDBA/SYSDBA file=/home/dmdba/full.dmp log=/home/dmdba/dmhr.log owner=abc;
./dexp SYSDBA/SYSDBA file=/home/dmdba/emp.dmp log=/home/dmdba/emp.log tables=emp;

还原
./dimp sysdba/SYSDBA file=/home/dmdba/emp.dmp tables=emp;
注意:字符集一致
select unicode; 0 gb18030, 1 utf8

物理备份(脱机、联机)
脱机备份:
1、数据库关闭
2、Dmap服务是打开
3、控制台打开

./DmServiceDMSERVER stop
./DmAPService status|start
./dmrman
RMAN>backup database '/dm8/data/DAMENG/dm.ini';
问题:备份到那里去了?
默认备份路径:
BAK_PATH=/dm8/data/DAMENG
RMAN> backup database '/dm8/data/DAMENG/dm.ini' backupset '/dm8/back'
cd /dm8/data/DAMENG/

RMAN> restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/back/'

RMAN> recover database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/back'

RMAN> recover database '/dm8/data/DAMENG/dm.ini' update db_magic

联机备份:
1、数据库打开
./DmDMServer start
2、开归档 (relog副本)
alter database mount; --切换到配置模式
alter database add archivelog 'dest=/dm8/arch,type=local,file_size=64,space_limit=0';--配置归档
alter database archivelog; --开启归档
alter database open;--打开数据库
3、Dmap打开
备份:数据库、表空间、表、归档

关闭客户端执行SQL>select checkpoint(100);
SQL>backup database;
SQL>backup tablespace dmhr;
SQL>backup table emp;
SQL>backup archivelog;

还原:
./console
注意:达梦的数据库还原及表空间要数据库是关闭的,还原表不需要关闭

注意备份设计:物理备份+逻辑备份结合。完全备份+增量备份的结合。

SQL>desc sysjob.sysjobhistories;

JDBC:
private static String url="jdbc:dm://192.168.3.101:5236";
private static username="SYSDBA";
private static password="SYSDBA";
生成字节码
/dm8/jdk/bin/javac /home/dmdba/Test.java
/dm8/jdk/bin/java -Xbootclasspath/a:/dm8/drivers/jdbc/DmJdbcDriver18.jar Test

ODBC(rpm,源码安装)
源码://usr/local/etc/
解压 tar -xf unixODBC-2.3.0.tar.gz
./configure
make
make install
配置DSN(连接串)
配置驱动

cd /usr/local/etc/odbc.ini

配置驱动odbcinst.ini

删除归档日志
select name,id from v$ifun t where name like '%ARCHIVE%'; --删除归档
select * from v$ifun_arg where id in (1461,3005);

--删除三天之前的归档日志
select sf_archivelog_delete_before_time(sysdate-3);

删除备份
DM8备份与还原 3.2.4.3.备份集校验与删除

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服