Firebird数据库
Firebird数据库语言参考-镜像库
2016-06-14 14:51:40

 

镜像库是一个精确的,一页页的数据库副本。一旦创建了一个镜像库,数据库在做的所有更改会立即反映到在镜像库中。因为某种原因如果主数据库文件变得不可用,DBMS将切换到镜像库。

 

本节描述如何创建和删除文件的镜像库。

 

创建镜像库CREATE SHADOW

 

作用:为当前的数据库创建镜像库
用于: DSQL, ESQL
语法:

 



 




 

表 5.3. CREATE SHADOW 语句参数

 

CREATE SHADOW语句创建一个新的镜像库.镜像库从被创建的那一刻即开始复制数据库。一个用户连接到一个镜像库,这是不可能的。

像一个数据库,一个镜像库可能是多文件。镜像库文件的数量和大小与该数据库的文件的数量和大小没有关联,它是影子。

 

镜像库文件的页面大小设置为等于数据库页面大小,不能更改。

 

如果灾难发生涉及原始数据库,系统将镜像库转换为数据库的副本并切换它。镜像库在那时是不可用的。接下来会发生什么取决于MODE选项。

 

 

当镜像库转换为一个数据库时,它变得不可用。因为某人意外删除的文件,一个镜像库或者可能变得不可用,或镜像库文件的存储位置的磁盘空间用尽或本身损坏。

 

•如果AUTO模式被选择(默认值),镜像库会自动停止,对它的所有的引用被删除从数据库头且数据库继续正常运作。
如果设置了条件选项,系统将尝试创建一个新的镜像库来替换丢失的一个。然而,它并不总是成功,一个新的可能需要手动创建。

 

•如果手动模式属性被设置当镜像库变得不可用,所有试图连接到数据库和查询将产生错误消息。数据库将保持不可存取直到镜像库再次变成有效或数据库管理员使用DROP SHADOW语句删除它。如果连续跟踪比数据库不间断操作更重要,那么手动应模式应被选择.

 

CREATE SHADOW选项

 

LENGTH选择:子句中指定主要或次要的镜像库文件的最大分页数大小
LENGTH值不影响单个镜像库文件的大小,也不影响最后的一卷。最后的文件将自动增加的大小,只要它是必要的。

 

STARTING AT:子句指定镜像库页码,用于指定下一个镜像库文件应该开始的页。当前一个的文件充满的数据达指定的页码,系统将启动到下一个镜像库文件添加新数据,

仅有管理员有权限使用 CREATE SHADOW.

 


 

使用CREATE SHADOW的例子:

 

1.为当前数据库创建一个镜像库"shadow number 1":

 

2.为当前数据库创建一个多文的镜像库"shadow number 2":



 

参阅: CREATE DATABASE, DROP SHADOW