Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15164375
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: 数据库开发技术

2008-05-28 14:52:33

数据库的安全(备份/回存)(console)

GBAK:命令列工具,命令有两个状态,备份/回存(-b / -c)

语法
gbak -user -password
1.备份
gbak -b  是你要备份的数据库来源, 是备份的目的地档名.一般的延伸附檔名 .fbk .
只有SYSDBA 或是数据库的拥有者可以执行备份工作. 对于多个档案的数据库,只需指定第一个档案的名称来当数据库的名称.
2.回存
gbak -c  是先前备份的档案而 是数据库的名称


选项

(中括号内的是非必要,也就是命令可以使用中括号前的缩写,或是含中括号内为长参数)

参数

说明

功能

-b[ackup_database] 

备份

备份

-bu[ffers]

Set cache size for restored database

回存

-c[reate_database]

回存 (必要参数)

回存

-co[nvert]

转换外部表格到内部表格s

备份

-e[xpand]

建立一个非压缩的备份

备份

-fa[ctor] n

磁带机的区块系数

备份

-g[arbage collect]

备份时不清空已删除的数据

备份

-i[nactive]

所有的索引将回存为INACTIVE

回存

-ig[nore]

备份时不做checksum错误检查

备份

-k[ill]

在不建立定义备份中的shadows

回存

-l[imbo]

备份时忽略limbo transactions

备份

-m[etadata]

只备份数据表格的metadata (schema).备份资料

备份

-mo[de] read_write 

回存一个 可读/写的数据库(预设)

回存

-mo[de] read_only

回存一个只读写数据库

回存

-n[o_validity]

不回存validity constraints.也就是回存数据不回存 constraints

回存

-nt

非兼容性的格式(只使用在相同作业平台,firebird版本)

备份

-o[ne_at_a_time]

一次回存一个表格.你可以分别分次回存表格 

回存

-ol[d_descriptions]

旧的格式

备份

-p[age_size]

设定page size of new database.
  可以是 1024, 2048, 4096, 8192.预设1024. 

回存

-pa[ssword]

数据库的密码

 

-r[eplace_database]

回存在一个存在的数据库上.只能在拥有本数据库的使用者可以操作
是覆写,不要执行在使用中的数据库!

回存

-role

使用某一群组(role )来联机

 

-se[rvice:service_mgr

备份: 建立,使用服务管理.
回存: 回存,使用服务管理.

 

-t[ransportable]

建立可转移的备份(不同操作系统及firebird版本)

备份

-u[ser]

数据库使用者的名字 

 

-use_[all_space]

正常,回存,数据库页会填满80%
只读才会写回100%(因为不用预留修改的空间)

回存

-v[erbose]

显示所有gbak执行的详细动作 

 

-y

导所有的输出到一个档案 .
注意:命令执行之前不可以存在档名

 

-y suppress_output

Quiet mode 

 

-z

显示版本

 

范例:

正常的备份:
gbak -v -t -user SYSDBA -password "masterkey" dbserver:/db/warehouse.fdb c:\backups\warehouse.fbk

备份并记录所有备份时的输出讯息:
gbak -v -t -user SYSDBA -password masterkey -y c:\backups\warehouse.log dbserver:/db/warehouse.fdb c:\backups\warehouse.fbk

正常的回存:
gbak -c -v -user SYSDBA -password masterkey c:\backups\warehouse.fbk dbserver:/db/warehouse2.fdb

回存到一个已存在的数据库:
gbak -c -r -v -user SYSDBA -password masterkey c:\backups\warehouse.fbk dbserver:/db/warehouse.fdb

回存一个只读的数据库:
gbak -c -v -mode read_only -use_all_space -user SYSDBA -password masterkey c:\backups\warehouse.fbk c:\files\warehousedb.fdb

多重档案备份
当数据库很大时,要备份有点困难,因此我们将数据库备份成许多小的档案,如此储存时比较方便

备份语法:
gbak [options] ...

注意: 不要指定最后一个档案的大小.因我们不一定知道最后一个档案需要多少空间来储存,所以它将自动依据大小来储存.至于其它档案的大小可以是 bytes (8192), kilbytes (1024k), megabytes (5m), gigabytes (2g)

回存语法:
gbak -c [options] ...

回存到一个多个档案的数据库

有些系统的档案系统有限制,或是为了效能的因素,因此单一数据库,可分成多个小的数据库

gbak -c [options] ...

注意:不要指定最后数据库的大小.它可以无限制的依据回存的档案来变更大小.
Size can be given in bytes (8192), kilbytes (1024k), megabytes (5m), or gigabytes (2g)

由备份多个档案回存到多个档案的数据库:
gbak -c [options] ... ...


 

阅读(426) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~