1.使用docker镜像创建dm数据库
https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html
● 配置端口主机与容器的端口映射:-d -p 30236:5236
● 自动重启动:--restart=always
● 容器名:--name dm8
● 以下是一些通用配置:--privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e EXTENT_SIZE=32 -e BLANK_PAD_MODE=1 -e LOG_SIZE=1024
● 设置字符集为utf_8:-e UNICODE_FLAG=1
● 不开启大小写敏感:-e CASE_SENSITIVE=0 //如果没用就需要在容器内部重新初始化实例
● 主机与容器的目录映射: -v /data/dm8:/opt/dmdbms/data -v
● 创建容器:docker run -d -p 30236:5236 --restart=always --name dm8 --privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e EXTENT_SIZE=32 -e BLANK_PAD_MODE=1 -e LOG_SIZE=1024 -e UNICODE_FLAG=1 -e CASE_SENSITIVE=0 -e LENGTH_IN_CHAR=1 -e INSTANCE_NAME=dm8 -v /data/dm8:/opt/dmdbms/data -v /usr/lib64:/usr/lib dm8_single:dm8_20230808_rev197096_x86_rh6_64
2.创建表空间失败
● 表现
● 官方文档:https://eco.dameng.com/document/dm/zh-cn/start/dm-create-tablespace
● 以上错误是因为,我的数据库装在腾讯云上,而我的表空间创建路径是在本地,将路径改为服务器地址后创建成功。
3. 创建用户
/1.创建用户指定表空间/
create user SOCWDB identified by socwdb2023 PROFILE DEFAULT default tablespace socw default index tablespace socw;
/查询用户/
SELECT username FROM dba_users;
/删除用户/
drop user SOCWDB;
4. 无效的表或视图名
● DM基于oracle,大小写敏感。字段不加""会被识别为大写。
5. 创建数据库
https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html
6. 数据库启动失败,查看日志显示数据库需要初始化。或者需要重新配置大小写敏感参数:
初始化数据库
● 在容器内部停止和启动数据库
○ 进入bin目录下
○ cd /opt/dmdbms/bin
○ 执行停止示例命令
○ ./DmService stop
● 删除已有实例:
○ 查找实例路径: ps -ef|grep dm.ini
○ rm /路径/dm.ini
● 创建实例:
○ 下面的path变量的路径要打开bin目录下的DmService查看它的ini的配置路径
○ 开启大小写不敏感:CASE_SENSITIVE=n
○ ./dminit path=/opt/dmdbms/data/DAMENG PAGE_SIZE=16 EXTENT_SIZE=32 CASE_SENSITIVE=n CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5236
● 启动服务
○ ./DmService start
○ 启动报错:Could not load a transcoding service
○ 执行:export LANG=en_US.UTF-8
○
○ 新建实例后默认用户密码为SYSDBA/SYSDBA //dm8的镜像安装完正常启动的时候用户名和密码为SYSDBA/SYSDBA001 ,但是重新创建实例后密码变为SYSDBA,没找到相关说明。
文章
阅读量
获赞