数据库实例的启停
#方法一
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.备份集校验与删除
文章
阅读量
获赞