目录
一、归档
1、作用:
REDO日志(即数据库中进行增、删、改等操作的写入)记录到联机日志文件(至少两个,循环写入DAMENG01.log和DAMENG02.log中),然后异步写入归档日志文件中(arch路径可自定义);便于系统根据归档日志中的记录恢复到故障发生的前一刻,有利于保障系统的安全性;
2、方式:
①管理工具
再次打开管理服务器
完成后在系统管理中恢复到打开状态即可
②命令行
./disql SYSDBA/SYSDBA:5236
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间: 11.671(毫秒)
disql V8
SQL> alter database mount;
操作已执行
已用时间: 00:00:01.822. 执行号:0.
SQL> alter database archivelog;
操作已执行
已用时间: 15.401(毫秒). 执行号:0.
SQL> alter database add archivelog 'dest=/dm/data/DAMENG/arch,type=local,file_size=1024,space_limit=2048';
操作已执行
已用时间: 10.479(毫秒). 执行号:0.
SQL> alter database open;
操作已执行
已用时间: 00:00:01.810. 执行号:0.
SQL> exit;
二、备份(前提是开启归档)
1、物理备份与还原
(即对数据文件、控制文件和日志文件等的备份)
① 管理工具备份
②恢复
(通过控制台工具还原恢复,关闭数据库确保dmap服务开启)
还原成功
恢复成功
DB_MAGIC更新成功
③命令行备份
全备:
backup database full to "DB_DAMENG_FULL_2021_02_19_17_15_32" backupset 'D:\达梦\data\DAMENG\bak\DB_DAMENG_FULL_2021_02_19_17_15_32';
增备:基于该备份目录下最近一次备份做增备命名为increment_bak01
backup database increment WITH backupdir 'D:\达梦\data\DAMENG\bak\' to increment_bak01;
④命令行还原恢复(通过dmrman还原恢复,关闭数据库确保dmap服务开启)
[dmdba@localhost bin]$ ./dmrman
dmrman V8
RMAN> restore database '/dm/data/DAMENG/dm.ini' from backupset '/dm7/data/DAMENG/bak/bak01';
RMAN> recover database '/dm7/data/DAMENG/dm.ini' from backupset '/dm7/data/DAMENG/bak/bak01';
RMAN> recover database '/dm7/data/DAMENG/dm.ini' update DB_MAGIC;
RMAN> exit;
2、逻辑备份与还原、导出导入
(对数据库逻辑组件表、视图和存储过程等数据库对象的备份)
①管理工具备份导出
②管理工具恢复导入
③命令行备份导出
[dmdba@localhost bin]$ ./dexp SYSDBA/SYSDBA:5236 SCHEMAS=BANG DIRECTORY=D:\达梦\bak FILE= imp_exp.dmp COMPRESS=y PARALLEL=16 FEEDBACK=10000 LOG_WRITE=y
④命令行还原导入
./dimp SYSDBA/SYSDBA:5236 DIRECTORY=D:\达梦\bak FILE=imp_exp.dmp IGNORE=N COMPILE=Y INDEXFIRST=N TABLE_FIRST=N COMMIT_ROWS=5000 FAST_LOAD=N REMAP_SCHEMA="DMOA":"DMOA" FEEDBACK=10000 LOG=imp_2021_02_20_10_40_59.log LOG_WRITE=Y
三、作业
(一般都通过管理工具实现)
1、定时备份(创建代理环境)
DDL:
call SP_CREATE_JOB('FULL_BAK',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('FULL_BAK');
call SP_ADD_JOB_STEP('FULL_BAK', 'FULL_BAK', 6, '01000000D:\达梦\data\DAMENG\bak', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('FULL_BAK', 'FULL_BAK', 1, 2, 1, 126, 0, '11:10:01', NULL, '2021-02-20 11:10:01', NULL, '');
call SP_JOB_CONFIG_COMMIT('FULL_BAK');
2、定时清理备份
SP_DB_BAKSET_REMOVE_BATCH(NULL,SYSDATE-30); 一般设为每天执行;
3、定时清理归档
基本同上,sql脚本为:SF_ARCHIVELOG_DELETE_TIME(NULL,SYSDATE-30);
4、查看作业历史记录
四、常用sql
–查询数据库版本
select * from v$version;
–查询授权信息
select * from v$license;
–查询服务器信息
select * from V$SYSTEMINFO;
–查询会话连接信息
select * from v$sessions;
select count(*),state from v$sessions group by state;
select count(*),clnt_ip from v$sessions group by clnt_ip;
–查看数据库服务器配置参数
select * from v$dm_ini;
–查询最近的sql执行记录
select * from v$sql_history;
–查询某个用户下所有的表
select * from user_tables; --查询当前用户下所有的表
select * from all_tables where owner=’TEST’;
–dba用户查询某个模式下的所有表
–查询某个用户下所有表字段
select * from all_tab_cols where owner=’TEST’;
–查看表注释
select * from ALL_TAB_COMMENTS where ower=’TEST’;
–查看字段注释
select * from ALL_COL_COMMENTS where ower=’TEST’;
————————————————————————————————
SP_SET_PARA_VALUE(1,'SVR_LOG',1);--开启日志记录
SP_SET_PARA_VALUE(1,‘SVR_LOG’,0);--关闭日志记录