GBase 8s 运行模式与切换

28 篇文章 47 订阅
26 篇文章 26 订阅

GBase 8s的四种运行模式。

  • 离线模式

不能执行任何操作

shared memory not initialized for GBASEDBTSERVER ‘gbaseserver’(执行数据库管理员命令时)
908: Attempt to connect to database server (gbaseserver) failed.(执行数据库SQL操作时)

执行dbaccess时,可以出现菜单,选择数据库出现RUNNING后,一段时间报错。

  • 在线模式

可以执行各种操作。

  • 单用户模式

可以执行SQL操作和命令行维护操作。只能管理员(GBASEDBT / DBSA)连接,其它普通用户不能连接。

27010: Only an administrative user can connect in administrative user mode.

  • 静态模式

只能执行命令行维护操作(如备份数据库)。

不能执行SQL命令(27002: No connections are allowed in quiescent mode.)

GBase 8s的3种过渡状态。

  • 初始化(Initialization)

  • 快速恢复(Fast Recovery)

  • 关闭(Shutting Down)

GBase 8s的模式转换状态图

GBase 8s 可从一个运行模式,转换到另一个运行模式。

在这里插入图片描述

  • 离线转单用户
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
shared memory not initialized for GBASEDBTSERVER 'gbaseserver'
[gbasedbt@devsvr ~]$ oninit -j
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Single-User -- Up 00:00:14 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ 

  • 单用户转在线
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Single-User -- Up 00:04:33 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ onmode -m
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line -- Up 00:04:53 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ 

  • 离线转在线
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
shared memory not initialized for GBASEDBTSERVER 'gbaseserver'
[gbasedbt@devsvr ~]$ oninit
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line -- Up 00:00:14 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ 
  • 离线转静态
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
shared memory not initialized for GBASEDBTSERVER 'gbaseserver'
[gbasedbt@devsvr ~]$ oninit -s
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Quiescent -- Up 00:00:15 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ 

  • 静态转在线
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Quiescent -- Up 00:00:15 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ onmode -m
Your evaluation license will expire on 2022-06-18 00:00:00
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line -- Up 00:00:49 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ 

在这里插入图片描述

  • 在线转单用户
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line -- Up 00:00:56 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ onmode -j
Your evaluation license will expire on 2022-06-18 00:00:00
This will change mode to single user. Only DBSA/gbasedbt can connect 
in this mode.
Do you wish to continue (y/n)? y

All threads which are not owned by DBSA/gbasedbt will be killed.
Do you wish to continue (y/n)? y
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Single-User -- Up 00:01:25 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ 

  • 单用户转离线
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Single-User -- Up 00:00:14 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ onmode -k
Your evaluation license will expire on 2022-06-18 00:00:00

This will take GBase Database Server OFF-LINE -
Do you wish to continue (y/n)? y

There are 0 user threads that will be killed.
Do you wish to continue (y/n)? y
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
shared memory not initialized for GBASEDBTSERVER 'gbaseserver'
[gbasedbt@devsvr ~]$ 

  • 在线转离线
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line -- Up 00:04:53 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ onmode -k
Your evaluation license will expire on 2022-06-18 00:00:00

This will take GBase Database Server OFF-LINE -
Do you wish to continue (y/n)? y

There are 0 user threads that will be killed.
Do you wish to continue (y/n)? y
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
shared memory not initialized for GBASEDBTSERVER 'gbaseserver'
[gbasedbt@devsvr ~]$
  • 在线转静态
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line -- Up 00:00:14 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ onmode -s
Your evaluation license will expire on 2022-06-18 00:00:00

This will perform a GRACEFUL SHUTDOWN -
Do you wish to continue (y/n)? y
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Quiescent -- Up 00:00:45 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ 

