1.确保已安装Docker

可参考:Linux安装Docker-CSDN博客

2.上传dm镜像并导入安装包

可以从:产品下载 | 达梦数据库下载dm镜像,如下图:

docker load -i dm8_20230808.tar

3.导入后查看镜像

docker images 

4.启动容器

docker run -d -p 5236:5236 --restart=always --name dm8 --privileged=true \

-e PAGE_SIZE=16 \

# -e LD_LIBRARY_PATH=/opt/dmdbms/bin \

-e CASE_SENSITIVE=0 \

-e EXTENT_SIZE=32 \

-e BLANK_PAD_MODE=1 \

-e LOG_SIZE=1024 \

-e UNICODE_FLAG=1 \

-e LENGTH_IN_CHAR=1 \

-e INSTANCE_NAME=dm8 \

-v /home/data/dm8:/opt/dmdbms/data dm8_single:dm8_20230808_rev197096_x86_rh6_64 

使用 -e 命令指定数据库初始化参数时,需要注意的是 页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive,为0表示不敏感)、字符集 (UNICODE_FLAG) 、VARCHAR 类型以字符为单位 (LENGTH_IN_CHAR)、空格填充模式 (BLANK_PAD_MODE) 、页检查模式(PAGE CHECK) 等部分参数 

注意

1.如果使用 docker 容器里面的 disql,进入容器后,先执行 source /etc/profile 防止中文乱码。
2.新版本 Docker 镜像中数据库默认用户名/密码为 SYSDBA/SYSDBA001。

可以使用 docker inspect dm8ENV模块的密码

5.Linux 登录 disql

5.1进入容器(因为是使用docker部署的)

 docker exec -it dm8 /bin/bash

5.2进入数据库软件安装目录的 bin 目录下

 cd /opt/dmdbms/bin

5.3登陆数据库

./disql SYSDBA/SYSDBA001@服务器ip:5236 

6.常用命令

创建表空间 OA,文件为 OA.DBF,大小 128 MB

CREATE TABLESPACE OA DATAFILE 'OA.DBF' size 128;

创建用户 OA,密码 aaaaaaaaa,默认表空间和索引表空间均为

OA CREATE USER OA IDENTIFIED by aaaaaaaaa DEFAULT TABLESPACE OA DEFAULT INDEX TABLESPACE OA;

授权 VIT 权限给 OA GRANT VTI TO OA;

授权 PUBLIC 权限给 OA GRANT PUBLIC TO OA;

授权 RESOURCE 权限给 OA GRANT RESOURCE TO OA;

修改用户OA的密码为bbbbbbbbb ALTER USER OA IDENTIFIED BY bbbbbbbbb; 

#查看达梦数据库运行状态

SELECT status$ as 状态 FROM v$instance;
 

#查看版本

SELECT banner as 版本信息 FROM v$version;

#使用 conn 命令切换用户。
conn DM/dameng123;

#使用 user 关键字返回当前登录用户。
SELECT user FROM DUAL;

#查看所有模式名
SELECT DISTINCT object_name FROM ALL_OBJECTS WHERE OBJECT_TYPE = 'SCH';

#根据模式名查询表名

SELECT table_name FROM dba_tables WHERE owner = '模式名';

#根据模式和表名查询表字段

SELECT COLUMN_NAME FROM all_tab_columns WHERE onwer = '模式名' AND Table_Name = '表名';

7.遇到的问题

 原因分析:Tar 文件损坏

 检查并修复 tar 文件
首先,我们需要确定 tar 文件是否损坏。我们可以通过比较源文件目标文件的哈希值来确认文件是否在传输过程中发生改变。可以使用 sha256sum 或 md5sum 命令计算文件的哈希值。

sha256sum dm8.tar
或md5sum dm8.tar

如果源文件和目标文件的哈希值不同,那么文件可能在传输过程中发生了损坏。在这种情况下,我们需要重新生成并传输 tar 文件。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