• Firebird shadow


    火鸟数据库的shadow,即实时镜像。

    主库发生变化,shadow也跟随变化,防止任何意外造成主库损坏无法使用,当然shadow可以有多个。

    1、创建shadow的准备:修改Firebird.conf配置文件,追加一个数据库目录 DatabaseAccess = Restrict db; shadow 

    我这里安装目录下db目录是数据库主目录,shadow目录作为镜像目录。这两个目录是平级的,不存在shadow目录必须放镜像的误导,

    只是目录命名为了放置镜像数据库。因为镜像shadow数据库不能随便指定目录。

    2、创建shadow镜像的脚本: create shadow 1 'C:Program FilesFirebirdFirebird_3_0shadow est.sd1'; 

    提交事务后,会在shadow目录下生成 test.sd1的镜像数据库文件,且和主库保持同步。

    可以根据需要生成多个镜像库。

    3、确认镜像库是激活状态:

    打开isql命令行,连接test数据库: connect test user sysdba password 1234; 

    连接成功后,输入命令显示当前数据库的信息: show database; 即显示以下,则说明镜像库test.sd1正常。

    Database: test
            Owner: SYSDBA
     Shadow 1: "C:PROGRAM FILESFIREBIRDFIREBIRD_3_0SHADOWTEST.SD1" auto
    PAGE_SIZE 16384
    Number of DB pages allocated = 8179
    Number of DB pages used = 180
    Number of DB pages free = 7999
    Sweep interval = 20000
    Forced Writes are ON
    Transaction - oldest = 22605
    Transaction - oldest active = 23455
    Transaction - oldest snapshot = 23455
    Transaction - Next = 23484
    ODS = 12.0
    Database not encrypted
    Default Character set: UTF8

    4、删除其中一个shadow镜像,若不能直接删除,提示进程占用,重启Firebird服务,或关掉服务,直接将镜像文件删除即可。

    再次用isql命令查看,镜像已经删除。

    5、将镜像库shadow恢复设定为可连接活动库。假设主库损坏,关掉Firebird服务,将主库删掉,再将shadow镜像库重命名为原来库名称,

    再次开启Firebird服务即可使用。这时防止意外,需要再次为其设定shadow镜像库。

    最后,根据官方文档,在将镜像库设定为生产库时,需要命令 gfix -ac[tivate] <shadow_file_name> ,即 gfix -ac test.sd1 

    这样做可以,不操作也可,估计是以前版本必须这样做,我测试版本是V3.0.4 。

    若执行了 gfix -ac test.sd1 命令,即原来正常的镜像库test.sd1就取消去shadow身份了,再次查看test库信息时,shadow就没有了。

    激活镜像库的命令要小心,否则镜像从库就不能实时同步主库信息了。

    注:gfix.exe 即在安装目录下。

  • 相关阅读:
    class 关键字
    自适应Web主页
    前端跨域解决
    HTML5新增特性
    HTTP知识点【总结篇】
    针对Web应用的【攻击模式篇】
    HTTPS和HTTP
    HTTP状态码之【整理篇】
    SpringCloud配制eureka
    maven连接国内仓库
  • 原文地址:https://www.cnblogs.com/jonney-wang/p/9996536.html
Copyright © 2020-2023  润新知