温馨提示×

Linux Informix如何创建库

小樊
48
2026-08-27 02:53:57
栏目: 智能运维

Linux 上的 IBM Informix 中,“创建库”通常指的是 创建数据库(database)。下面按常见场景给你一个完整说明。


一、前提条件

  1. Informix 已安装并运行

    onstat -
    

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

  2. 环境变量已设置 常见环境变量(示例):

    export INFORMIXDIR=/opt/informix
    export INFORMIXSERVER=ol_informix
    export ONCONFIG=onconfig.ol_informix
    export PATH=$INFORMIXDIR/bin:$PATH
    
  3. 使用具备 DBA 权限的用户

    • informix
    • 或具有 DBA 权限的用户

二、使用 dbaccess 创建数据库(最常用)

1️⃣ 进入 dbaccess

dbaccess

2️⃣ 创建数据库

方式一:交互式

  1. 选择:Query-language
  2. 选择:New
  3. 输入 SQL:
    CREATE DATABASE mydb;
    
  4. 执行(按 ESCRun

方式二:直接执行

dbaccess - -

然后输入:

CREATE DATABASE mydb;

或:

dbaccess - <<EOF
CREATE DATABASE mydb;
EOF

三、CREATE DATABASE 常见参数说明

1️⃣ 指定 dbspace

CREATE DATABASE mydb IN datadbs1;

把数据库创建到指定 dbspace(推荐)

2️⃣ 指定日志模式(非常重要)

类型 说明
WITHOUT LOG 无事务日志(默认)
WITH LOG 缓冲日志
WITH LOG MODE ANSI 标准 ANSI 事务

生产环境推荐

CREATE DATABASE mydb WITH LOG MODE ANSI;

CREATE DATABASE mydb WITH LOG;

四、使用 SQL 命令直接创建(脚本方式)

dbaccess - - <<EOF
CREATE DATABASE mydb
WITH LOG
IN datadbs1;
EOF

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

dbaccess - -
DATABASE mydb;
SELECT DBINFO('dbname') FROM systables WHERE tabid = 1;

或:

onstat -d

查看 dbspace 使用情况。


六、常见错误与解决

❌ 1. Database already exists

DROP DATABASE mydb;

⚠️ 会删除所有数据,慎用


❌ 2. No dbspace specified

CREATE DATABASE mydb IN datadbs1;

❌ 3. 权限不足

确保是 informix 用户或具有 DBA 权限


七、补充说明

  • Informix 中 “库” = 数据库
  • 一个实例可包含多个数据库
  • 数据库 ≠ dbspace(dbspace 是存储容器)

如果你需要:

  • ✅ 创建 用户并授权
  • ✅ 创建 表空间 / dbspace
  • ✅ 做 生产环境规范示例

可以直接告诉我你的 Informix 版本(如 12.10 / 14.10)和使用场景。

0