wordpress网站源码,公司备案查询网站备案,网站建设中企,软文营销的优势在之前的博客我们了解了Linux 平台下DM7的安装#xff0c;如下#xff1a;在本篇博客里我们了解一下DM7的启动和关闭。1 背景知识说明1.1 DM DB的启动过程DM的启动主要按如下三个步骤进行#xff1a;1.读取配置文件(.ini)2.读取控制文件(dm.ctl)3.读取重做日志文件(.log) 和…在之前的博客我们了解了Linux 平台下DM7的安装如下在本篇博客里我们了解一下DM7的启动和关闭。1 背景知识说明1.1 DM DB的启动过程DM的启动主要按如下三个步骤进行1.读取配置文件(.ini)2.读取控制文件(dm.ctl)3.读取重做日志文件(.log) 和 数据文件(*.DBF)https://www.cndba.cn/dave/article/35661.2 DM DB的状态DM 数据库包含以下几种状态配置状态(MOUNT)不允许访问数据库对象只能进行控制文件维护、归档配置、数据库模式修改等操作打开状态(OPEN)不能进行控制文件维护、归档配置等操作可以访问数据库对象对外提供正常的数据库服务挂起状态(SUSPEND)与 OPEN 状态的唯一区别就是限制磁盘写入功能一旦修改了数据页触发 REDO 日志、数据页刷盘当前用户将被挂起。OPEN 状态与 MOUNT 和 SUSPEND 能相互转换但是 MOUNT 和 SUSPEND 之间不能相互转换。1.3 DM DB的模式DM 数据库包含以下几种模式普通模式(NORMAL)用户可以正常访问数据库操作没有限制主库模式(PRIMARY)用户可以正常访问数据库所有对数据库对象的修改强制生成 REDO 日志在归档有效时发送 REDO 日志到备库备库模式(STANDBY)接收主库发送过来的 REDO 日志并重做。数据对用户只读。三种模式只能在 MOUNT 状态下设置模式之间可以相互转换。对于新初始化的库首次启动不允许使用 mount 方式需要先正常启动并正常退出然后才允许 mount 方式启动。一般情况下数据库为 NORMAL 模式如果不指定 MOUNT 状态启动则自动启动到 OPEN 状态。在需要对数据库配置时(如配置数据守护、数据复制)服务器需要指定 MOUNT 状态启动。当数据库模式为非 NORMAL 模式(PRIMARY、STANDBY 模式)无论是否指定启动状态服务器启动时自动启动到 MOUNT 状态。1.4 DM DB的三种启动和关闭方式启动和关闭DM DB有三种方式1.4.1 DM服务查看器Windows可以通过菜单目录查看。 Linux 平台需要运行/dm/dmdbms/tool/dmservice.sh 启动。 如下图1.4.2 系统服务在实例安装结束之后会创建在操作系统直接对实例服务进行操作。Windows 则是直接在服务窗口进行。https://www.cndba.cn/dave/article/3566https://www.cndba.cn/dave/article/3566启动systemctl start DmServicedave.service关闭systemctl stop DmServicedave.service我这里的测试平台是Linux7 Linux 6和 7 的在服务这块有一点区别在Linux 6中服务是放在/etc/rc.d/init.d目录下会有一个”DmService实例名”的文件服务文件启动和关闭是执行service “DmServer实例名” stop|start。在Linux 7中服务文件存放在/usr/lib/systemd/system目录下名称改成DmServicedave.service。1.4.3 命令行模式命令行模式使用dmserver命令来启动和关闭实例。该命令在DM_HOME/bin目录下。 https://www.cndba.cn/dave/article/3566命令行方式启动参数如下dmserver [ini_file_path] [-noconsole] [mount]说明1. Dmserver 命令行启动参数可指定 dm.ini 文件的路径非控制台方式启动及指定数据库是否以 MOUNT 状态启动。2. Dmserver 启动时可不指定任何参数默认使用当前目录下的 dm.ini 文件如果当前目录不存在 dm.ini 文件则无法启动3. Dmserver 启动时可以指定-noconsole 参数。如果以此方式启动则无法通过在控制台中输入服务器命令。当不确定启动参数的使用方法时可以使用 help 参数将打印出格式、参数说明和使用示例。使用方法如下dmserver help当以控制台方式启动 Dmserver 时用户可以在控制台输入一些命令服务器将在控制台打印出相关信息或执行相关操作。1.4.4 命令行方式和其他两种方式的区别命令行方式默认也是将数据库启动到open状态但也可以在启动时指定启动到mount状态从而可以维护开文件、进程归档配置、数据库普通模式或主备机模式切换等操作。 在进行备份恢复时也常用命令行模式启动。https://www.cndba.cn/dave/article/3566https://www.cndba.cn/dave/article/35662 操作示例2.1 查看DM DB的状态DB的状态通过DM服务查看器可以直接看到也可以通过查看系统服务状态来查看如下https://www.cndba.cn/dave/article/3566[davewww.cndba.cn system]$ systemctl status DmServicedave● DmServicedave.service - DM database instance serviceLoaded: loaded (/usr/lib/systemd/system/DmServicedave.service; enabled; vendor preset: disabled)Active: active (exited) since Fri 2029-02-23 01:37:37 CST; 10h agoProcess: 24621 ExecStart/dm/dmdbms/bin/DmServicedave start (codeexited, status0/SUCCESS)Main PID: 24621 (codeexited, status0/SUCCESS)Tasks: 0CGroup: /system.slice/DmServicedave.service[davewww.cndba.cn system]$通过disql来查看[davewww.cndba.cn ~]$ disql SYSDBA/SYSDBAServer[LOCALHOST:5236]:mode is normal, state is openlogin used time: 14.097(ms)disql V7.6.0.145-Build(2019.03.20-104220)ENTSQL select status$ from v$database;LINEID STATUS$---------- -----------1 4used time: 8.850(ms). Execute id is 2197.SQL这里是用数字来表示状态的这里一共有6种状态如下1启动2启动redo 完成3MOUNT4打开5挂起6关闭2.2 使用系统服务来启动和关闭DM 实例[rootdm1 ~]# systemctl stop DmServicedave[rootdm1 ~]# systemctl status DmServicedave● DmServicedave.service - DM database instance serviceLoaded: loaded (/usr/lib/systemd/system/DmServicedave.service; enabled; vendor preset: disabled)Active: inactive (dead) since Fri 2029-02-23 12:34:40 CST; 7s agoProcess: 2561 ExecStop/dm/dmdbms/bin/DmServicedave stop (codeexited, status0/SUCCESS)Process: 741 ExecStart/dm/dmdbms/bin/DmServicedave start (codeexited, status0/SUCCESS)Main PID: 741 (codeexited, status0/SUCCESS)Feb 23 12:26:16 dm1 systemd[1]: Starting DM database instance service...Feb 23 12:26:16 dm1 su[824]: (to dmdba) root on noneFeb 23 12:26:19 dm1 DmServicedave[741]: Starting DmServicedave: Last login: Fri Feb 23 12:10:04 CST 2029 on pts/6Feb 23 12:26:34 dm1 DmServicedave[741]: [11B blob data]Feb 23 12:26:34 dm1 systemd[1]: Started DM database instance service.Feb 23 12:34:35 dm1 systemd[1]: Stopping DM database instance service...Feb 23 12:34:40 dm1 DmServicedave[2561]: [35B blob data]Feb 23 12:34:40 dm1 systemd[1]: Stopped DM database instance service.[rootdm1 ~]# systemctl start DmServicedave[rootdm1 ~]# systemctl status DmServicedave● DmServicedave.service - DM database instance serviceLoaded: loaded (/usr/lib/systemd/system/DmServicedave.service; enabled; vendor preset: disabled)Active: active (exited) since Fri 2029-02-23 12:35:12 CST; 1s agoProcess: 2561 ExecStop/dm/dmdbms/bin/DmServicedave stop (codeexited, status0/SUCCESS)Process: 2621 ExecStart/dm/dmdbms/bin/DmServicedave start (codeexited, status0/SUCCESS)Main PID: 2621 (codeexited, status0/SUCCESS)Feb 23 12:34:57 dm1 systemd[1]: Starting DM database instance service...Feb 23 12:34:57 dm1 su[2641]: (to dmdba) root on noneFeb 23 12:34:57 dm1 DmServicedave[2621]: Starting DmServicedave: Last login: Fri Feb 23 12:28:13 CST 2029 on pts/1Feb 23 12:35:12 dm1 DmServicedave[2621]: [11B blob data]Feb 23 12:35:12 dm1 systemd[1]: Started DM database instance service.[rootdm1 ~]#[rootdm1 ~]# ps -ef|grep dm.inidmdba 2662 1 0 12:34 ? 00:00:00 /dm/dmdbms/bin/dmserver /dm/dmdbms/data/cndba/dm.ini -noconsoleroot 2765 2026 0 12:36 pts/0 00:00:00 grep --colorauto dm.ini[rootdm1 ~]#2.3 使用命令行管理DB前面提到命令行直接使用命令操作。 dmserver 启动命令行窗口一直在启动后直接输入exit即表示关闭实例。如果加上-noconsole选项则不接受任何指令可以直接按Ctrlc 来终止程序并停止数据库。[davewww.cndba.cn ~]$ /dm/dmdbms/bin/dmserver /dm/dmdbms/data/cndba/dm.inifile dm.key not found, use default license!version info: developUse normal os_malloc instead of HugeTLBUse normal os_malloc instead of HugeTLBDM Database Server x64 V7.6.0.145-Build(2019.03.20-104220)ENT startup...License will expire on 2029-03-09ckpt lsn: 61183ndct db load finishedndct fill fast pool finishedset EP[0]s pseg state to inactiveiid pages trxid 2600NEXT TRX ID 2601pseg recv finishednsvr_startup end.aud sys init success.aud rt sys init success.systables desc init success.ndct_db_load_info success.nsvr_process_before_open begin.nsvr_process_before_open success.SYSTEM IS READY.#输入其他指令可以通过dmserver help 查看lock----------------- object lock info ---------------addr objid mode trx wait 0 object locks.------------------- tid lock info ----------------addr objid mode trx wait 0 object locks.-----------------outer object lock info (dbms_lock)---------------addr objid mode sess wait_sess#输入exit 关闭实例exitServer is stopping...listener closed and all sessions disconnectedpurge undo records in usegs...OKfull check point starting...generate force checkpoint, rlog free space, used space is (536457216, 405504)ckpt_lsn, ckpt_fil, ckpt_off are set as (66044, 0, 10398720)checkpoint: 3878 pages flushed.checkpoint finished, rlog free space, used space is (536600064, 262656)full check point end.shutdown audit subsystem...OKshutdown schedule subsystem...OKshutdown timer successfully.pre-shutdown MAL subsystem...OKshutdown worker threads subsystem...OKshutdown local parallel threads pool successfully.shutdown replication subsystem...OKshutdown sequence cache subsystem...OKwait for mtsk link worker to exit..OKshutdown mpp session subsystem...OKwait for rapply is all over... OKrapply worker threads exit successfully.pre ending task worker threads...OKshutdown dblink subsystem...OKshutdown session subsystem...OKshutdown rollback segments purging subsystem...OKshutdown rps subsystem...OKshutdown transaction subsystem...OKshutdown locking subsystem...OKshutdown dbms_lock subsystem...OKending tsk and worker threads...OKckpt2_exec_immediately begin.ckpt_lsn, ckpt_fil, ckpt_off are set as (66048, 0, 10661376)checkpoint: 0 pages flushed.checkpoint finished, rlog free space, used space is (536680448, 182272)ckpt_lsn, ckpt_fil, ckpt_off are set as (70401, 0, 10843648)checkpoint: 0 pages flushed.checkpoint finished, rlog free space, used space is (536862208, 512)ckpt_lsn, ckpt_fil, ckpt_off are set as (70401, 0, 10844160)checkpoint: 0 pages flushed.checkpoint finished, rlog free space, used space is (536862720, 0)ckpt_lsn, ckpt_fil, ckpt_off are set as (70401, 0, 10844160)checkpoint: 0 pages flushed.checkpoint finished, rlog free space, used space is (536862720, 0)shutdown archive subsystem...OKshutdown redo log subsystem...OKshutdown MAL subsystem...OKshutdown message compress subsystem successfully.shutdown task subsystem...OKshutdown trace subsystem...OKshutdown svr_log subsystem...OKshutdown plan cache subsystem...OKshutdown file subsystem...OKshutdown database dictionary subsystem...OKshutdown mac cache subsystem...OKshutdown dynamic login cache subsystem...OKshutdown ifun/bifun/sfun/afun cache subsystem...OKshutdown crypt subsystem...OKshutdown pipe subsystem...OKshutdown compress component...OKshutdown slave redo subsystem...OKshutdown kernel buffer subsystem...OKshutdown SQL capture subsystem...OKshutdown control file system...OKshutdown dtype subsystem...OKshutdown huge buffer and memory pools...OKclose lsnr socketDM Database Server shutdown successfully.[davewww.cndba.cn ~]$#启动到mount状态[davewww.cndba.cn ~]$ dmserver /dm/dmdbms/data/cndba/dm.ini -noconsole mountfile dm.key not found, use default license!version info: developUse normal os_malloc instead of HugeTLBUse normal os_malloc instead of HugeTLBDM Database Server x64 V7.6.0.145-Build(2019.03.20-104220)ENT startup...License will expire on 2029-03-09ckpt lsn: 126426ndct db load finishedndct fill fast pool finishednsvr_startup end.aud sys init success.aud rt sys init success.systables desc init success.ndct_db_load_info success.SYSTEM IS READY.以服务模式启动DB实例且不接收指令https://www.cndba.cn/dave/article/3566/dm/dmdbms/bin/dmserver /dm/dmdbms/data/cndba/dm.ini -noconsolehttps://www.cndba.cn/dave/article/3566使用命令行的方式启动DB缺点很明显窗口必须一致存在尝试将将命令放到后台执行https://www.cndba.cn/dave/article/3566/dm/dmdbms/bin/dmserver /dm/dmdbms/data/cndba/dm.ini -noconsole 实际测试发现一个问题通过系统service 启动的实例状态可以在DM service viewer中正确识别但用命令行启动的实例状态无法在系统服务和DM 服务查看中正确显示也无法进行操作也就是说命令行启动的实例只能通过命令行来关闭。 不过这个并不影响可以直接使用linux 的fg命令将后台进程调到前台在正常操作即可。 不建议直接在操作系统级别kill 进程。#使用命令行启动后系统服务无法获取正确的状态[rootdm1 ~]# systemctl status DmServicedave● DmServicedave.service - DM database instance serviceLoaded: loaded (/usr/lib/systemd/system/DmServicedave.service; enabled; vendor preset: disabled)Active: inactive (dead) since Fri 2029-02-23 12:38:36 CST; 42min agoProcess: 2788 ExecStop/dm/dmdbms/bin/DmServicedave stop (codeexited, status0/SUCCESS)Process: 2621 ExecStart/dm/dmdbms/bin/DmServicedave start (codeexited, status0/SUCCESS)Main PID: 2621 (codeexited, status0/SUCCESS)Feb 23 12:34:57 dm1 systemd[1]: Starting DM database instance service...Feb 23 12:34:57 dm1 su[2641]: (to dmdba) root on noneFeb 23 12:34:57 dm1 DmServicedave[2621]: Starting DmServicedave: Last login: Fri Feb 23 12:28:13 CST 2029 on pts/1Feb 23 12:35:12 dm1 DmServicedave[2621]: [11B blob data]Feb 23 12:35:12 dm1 systemd[1]: Started DM database instance service.Feb 23 12:38:26 dm1 systemd[1]: Stopping DM database instance service...Feb 23 12:38:36 dm1 DmServicedave[2788]: [35B blob data]Feb 23 12:38:36 dm1 systemd[1]: Stopped DM database instance service.[rootdm1 ~]##后台启动实例并使用fg命令调用到前台[davewww.cndba.cn ~]$ dmserver /dm/dmdbms/data/cndba/dm.ini -noconsole [1] 5435[davewww.cndba.cn ~]$ file dm.key not found, use default license!version info: developUse normal os_malloc instead of HugeTLBUse normal os_malloc instead of HugeTLBDM Database Server x64 V7.6.0.145-Build(2019.03.20-104220)ENT startup...License will expire on 2029-03-09ckpt lsn: 117208ndct db load finishedndct fill fast pool finishedset EP[0]s pseg state to inactiveiid pages trxid 2621NEXT TRX ID 2622pseg recv finishednsvr_startup end.aud sys init success.aud rt sys init success.systables desc init success.ndct_db_load_info success.nsvr_process_before_open begin.nsvr_process_before_open success.SYSTEM IS READY.#将命令调用到前台[davewww.cndba.cn ~]$ jobs -l[1] 5435 Running dmserver /dm/dmdbms/data/cndba/dm.ini -noconsole [davewww.cndba.cn ~]$ fg 1dmserver /dm/dmdbms/data/cndba/dm.ini -noconsoleexit^CServer is stopping...listener closed and all sessions disconnectedpurge undo records in usegs...OKfull check point starting...generate force checkpoint, rlog free space, used space is (536457216, 405504)ckpt_lsn, ckpt_fil, ckpt_off are set as (122069, 0, 14882304)checkpoint: 3232 pages flushed.checkpoint finished, rlog free space, used space is (536602624, 260096)full check point end.shutdown audit subsystem...OKshutdown schedule subsystem...OKshutdown timer successfully.pre-shutdown MAL subsystem...OKshutdown worker threads subsystem...OKshutdown local parallel threads pool successfully.shutdown replication subsystem...OKshutdown sequence cache subsystem...OKwait for mtsk link worker to exit..OKshutdown mpp session subsystem...OKwait for rapply is all over... OKrapply worker threads exit successfully.pre ending task worker threads...OKshutdown dblink subsystem...OKshutdown session subsystem...OKshutdown rollback segments purging subsystem...OKshutdown rps subsystem...OKshutdown transaction subsystem...OKshutdown locking subsystem...OKshutdown dbms_lock subsystem...OKending tsk and worker threads...OKckpt2_exec_immediately begin.ckpt_lsn, ckpt_fil, ckpt_off are set as (122073, 0, 15142400)checkpoint: 0 pages flushed.checkpoint finished, rlog free space, used space is (536680448, 182272)ckpt_lsn, ckpt_fil, ckpt_off are set as (126426, 0, 15324672)checkpoint: 0 pages flushed.checkpoint finished, rlog free space, used space is (536862208, 512)ckpt_lsn, ckpt_fil, ckpt_off are set as (126426, 0, 15325184)checkpoint: 0 pages flushed.checkpoint finished, rlog free space, used space is (536862720, 0)ckpt_lsn, ckpt_fil, ckpt_off are set as (126426, 0, 15325184)checkpoint: 0 pages flushed.checkpoint finished, rlog free space, used space is (536862720, 0)shutdown archive subsystem...OKshutdown redo log subsystem...OKshutdown MAL subsystem...OKshutdown message compress subsystem successfully.shutdown task subsystem...OKshutdown trace subsystem...OKshutdown svr_log subsystem...OKshutdown plan cache subsystem...OKshutdown file subsystem...OKshutdown database dictionary subsystem...OKshutdown mac cache subsystem...OKshutdown dynamic login cache subsystem...OKshutdown ifun/bifun/sfun/afun cache subsystem...OKshutdown crypt subsystem...OKshutdown pipe subsystem...OKshutdown compress component...OKshutdown slave redo subsystem...OKshutdown kernel buffer subsystem...OKshutdown SQL capture subsystem...OKshutdown control file system...OKshutdown dtype subsystem...OKshutdown huge buffer and memory pools...OKclose lsnr socketDM Database Server shutdown successfully.[davewww.cndba.cn ~]$2.4 切换实例状态SQL select status$ from v$database;Server[LOCALHOST:5236]:mode is normal, state is openconnectedLINEID STATUS$---------- -----------1 4used time: 7.105(ms). Execute id is 3.SQL alter database mount;executed successfullyused time: 00:00:01.878. Execute id is 0.SQL select status$ from v$database;LINEID STATUS$---------- -----------1 3used time: 2.155(ms). Execute id is 4.SQL其他修改选项可以参考官方手册ALTER DATABASE ;::RESIZE LOGFILE TO |ADD LOGFILE {,}|RENAME LOGFILE {,} TO {,}|MOUNT |SUSPEND |OPEN [FORCE] |NORMAL |PRIMARY|STANDBY |ARCHIVELOG |NOARCHIVELOG | ARCHIVELOG |ARCHIVELOG CURRENT :: SIZE :: DEST ,TYPE ::LOCAL [] |REALTIME|SYNC |ASYNC ,TIMER_NAME |REMOTE ,ARCH_INCOMING_PATH []|TIMELY::[,FILE_SIZE ][,SPACE_LIMIT ]版权声明本文为博主原创文章未经博主允许不得转载。