DM7数据库及其表的备份还原是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
DM7 联机备份恢复
主要测试 :
1、不归档联机全备份
2、包含归档的联机全备份
3、不包含归档的联机全备恢复
4、包含归档的联机全备恢复
一、准备工作
联机备份必须处于归档模式下
--查看归档是否打开
select arch_mode from v$database;
--查看归档日志信息
select arch_name,arch_type,arch_dest from v$dm_arch_ini;
如果没有开启归档执行
alter database mount;
-- 配置归档参数,本质相当于更改 dmarch.ini 文件
alter database add archivelog 'DEST=C:\dmdbms\data\DAMENG\arc,TYPE=local,FILE_SIZE=128,space_limit=1024';
--将数据库设为归档模式
alter database archivelog;
alter database open;
二、测试数据
-- 创建表空间test_data(数据文件TEST_DATA01.DBF大小为50m)
create tablespace test_data datafile 'C:\dmdbms\data\DAMENG\TEST_DATA01.DBF' size 50;
-- 增加用户
create user "TESTUSER" identified by "111111" default tablespace "TEST_DATA";
-- 授权
grant "DBA" to "TESTUSER";
-- 创建模式
create schema test_sch authorization testuser;
-- 创建 表
create table test_sch.t1(id int primary key ,name varchar(20)) storage(on test_data)
-- 插入数据
insert into test_sch.t1 values(1,'aaa');
insert into test_sch.t1 values(2,'bbb');
-- 检索数据
select * from test_sch.t1;
三备份数据库
--不包含归档备份联机备份
-- 仅备份数据库,不备份日志
backup database full to dmbkname03_noarc bakfile 'C:\xcl\online_noarc\dmbkname03_noarc.bak' backupinfo '测试全库联机备份不包含归档' maxsize 50 without log ;
--插入一条数据区别包含归档联机备份
-- 插入数据
insert into test_sch.t1 values(3,'dmbkname03');
-- 检索数据
select * from test_sch.t1;
--包含归档的联机备份
-- 备份数据库,并包含日志
backup database full to dmbkname04 bakfile 'C:\xcl\online\dmbkname04.bak' backupinfo '测试全库联机备份' maxsize 50 ;
备份完成后从将服务停掉 删除或修改相对应的实例库
四恢复测试
在dos命令下对数据库进行恢复用
cd C:\dmdbms\bin
安装数据库的bin目录下进行恢复
第一,通过dminit重新初始化出一个和备份数据库相同的名字的库
第二. 执行恢复命令恢复.
--不包含归档的联机全备的恢复
初始化数据库
c:\dmdbms\bin>dminit.exe PATH=C:\dmdbms\data DB_NAME=DAMENG INSTANCE_NAM
--恢复数据库
-- 不包含归档
c:\dmdbms\bin> dmrestore ini_path=C:\xcl\dm.ini file=C:\xcl\online_noarc\dmbkname03_noarc.bak
--启动服务进入数据库查看回复结果
--包含归档的联机全备的恢复
--初始化数据库
dminit.exe PATH=C:\dmdbms\data DB_NAME=DAMENG INSTANCE_NAME=DMSERVER
-- 恢复数据库
- 数据库全库备份,并包含日志
dmrestore ini_path=C:\xcl\dm.ini file=C:\xcl\online\dmbkname04.bak
--启动服务进入数据库查看回复结果
注意 如果执行过程中发生大小写敏感问题请在初始化数据库后面加上
CASE_SENSITIVE=N
表空间的备份还原
一、准备工作
联机备份必须处于归档模式下
--查看归档是否打开
select arch_mode from v$database;
--查看归档日志信息
select arch_name,arch_type,arch_dest from v$dm_arch_ini;
如果没有开启归档执行
alter database mount;
-- 配置归档参数,本质相当于更改 dmarch.ini 文件
alter database add archivelog 'DEST=C:\dmdbms\data\DAMENG\arc,TYPE=local,FILE_SIZE=128,space_limit=1024';
--将数据库设为归档模式
alter database archivelog;
alter database open;
二测试数据
--创建表空间 初始表空间为50m 每次扩增5m
create tablespace XWJ datafile 'G:\ABC\XWJ.dbf' size 50 autoextend on next 5
--创建用户 用户名为zqq 密码 123456789 默认表空间xwj
create user zqq identified by 123456789 default tablespace XWJ
-- 创建表
create table zqq.app as select * from all_objects
--向表中添加数据
insert into zqq.app select * from zqq.app
--提交
commit;
三备份
backupset备份(表空间使用多少备份多少)(建议使用)
backup tablespace xwj full to zqq backupset 'g:\zqq\a'
备份结束后有停止服务修改或删除原有的表空间文件
bakfile备份
backup tablespace xwj full to zqq bakfile 'g:\zqq\a.bak'
四还原
重新启动服务登录dm管理工具
backupset还原
restore tablespace XWJ from backupset 'G:\zqq\a'
执行完成之后查看数据
bakfile还原
restore tablespace XWJ from 'g:\zqq\a.bak'
执行完成后查看数据
表空间的备份无法进行多余表空间的释放
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。