如何备份数据

1、如何备份恢复数据库
1) 导出数据
dbexport qqscp -o exportpath
//qqscp是数据库名
//exportpath是保存路径执行完后,会在exportpath下生成dbexport.out文件和qqscp.exp目录。
qqscp.exp下存放的是表述据(unl结尾的文件)和表结构(sql结尾的文件)
unl的文件内容格式和用dbaccess的unload导出来的一样。unl的文件名规则是“原表名前五位(不足五位的在后面补_)+五位tabid(数据库定义的表的唯一标识符,不足五位的在前面补0)+.unl”
sql文件内容格式如下
{ DATABASE qqscp delimiter | }
grant dba to "qqscp";
{ TABLE "qqscp".abnormalcharge row size = 218 number of columns = 16 index size =135 }
{ unload file name = abnor00100.unl number of rows = 0 }
create table "qqscp".abnormalcharge
(
streamnumber serial not null ,
primary key (streamnumber)
);
revoke all on "qqscp".abnormalcharge from "public";
。。。
grant select on "qqscp".abnormalcharge to "public" as "qqscp";
。。。
2) 导入数据
dbaccess <<!
drop database qqscp
! //执行前要删掉原数据库
dbimport qqscp -d workdbs -l buffered -i exportpath //qqscp是新建的数据库名。
//exportpath是和dbexport中的一样

如果导入的数据库名和导出的不一样,如新数据库为jpscp,那就要
<1>将qqscp.exp目录改名为jpscp.exp
<2>jpscp.exp下的qqscp.sql改名为jpscp.sql
<3>替换jpscp.sql第一行中的qqscp为jpscp
如果连创建数据库的用户名(数据库宿主名)都不一样,那就要
<4>替换jpscp.sql中,第一行以外所有的qqscp为新的用户名(如jpscp用户登陆就改成jpscp)
替换方法 sed 's/qqscp/jpscp/g' jpscp.sql >! jpscp.txt
rm jpscp.sql
mv jpscp.txt jpscp.sql
如有数据库名不是jpscp可手工修改第一行的数据库名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值