用firebird自带的工具的管理数据库

firebird数据库安装包自带了一套命令行工具,用这些工具能完成所有所需的管理工作,但使用起来(特别是开发阶段)并不是很方便,效率也不高.但免费且功能强大,下面分别介绍:firebird自带的命令行工具都在安装文件夹的\bin下。Windows8下按Win键+x,选择命令提示符(管理员),进入\bin目录.

  1. 创建数据库(ISQL):命令窗口执行下列命令,并在相应文件夹检查是否创建成功。
    • \bin>isql -u sysdba -p masterkey
      SQL>CREATE DATABASE "x:\DATABASE\BSKY_DB.FDB";
    • 编辑安装目录的“aliases.conf”文件,添加一行"BSKY_DB=X:\database\BSKY_DB.FDB"。
  2. 连接数据库:
    • \SQL>CONNECT '127.0.0.1:x:\DATABASE\BSKY_DB.FDB' USER 'SYSDBA' PASSWORD 'masterkey';
      或 CONNECT '127.0.0.1:BSKY_DB' USER 'SYSDBA' PASSWORD 'masterkey';如图用firebird自带的工具的管理数据库
  3. ISQL的帮助:如图
    用firebird自带的工具的管理数据库
  4. 创建并管理数据库元素(表、视图、触发器、域、索引等)
    • 域:其实就是自己重新定义的数据类型,好处是容易阅读和统一修改。例:
      • SQL>CREATE DOMAIN EMAIL_ADDRESS AS
        CON>VARCHAR(255) CHARACTER SET NONE
        COLLATE NONE;
      • CREATE DOMAIN KEY_ID AS INTEGER NOT NULL;
      • CREATE DOMAIN KEY_NAME AS VARCHAR(40) CHARACTER SET NONE COLLATE NONE;
      • SQL>CREATE DOMAIN NORM_BLOB AS BLOB SUB_TYPE 0 SEGMENT SIZE 80;
      • 显示域:
        SQL>SHOW DOMAINS;
        EMAIL_ADDRESS   KEY_ID
        KEY_NAME  NORM_BLOB
    • 表:用域来创建表比直接用原始数据类型方便以后管理。比如以后“KEY_NAME”这类类型,字串长度改变,只需要改变域“KEY_NAME”的定义,所有表格中用域"KEY_NAME"定义的字段的类型都自动改变了,而不需要一个个去更改。
      • SQL>CREATE TABLE YS_STAFF (
        CON>STAFFID  KEY_ID NOT NULL ,
        CON>STAFFNAME  KEY_NAME ,
        CON>STAFF_OPTION  NORM_BLOB
        CON>);
      • 设置表的主键:
        SQL>ALTER TABLE YS_STAFF ADD CONSTRAINT PK_YS_STAFF_1 PRIMARY KEY (STAFFID);
      • 显示表格:
        SQL>SHOW TABLES;
        YS_STAFF
    • 就不一一举例了,具体的可以查看官网上的pdf手册或SQL语言手册。
    • OUTPUT <FILENAME>:将输出结果写进指定文件,这是一个很有用的功能。
    • edit:默认打开写字板。编辑后保存退出即可执行写字板语句。
    • shell:执行os的命令。这样就能在方便编写自动日常处理功能。比如用output filename 产生报表,调用外部程序rar.exe 压缩备份.调用ftp程序分发报表。等等。
  5. 数据库备份与恢复(GBAK.EXE):工具是bin目录下的GBAK.EXE;
    • 先看看它自带的帮助(直接输入GBAK回车),如图。
      BIN>GBAK
      用firebird自带的工具的管理数据库
    • 例子:
      • 本地简单备份
        \bin>gbak -b -user "SYSDBA" -password "masterkey" Z:\database\firebird\BSKY_DB.FDB p:\back\firebird\BSKY_DB.FBK
      • 本地简单恢复
        \bin>gbak -b -user "SYSDBA" -password "masterkey"  p:\back\firebird\BSKY_DB.FBK Z:\database\firebird\BSKY_DB.FDB
      • 本地备份到多卷并保存备份日志:
        \bin>gbak -b  Z:\database\firebird\BSKY_SYS.FDB p:\back\firebird\BSKY_SYS.FB1 2m p:\back\firebird\BSKY_SYS.FB2 2m p:\back\firebird\BSKY_SYS.FB3 -user "SYSDBA" -password "masterkey" -v -y p:\back\firebird\BSKY_SYS.20120418.log
      • 本地从多卷恢复
        \bin>gbak -c   p:\back\firebird\BSKY_SYS.FB1 2m p:\back\firebird\BSKY_SYS.FB2 2m p:\back\firebird\BSKY_SYS.FB3 Z:\database\firebird\BSKY_SYS.FDB -user "SYSDBA" -password "masterkey" -v -y p:\back\firebird\BSKY_SYS.20120418.log
      • 从远程备份服务器:firebird本身提供的fbsvcmgr方式感觉很难用。后来自己写了一个服务(以后会讲到)。原理就是远程控制这个服务,服务控制本地gbak.exe
  6. 用户管理(gsec.exe):工具是bin目录下的gsec.exe
    • 自带的帮助
      \bin>gsec -help
    • 新增使用者
      gsec -user sysdba -password masterkey
      gsec> add Puser -pw 1111 -fname 普通用户 -lnmae 普通用户
    • 修改密码
      gsec> modify Puser -pw 123456
    • 修改sysdba密码
      gsec -user sysdba -password masterkey -modify sysdba -pw 123456
    • 修改远程服务器sysdba密码
      gsec -user sysdba -password masterkey -database beysky.com:"Z:\database\firebird\BSKY_DB.FDB" -modify sysdba -pw 666666
    • 修改远程服务器ip( beysky.com)使用tcp  port 3838
      gsec -user sysdba -password masterkey -database beysky.com/3050:"Z:\database\firebird\BSKY_DB.FDB  -modiyf sysdba -pw 383838
    • 删除本地使用者
      gsec -user sysdba -password masterkey -delete Puser
  7. 其它工具:其它工具用的很少了。具体可以查看官网上的pdf手册。这里就不再说了(以后有机会再说吧。累了!)。 下一篇介绍强大的第三方工具 IBExpert。你会发现用开发时用这些命令行工具真的是找虐。当然,这些工具用于日常定时的备份、数据同步等成品数据库的管理还是很强大的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值