温馨提示×

Linux Informix如何建库

小樊
53
2026-07-05 16:04:55
栏目: 智能运维

在 Linux 上的 IBM Informix 中,“建库”通常指 创建一个数据库(database)。下面按最常见、规范的流程给你说明,并附上示例。


一、前提条件(先确认)

  1. Informix 已安装并运行
onstat -g

看到 On-Line 表示数据库实例已启动。

  1. 环境变量已设置 通常如下(以 informix 用户为例):
export INFORMIXDIR=/opt/informix
export INFORMIXSERVER=ol_informix
export PATH=$INFORMIXDIR/bin:$PATH
export ONCONFIG=onconfig.ol_informix

二、创建数据库(最常见方式)

1️⃣ 使用 dbaccess 创建(推荐)

dbaccess

进入菜单后:

  1. 选择 Query-language
  2. 选择 New
  3. 输入 SQL:
CREATE DATABASE testdb
WITH LOG;

✅ WITH LOG:支持事务(推荐)
❌ 不加 WITH LOG:非日志数据库(不推荐生产)

执行后,数据库 testdb 就建好了。


2️⃣ 命令行直接创建(最常用)

dbaccess - -

然后输入:

CREATE DATABASE testdb WITH LOG;

或一行执行:

echo "CREATE DATABASE testdb WITH LOG;" | dbaccess -

三、指定 dbspace(生产环境推荐)

CREATE DATABASE testdb IN datadbs01 WITH LOG;

查看 dbspace:

onstat -d

四、创建用户并授权(重要)

1️⃣ 创建操作系统用户

useradd appuser
passwd appuser

2️⃣ 授权数据库权限

GRANT CONNECT TO appuser;
GRANT RESOURCE TO appuser;
GRANT DBA TO appuser;   -- 谨慎

或使用角色:

GRANT CONNECT TO appuser;

五、验证数据库是否创建成功

dbaccess testdb -
SELECT DBNAME FROM sysmaster:sysdatabases;

或:

onstat -d

六、常见建库参数说明

参数 说明
WITH LOG 开启事务日志(推荐)
BUFFERED LOG 缓冲日志
IN dbspace 指定存储位置
NLSCASE INSENSITIVE 不区分大小写

示例:

CREATE DATABASE testdb
IN datadbs01
WITH BUFFERED LOG
NLSCASE INSENSITIVE;

七、删除数据库(慎用)

DROP DATABASE testdb;

八、常见问题

❓ 提示 No such dbspace

onstat -d

确认 dbspace 存在,或先创建 dbspace。

❓ 权限不足

确认使用 informix 用户或已授权用户。


九、总结(最简流程)

su - informix
onstat -g
dbaccess - -
CREATE DATABASE testdb WITH LOG;

如果你需要:

  • 建表
  • 建 dbspace
  • 字符集/中文支持
  • Informix 11 / 12 / 14 差异
  • Docker Informix 建库

可以继续问,我可以按你的版本详细讲。

0 踩