您的位置:首页 > 数据库

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

2015-01-08 17:05 281 查看


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

 

(2012-04-18 05:35:29)


转载▼

标签: 


数据库

 


firebird

 


自带工具

 


命令行

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

创建数据库(ISQL):命令窗口执行下列命令,并在相应文件夹检查是否创建成功。

\bin>isql -u sysdba -p masterkey

SQL>CREATE DATABASE "x:\DATABASE\BSKY_DB.FDB";

编辑安装目录的“aliases.conf”文件,添加一行"BSKY_DB=X:\database\BSKY_DB.FDB"。

连接数据库:

\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';如图



ISQL的帮助:如图




创建并管理数据库元素(表、视图、触发器、域、索引等)

域:其实就是自己重新定义的数据类型,好处是容易阅读和统一修改。例:

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程序分发报表。等等。

数据库备份与恢复(GBAK.EXE):工具是bin目录下的GBAK.EXE;

先看看它自带的帮助(直接输入GBAK回车),如图。

BIN>GBAK




例子:

本地简单备份

\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

用户管理(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

其它工具:其它工具用的很少了。具体可以查看官网上的pdf手册。这里就不再说了(以后有机会再说吧。累了!)。 下一篇介绍强大的第三方工具 IBExpert。你会发现用开发时用这些命令行工具真的是找虐。当然,这些工具用于日常定时的备份、数据同步等成品数据库的管理还是很强大的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: