暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦命令行初始化数据库并注册服务

原创 尚雷 2022-11-23
3545

在之前的测试中,我通过图形界面创建了一个达梦数据库,但在测试Oracle迁移到DM8数据库时遇到一些报错,最后查询报错的原因除了执行顺序有问题,还和创建的数据库大小写敏感及空格等有关,所以今天测试通过命令来初始化一个数据库。
通过命令行初始化数据库,主要操作步骤如下:

一、初始化数据库

-- 相关参数含义会在其它文档里讲解
 
[dmdba@openstack ~]$ cd $DM_HOME/bin
[dmdba@openstack bin]$
[dmdba@openstack bin]$ ./dminit path=/dm8/dmdbms/data/ LOG_SIZE=500 PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=N CHARSET=1 blank_pad_mode=1 DB_NAME=dm8db INSTANCE_NAME=dm8db PORT_NUM=5237
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2023-09-27
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
 
 log file path: /dm8/dmdbms/data/dm8db/dm8db01.log
 
 
 log file path: /dm8/dmdbms/data/dm8db/dm8db02.log
 
write to dir [/dm8/dmdbms/data/dm8db].
create dm database success. 2022-11-08 10:27:14

二、启动数据库

启动数据库又分前台和后台,下面将分别演示前台和后台启动。

2.1 前台启动数据库

-- 相关参数含义会在其它文档里讲解
 
[dmdba@openstack dm8db]$ cd $DM_HOME
[dmdba@openstack dmdbms]$ cd bin
[dmdba@openstack bin]$ ./dmserver /dm8/dmdbms/data/dm8db/dm.ini
file dm.key not found, use default license!
version info: develop
DM Database Server 64 V8 03134283914-20220927-170566-20009 startup...
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 0
License will expire on 2023-09-27
file lsn: 0
ndct db load finished
ndct second level fill fast pool finished
ndct third level fill fast pool finished
ndct second level fill fast pool finished
ndct third level fill fast pool finished
ndct fill fast pool finished
pseg_set_gtv_trxid_low next_trxid in mem:[1002]
pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 to_release_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 to_release_pages, 0 mgr pages, 0 mgr recs!
next_trxid in mem:[2004]
next_trxid = 3006.
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
pseg recv finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
trx: 3006 purged 1 pages
trx: 3025 purged 1 pages
trx: 3026 purged 1 pages
trx: 3027 purged 1 pages
trx: 3028 purged 1 pages
trx: 3029 purged 1 pages
trx: 3039 purged 1 pages
trx: 3159 purged 1 pages
trx: 3172 purged 1 pages
trx: 3173 purged 1 pages
trx: 3174 purged 1 pages
trx: 3175 purged 1 pages
trx: 3176 purged 1 pages
trx: 3178 purged 1 pages
trx: 3179 purged 1 pages
trx: 3181 purged 1 pages
trx: 3183 purged 1 pages
trx: 3190 purged 1 pages
trx: 3196 purged 1 pages
trx: 3206 purged 1 pages
trx: 3219 purged 1 pages
trx: 3220 purged 1 pages
trx: 3221 purged 1 pages
trx: 3222 purged 1 pages
trx: 3234 purged 1 pages
trx: 3236 purged 1 pages
trx: 3237 purged 1 pages
trx: 3238 purged 1 pages
trx: 3289 purged 1 pages
trx: 3290 purged 1 pages
trx: 3299 purged 7 pages
trx: 3326 purged 1 pages
trx: 3327 purged 1 pages
trx: 3328 purged 1 pages
trx: 3329 purged 1 pages
trx: 3335 purged 1 pages
trx: 3337 purged 1 pages
trx: 3339 purged 1 pages
trx: 3344 purged 1 pages
trx: 3349 purged 1 pages
trx: 3354 purged 1 pages
trx: 3356 purged 1 pages
trx: 3359 purged 1 pages
trx: 3361 purged 1 pages
trx: 3367 purged 1 pages
trx: 3368 purged 1 pages
trx: 3517 purged 1 pages
trx: 3529 purged 1 pages
trx: 3534 purged 1 pages
trx: 3539 purged 1 pages
trx: 3558 purged 10 pages
trx: 3559 purged 1 pages
trx: 3560 purged 1 pages
trx: 3587 purged 1 pages
trx: 3591 purged 1 pages
trx: 3593 purged 1 pages
trx: 3595 purged 1 pages
trx: 3597 purged 1 pages
trx: 3599 purged 1 pages
trx: 3601 purged 1 pages
trx: 3603 purged 1 pages
trx: 3605 purged 1 pages
trx: 3607 purged 1 pages
trx: 3609 purged 1 pages
trx: 3611 purged 1 pages
trx: 3613 purged 1 pages
trx: 3615 purged 1 pages
trx: 3617 purged 1 pages
trx: 3619 purged 1 pages
trx: 3621 purged 1 pages
trx: 3623 purged 1 pages
trx: 3625 purged 1 pages
trx: 3627 purged 1 pages
trx: 3629 purged 1 pages
trx: 3631 purged 1 pages
trx: 3633 purged 1 pages
trx: 3635 purged 1 pages
trx: 3637 purged 1 pages
systables desc init success.
ndct_db_load_info success.
nsvr_process_before_open begin.
nsvr_process_before_open success.
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
SYSTEM IS READY.                -- 当出现SYSTEM IS READY 时代表已经前台启动了数据库
checkpoint requested, rlog free space[1038104064], used space[10463744]
checkpoint generate by ckpt_interval
checkpoint begin, used_space[10463744], free_space[1038104064]...
 
 
 