[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
On-Line -- Up 00:00:38 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ onmode -u
Your evaluation license will expire on 2022-06-18 00:00:00

This will perform an IMMEDIATE SHUTDOWN -
Do you wish to continue (y/n)? y

There are 0 user threads that will be killed.
Do you wish to continue (y/n)? y
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Quiescent -- Up 00:00:53 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ 

  • 静态转离线
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
Quiescent -- Up 00:00:45 -- 597864 Kbytes

[gbasedbt@devsvr ~]$ onmode -k
Your evaluation license will expire on 2022-06-18 00:00:00

This will take GBase Database Server OFF-LINE -
Do you wish to continue (y/n)? y

There are 0 user threads that will be killed.
Do you wish to continue (y/n)? y
[gbasedbt@devsvr ~]$ onstat -
Your evaluation license will expire on 2022-06-18 00:00:00
shared memory not initialized for GBASEDBTSERVER 'gbaseserver'
[gbasedbt@devsvr ~]$ 

附录

GBase 8s的模式转换状态表

离线在线单用户静态
离线oninitoninit -joninit -s
在线onmode -kyonmode -jonmode –s
onmode -u
单用户onmode -kyonmode -monmode –s
onmode -u
静态onmode -kyonmode -monmode -j
引言 1 目的 informix9.3升级到informix9.4升级过程描述,作为对数据库升级过程的技术文档。 2 使用范围 本文档适用于指导系统工程部的工程师做informix数据库的升级。 3 参考文档 编号 资料名称 作者 出版单位 001 《IBM Informix migration Guide》 不详 IBM 4 过程描述 4.1 冷备份Informix程序目录 4.1.1 将/opt/informix目录打包tar,tar cvf ids93.tar /opt/informix/* ,备份到/backup和磁带库各一份。 4.1.2 将环境变量文件/opt/informix/.cshrc, /opt/informix/etc/sqlhosts, /opt/informix/etc/onconfig.sxdb等打包备份,备份到/backup和磁带库各一 4.2 检查和验证一致性 4.2.1 确定保留页 oncheck –cr 4.2.2 显示用户数据区域中每个Sb空间块的大小,已使用空间的总量和可用空间量。 oncheck –ce 4.2.3 确定系统目录表 oncheck –cc database_name 4.2.4 确定数据页和索引 oncheck –cDI database_name(若遇到无法修复的问题,请备份出数据删除重建表) 4.3 数据库的关闭和数据库的全备 4.3.1 数据库放到单用户模式下 onmode –sy 4.3.2 等待所有已连接到数据库的用户退出(需要开发部门配合结束采集程序) 4.3.2.1 将逻辑日志切换到下一个 onmode –l 4.3.3 执行完全检查点并释放逻辑日志文件 onmode –c 4.3.4 热备份Informix数据库 执行零级备份(到磁带库)$INFORMIXDIR/bin/onbar -b -w -L 0 4.3.5 备份逻辑日志 onbar –b –l 4.3.5.1 冷备份Informix数据库 cd /usr2/backup/dbexport mkdir perf gmcookdb c_unicom workflow3 offcdb … cd perf/ nohup dbexport -c -o ./ perf dbexport -c -o /usr2/backup/dbexport/c_perf c_perf SXdb2% dbexport -c -o /usr2/backup/dbexport/c_perf c_perf -425 - Database is currently opened by another user. -107 - ISAM error: record is locked. SXdb2% dbexport -c -o /usr2/backup/dbexport/c_perf c_perf -27002 - No connections are allowed in Dynamic Server quiescent mode. ********************************************************** 4.3.6 关闭数据库 onmode –yuk 4.4 操作系统环境检查 4.4.1 检查G网数据库服务器和应用服务器root和informix用户环境下是否有 自动执行的脚本,在对数据库进行操作 crontab –l(如果有注释掉) 4.4.2 检查G网数据库服务器,采集和应用服务器后台是否有进程对数据库进行操作 例如: ps –ef |grep dbaccess kill –9 PID 4.4.3 在G网数据库服务器上清除SNMP进程 ps –ef|grep snmp kill –9 PID 注意操作系统环境检查需要开发部配合完成 4.5 数据库服务器上覆盖安装64位的Informix9.4步骤: 4.5.1 执行ids_install,选择①安装IDS 9.4; 4.5.2 将IDS2000.tar解包; 4.5.3 执行installserver安装IDS 9.40FC5,安装细节与《IDS 9.3安装启动说明书》相同。 4.5.4 启动Informix 9.4数据库,oninit(不加参数 -i) 4.6 验证新数据库的正确性 4.6.1 验证新数据库能购正常运行。大约耗时1个小时,影响现有系统。 4.7 启用新数据库 检验配置应用、采集、上报等程序连接新安装的Informix 9.4,启用新安装的Informix 9.4数据库。大约耗时1个小时,影响现有系统。 4.8 库更新操作 dbaccess ->Query-language->选择库->执行update statistics 5 升级失败,启用旧版本数据库 5.1 从Informix程序目录的打包备份中恢复 5.1.1 清空/opt/informix目录,从“4.1.1”中的冷备份ids93.tar中解包,将程序文件恢复至/opt/informix目录。 5.1.2 检查Informix 9.3的关键的环境变量和配置文件/opt/Informix/.cshrc, /opt/informix/etc/sqlhosts, /opt/informix/etc/onconfig.hbdb等。 5.1.3 检查所有配置无误,启动Informix 9.3数据库oninit。 5.2 恢复ids93.tar不成功,重新安装Informix 9.3,重建数据库,从热备份或冷备份中恢复数据库 5.2.1 恢复失败,重新安装informix9.3数据库应用软件,重新创建数据库,热备份(on-bar)或冷备份(dbimport)中恢复数据库. 5.2.2 使用ON-Bar恢复数据库 onbar恢复之前,确保重建的数据库的名称和大小符合G网配置.例如: touch /wourkground/datadb/perfdbschk01 chmod 660 /wourkground/datadb/perfdbschk01 onspaces -c -d perfdbs -p /wourkground/datadb/perfdbschk01 -o 0 -s 1024000 5.2.3 命令格式(onbar –l) 5.2.4 使用dbimport恢复数据库 dbimport恢复不需要创建DBS,导入库时可以指定创建库的位置,例如: dbimport –c sxperf -i /backup/dbexport/port -d /opt/informix/user/hbperfchk01 6 附录:数据库升级记录 1. 将/opt/informix/*以及/opt/informix/etc/* tar到/usr2/backup目录下; 2. 使用jbpSA将第一步tar的文件备份到磁带上; 3. 检查和验证一致性 oncheck -cr oncheck –ce oncheck -cc adapter_bell_corba >oncheck.cc.adapter_bell_corba oncheck -cc oam>oncheck.cc.oam oncheck -cc adapter_cap_corba >oncheck.cc.adapter_cap_corba oncheck -cc offcdb >oncheck.cc.offcdb oncheck -cc adapter_moto_corba >oncheck.cc.adapter_moto_corba oncheck -cc sysmaster >oncheck.cc.sysmater oncheck -cc adapter_zte_corba >oncheck.cc.adpater_zte_corba oncheck -cc sysuser >oncheck.cc.sysuser oncheck -cc adpindb >oncheck.cc.adpindb oncheck -cc sysutils >oncheck.cc.sysutils oncheck -cc workflow3 >oncheck.cc.workfolow3 oncheck -cc c_unicom >oncheck.cc.c_unicom oncheck -cc dbmonitor >oncheck.cc.dbmonitor oncheck -cc gmcookdb >oncheck.cc.gmcookdb oncheck -cc c_perf >oncheck.cc.c_perf oncheck -cDI adapter_bell_corba >oncheck.cDI.adapter_bell_corba oncheck -cDI oam>oncheck.cDI.oam oncheck -cDI adapter_cap_corba >oncheck.cDI.adapter_cap_corba oncheck -cDI offcdb >oncheck.cDI.offcdb oncheck -cDI adapter_moto_corba >oncheck.cDI.adapter_moto_corba oncheck -cDI sysmaster >oncheck.cDI.sysmater oncheck -cDI adapter_zte_corba >oncheck.cDI.adpater_zte_corba oncheck -cDI sysuser >oncheck.cDI.sysuser oncheck -cDI adpindb >oncheck.cDI.adpindb oncheck -cDI sysutils >oncheck.cDI.sysutils oncheck -cDI workflow3 >oncheck.cDI.workfolow3 oncheck -cDI c_unicom >oncheck.cDI.c_unicom oncheck -cDI dbmonitor >oncheck.cDI.dbmonitor oncheck -cDI gmcookdb >oncheck.cDI.gmcookdb oncheck -cDI c_perf >onchec.cc.c_perf ------正确的命令应该为oncheck -cc c_perf >oncheck.cDI.c_perf 生成的文件存放在/usr2/backup/check_20060417_log目录下 检查耗时:20060417 22:37分~
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值