达梦:创建数据库

这篇博客讲述了在Linux环境下使用DBCA(Database Creation Assistant)创建数据库时遇到5236端口被占用的问题。作者通过切换用户、运行脚本和初始化过程来尝试建库,但端口冲突阻碍了进程。解决这个问题是博客的主要内容。

达梦数据库建库方式及端口占用问题处理

一、使用 DBCA 建库

图形化安装

1. 操作步骤

在 Linux 系统下,使用 DBCA(Database Configuration Assistant)工具创建达梦数据库,可按以下步骤操作:

# 切换到 root 用户
su -
# 查找 dbca.sh 脚本的位置
find / -name dbca.sh
# 切换到达梦数据库用户 dmdba
su - dmdba
# 执行 dbca.sh 脚本启动 DBCA 建库向导
/opt/dm8/tool/dbca.sh
2. 相关图示

以下是 DBCA 建库过程中的相关界面截图,展示了建库过程中的各个步骤和设置选项。
DBCA 建库界面 1
DBCA 建库界面 2

二、使用 dminit 建库

1. 相关图示

dminit 是达梦数据库的初始化工具,以下是使用 dminit 建库过程中的相关界面截图,展示了初始化过程中的信息输出和配置情况。
dminit 建库界面 1
dminit 建库界面 2
dminit 建库界面 3
dminit 建库界面 4
dminit 建库界面 5
dminit 建库界面 6
dminit 建库界面 7

三、端口占用问题

1. 问题描述

达梦数据库默认使用 5236 端口进行服务。但在实际建库过程中,可能会遇到 5236 端口已被其他应用程序占用的情况,导致数据库无法正常启动或初始化。

2. 解决方案

若遇到 5236 端口被占用,可通过以下步骤解决:

  • 确定占用端口的进程:使用 netstatlsof 命令查找占用 5236 端口的进程。例如,使用以下命令:
netstat -tulnp | grep 5236

lsof -i :5236

这些命令会显示占用 5236 端口的进程的 PID(进程 ID)和进程名称。

  • 停止占用端口的进程:根据查找到的 PID,使用 kill 命令停止该进程。例如:
kill -9 <PID>

其中 <PID> 是占用 5236 端口的进程的实际 PID。

  • 修改达梦数据库端口:如果无法停止占用端口的进程,或不想停止该进程,可以修改达梦数据库的监听端口。在使用 dminit 初始化数据库时,可以通过指定 PORT_NUM 参数来设置新的端口号。例如:
/opt/dm8/bin/dminit PATH=/opt/dm8/data DB_NAME=TEST INSTANCE_NAME=TEST PORT_NUM=5237

上述命令将数据库的端口号设置为 5237。使用 DBCA 建库时,在配置过程中也可以指定新的端口号。

dbca 和 dminit ?

在达梦数据库(DMDBMS)中,dbcadminit 的功能和用途有所不同,不能简单地等同于“建库”和“建实例”。以下是详细解释:

1. dbca(Database Configuration Assistant)

dbca 是达梦数据库提供的 数据库配置助手,主要用于 创建和管理数据库实例。它是一个图形化工具,也可以通过命令行运行,功能非常强大,包括但不限于:

  • 创建数据库实例:可以指定数据库的名称、实例名、端口号、存储路径、初始化参数等。
  • 配置数据库参数:包括页大小、簇大小、字符集、大小写敏感等。
  • 创建示例数据库:用于测试和演示。
  • 注册服务:将数据库实例注册为系统服务,方便启动和停止。
  • 修改数据库配置:对已有的数据库实例进行重新配置。

2. dminit(DM INIT)

dminit 是一个命令行工具,用于 初始化数据库实例。它主要用于设置数据库的基本参数和初始化文件系统,具体功能包括:

  • 初始化数据库实例:创建数据库的物理文件(如数据文件、日志文件、控制文件等)。
  • 设置初始化参数:如页大小、簇大小、字符集、大小写敏感等。
  • 指定存储路径:指定数据库文件的存放位置。

3. 区别与联系

  • 功能上的区别
    • dbca 是一个 全面的数据库配置工具,功能更强大,支持图形化操作,适合创建和管理数据库实例。
    • dminit 是一个 基础的初始化工具,主要用于初始化数据库实例,功能相对简单,主要通过命令行操作。
  • 使用场景的区别
    • dbca 通常用于 创建新的数据库实例,并且可以配置更多的参数和选项。
    • dminit 通常用于 初始化数据库实例,在某些情况下也可以用于重新初始化已有的实例。

4. 你的理解

你提到的“dbca 建库,dminit 建实例”可以部分理解为:

  • dbca:用于 创建和配置数据库实例,包括初始化数据库文件和设置参数。
  • dminit:用于 初始化数据库实例,主要关注数据库文件的创建和基础参数的设置。

但从严格意义上讲,dbcadminit 的功能有重叠,但 dbca 的功能更全面,dminit 更基础。

5. 示例

使用 dbca 创建数据库实例
su - dmdba
cd /home/dmdba/dmdbms/tool
./dbca.sh

在图形化界面中,你可以选择创建数据库实例、设置参数、注册服务等。

使用 dminit 初始化数据库实例
su - dmdba
cd /home/dmdba/dmdbms/bin
./dminit path=/dmdata/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER PORT_NUM=5237

此命令用于初始化数据库实例,创建数据库文件,并设置基本参数。

总结

  • dbca:用于创建和管理数据库实例,功能全面,支持图形化操作。
  • dminit:用于初始化数据库实例,功能基础,主要通过命令行操作。

你的理解有一定的合理性,但需要注意它们的功能和使用场景的区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值