-- 测试连接
[dmdba@openstack dm8db]$ disql sysdba@localhost:5237
 
服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 4.921(ms)
disql V8
SQL> select * from v$database;
 
行号     NAME  CREATE_TIME         ARCH_MODE LAST_CKPT_TIME      STATUS$     ROLE$       MAX_SIZE             TOTAL_SIZE           DSC_NODES   OPEN_COUNT  STARTUP_COUNT        LAST_STARTUP_TIME 
---------- ----- ------------------- --------- ------------------- ----------- ----------- -------------------- -------------------- ----------- ----------- -------------------- -------------------
1          dm8db 2022-11-08 10:27:13 N         2022-11-08 11:24:49 4           0           0                    12352                1           1           1                    2022-11-08 10:31:14
 
已用时间: 5.617(毫秒). 执行号:56500.
 
-- 测试,如果在前台启动的会话界面执CTRL+D 会将前台关闭,执行结果如下:
checkpoint end, 0 pages flushed, used_space[0], free_space[1048567808].
^CServer is stopping...
listener closed  and all sessions disconnected
adjust undo_retention & wakeup purge thread...full check point starting...
generate force checkpoint, rlog free space[1048537088], used space[30720]
checkpoint begin, used_space[30720], free_space[1048537088]...
checkpoint end, 0 pages flushed, used_space[20480], free_space[1048547328].
full check point end.
shutdown audit subsystem...OK
shutdown schedule subsystem...OK
shutdown timer successfully.
pre-shutdown MAL subsystem...OK
shutdown worker threads subsystem...OK
shutdown local parallel threads pool successfully.
shutdown replication subsystem...OK
shutdown sequence cache subsystem...OK
wait for mtsk link worker to exit..OK
shutdown mpp session subsystem...OK
wait for rapply is all over... OK
rapply worker threads exit successfully.
pre ending task & worker threads...OK
shutdown dblink subsystem...OK
shutdown pthd_pools...OK
shutdown session subsystem...shutdown aux session subsystem...OK
shutdown rollback segments purging subsystem...OK
shutdown rps subsystem...OK
shutdown transaction subsystem...OK
shutdown locking subsystem...OK
shutdown dbms_lock subsystem...OK
ending tsk and worker threads...OK
ckpt2_exec_immediately begin.
checkpoint begin, used_space[20480], free_space[1048547328]...
checkpoint end, 0 pages flushed, used_space[19456], free_space[1048548352].
checkpoint begin, used_space[19456], free_space[1048548352]...
checkpoint end, 0 pages flushed, used_space[0], free_space[1048567808].
checkpoint begin, used_space[0], free_space[1048567808]...
checkpoint end, 0 pages flushed, used_space[0], free_space[1048567808].
shutdown archive subsystem...OK
shutdown redo log subsystem...OK
shutdown MAL subsystem...OK
shutdown message compress subsystem successfully.
shutdown task subsystem...OK
shutdown trace subsystem...OK
shutdown svr_log subsystem...OK
shutdown plan cache subsystem...OK
shutdown database dictionary subsystem...OK
shutdown file subsystem...OK
shutdown mac cache subsystem...OK
shutdown dynamic login cache subsystem...OK
shutdown ifun/bifun/sfun/afun cache subsystem...OK
shutdown crypt subsystem...OK
shutdown pipe subsystem...OK
shutdown compress component...OK
shutdown slave redo subsystem...OK
shutdown kernel buffer subsystem...OK
shutdown SQL capture subsystem...OK
shutdown control file system...OK
shutdown dtype subsystem...OK
shutdown huge buffer and memory pools...OK
close lsnr socket
DM Database Server shutdown successfully.
 
-- 此时,5237端口宕了,已无法连接数据库。

2.2 后台启动数据库

通过前天启动数据库需要保持前台会话一直存在,就算使用nohup来后台执行也不是一个好办法。所以推荐使用注册服务来方便后台启停数据库,具体操作如下:

-- 注意要使用root用户
[root@openstack ~]# cd /dm8/dmdbms/script/root
[root@openstack root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/dmdbms/data/dm8db/dm.ini -p dm8db
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicedm8db.service to /usr/lib/systemd/system/DmServicedm8db.service.
创建服务(DmServicedm8db)完成
[root@openstack root]#
[root@openstack root]#
[root@openstack root]# systemctl start DmServicedm8db.service
[root@openstack root]# systemctl enable DmServicedm8db.service
[root@openstack root]#
[root@openstack root]# netstat -ano|grep 5237
tcp6       0      0 :::5237                 :::*                    LISTEN      off (0.00/0/0)
 
-- 测试连接数据库
[root@openstack root]# su - dmdba
Last login: Tue Nov  8 11:39:28 CST 2022 on pts/4
[dmdba@openstack ~]$ disql SYSDBA/SYSDBA@localhost:5237
 
服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 5.085(ms)
disql V8
SQL>
 
-- 之后就可以方便的通过systemctl来启停数据库了。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论