KingbaseES数据库部署及双机热备配置

  1. Dataguard双机热备部署

注:配置期间使用数据库的属主用户进行操作

1.1 数据一致性准备

(1)修改数据库的配置文件参数:(2阶段初始化的数据库实例)

创建在归档日志存放目录(需要根据机器的存储空间进行创建,空间大于100GB):

  1. mkdir
  2.  /datas_local/archive
  3. vim
  4.  /DBDATA/data/kingbase.conf
  5. 打开归档:
  6. log_archive_start
  7.  = on
  8. log_archive_dest = '/datas_local/archive'       --目录根据操作系统服务器存储设置

备机只读设置:

  1. hot_standby=on
  2. wal_level='hot_standby'

使用kingbase用户操作

  1. 1、将从机指定数据目录下的(/DBDATAdata目录删除;
  2. 2、将主机指定数据目录下的(/DBDATAdata目录打包压缩:tar czvf data.tbz data
  3. 3、将主机指定数据目录下的(/home/kingbase/KingbaseES)的data.tbz复制到从机指定路径下(/DBDATA)。
  4. 主机IP10.150.73.182  从机IP10.150.73.187
  5. 4 在从机上指定目录(/DBDATA)解压数据文件data.tbz,生成本地数据目录:tar
  6.  -xzvf data.tbz
  7. (2) 增加ifconfig文件的SUIDSGID,使普通用户运行ifconfig时暂时具备root权限。
  8. chmod u+/sbin/ifconfig
  9. chmod g+/sbin/ifconfig

1.2 Dataguard配置文件准备

1、先配置主机,再配置从机;

  1. 将/home/kingbase/KingbaseES/bin/template/standby.conf分别拷贝到主备数据库安装目录的config下,并进行修改;
  2. A机外网IP10.150.73.182
  3. A机私网IP10.10.10.1
  4. B机外网IP10.150.73.187
  5. B机私网IP10.10.10.2
  6. 浮动ip10.150.73.189

主机OS配置:

Dataguard和kingbase运行在普通用户模式下,普通用户没有设置和删除IP的权限,IP浮动过程中,需要设置和删除IP,因此,如果需要浮动IP功能,需要增加普通用户设置和删除IP的权限。方法示例:

增加ifconfig文件的SUID和SGID,使普通用户运行ifconfig时暂时具备root权限,使用root用户执行:

  1. chmod u+/sbin/ifconfig
  2. chmod g+/sbin/ifconfig

注:IP地址随环境准备配置

  1. 主机

  1. [standby]
  2. managed                        =  false
  3. is_debug                       =  false
  4. log_timestamp                  =  true
  5. local_server_port              =  54322
  6. remote_server_ip               =  10.10.10.2
  7. remote_server_port             = 
  8.  54322
  9. log_dir                        =
  10.  '/home/kingbase/KingbaseES/log'
  11. standby_log                    =
  12.  "standby-%w.log"
  13. server_mode                    = 'primary'
  14. kingbase_fault_num             = 
  15.  0
  16. enable_float_ip                =  true
  17. floatip_readonly_addcmd       
  18.  = '/sbin/ifconfig
  19.  eth0:0 10.150.73.188/24'
  20. floatip_readonly_delcmd       
  21.  = '/sbin/ifconfig
  22.  eth0:0 down'
  23. floatip_readwrite_addcmd      
  24.  = '/sbin/ifconfig
  25.  eth0:0 10.150.73.189/24' 
  26. floatip_readwrite_delcmd      
  27.  = '/sbin/ifconfig
  28.  eth0:0 down'
  29. [kingbase]
  30. managed                        =  false
  31. lifecheck_interval             = 
  32.  2
  33. kingbase_log                   =
  34.  "kingbase-%w.log"
  35. bin_dir                        =
  36.  '/home/kingbase/KingbaseES/bin'
  37. data_dir                       = '/DBDATA/data'
  38. log_archive_dest               = '/datas_local/archive'
  39. primary_conninfo               = 'host=10.10.10.2 port=54321'
  40. parallel_recover_threads       = 
  41.  1
  42. local_kingbase_cmdport         = 
  43.  54323
  44. protection_mode               
  45.  =  maxprotection      --同步模式(maxperformance异步模式)
  46. send_taillog                   =  true
  47. retrytimes                     =  0
  48. [network]
  49. managed                        =  true
  50. startlevel                     =  99
  51. stoplevel                      =  0
  52. checkalive                     = 'touch
  53.  /DBDATA/kingbase/kingbase.txt && ping -c 1 -w 1 10.150.73.190
  54.  1>/dev/null 2>/dev/null'
  55. checkinterval                  =  5
  56. checkfails                     =  3
  57. hotstandby                     =  false
  58. startcmd                       = ""
  59. stopcmd                        = ""
  60. needswitch                     =  true
  61. retrytimes                     =  0
  62. retrycmd                       = ""
  63. [klogminer]
  64. managed                        =  false
  65. startlevel                     =  99
  66. stoplevel                      =  0
  67. checkalive                     = "kdb_logminerd
  68.  status"
  69. checkinterval                  =  3
  70. checkfails                     =  1
  71. hotstandby                     =  false
  72. startcmd                       = "kdb_logminerd
  73.  start $MODE$"
  74. stopcmd                        = "kdb_logminerd
  75.  stop $PID$"
  76. needswitch                     =  true
  77. retrytimes                     =  0
  78. retrycmd                       = "kdb_logminerd
  79.  restart $FAILEDTIMES$"
  1. 备机

  1. [standby]
  2. managed                        =  false
  3. is_debug                       =  false
  4. log_timestamp                  =  true
  5. local_server_port              =  54322
  6. remote_server_ip               =  10.10.10.1
  7. remote_server_port             = 
  8.  54322
  9. log_dir                        =
  10.  '/home/kingbase/KingbaseES/log'
  11. standby_log                    =
  12.  "standby-%w.log"
  13. server_mode                    = 'standby'
  14. kingbase_fault_num             = 
  15.  0
  16. enable_float_ip                =  true
  17. floatip_readonly_addcmd       
  18.  = '/sbin/ifconfig
  19.  eth0:0 10.150.73.188/24'
  20. floatip_readonly_delcmd       
  21.  = '/sbin/ifconfig
  22.  eth0:0 down'
  23. floatip_readwrite_addcmd      
  24.  = '/sbin/ifconfig
  25.  eth0:0 10.150.73.189/24' 
  26. floatip_readwrite_delcmd      
  27.  = '/sbin/ifconfig
  28.  eth0:0 down'
  29. [kingbase]
  30. managed                        =  false
  31. lifecheck_interval             = 
  32.  2
  33. kingbase_log                   =
  34.  "kingbase-%w.log"
  35. bin_dir                        =
  36.  '/home/kingbase/KingbaseES/bin'
  37. data_dir                       = '/DBDATA/data'
  38. log_archive_dest               = '/datas_local/archive'
  39. primary_conninfo               = 'host=10.10.10.1 port=54321'
  40. parallel_recover_threads       = 
  41.  1
  42. local_kingbase_cmdport         = 
  43.  54323
  44. protection_mode                =  maxprotection
  45. send_taillog                   =  true
  46. retrytimes                     =  0
  47. [network]
  48. managed                        =  true
  49. startlevel                     =  99
  50. stoplevel                      =  0
  51. checkalive                     = ' touch
  52.  /DBDATA/kingbase/kingbase.txt && ping -c 1 -w 1 10.150.73.190
  53.  1>/dev/null 2>/dev/null '
  54. checkinterval                  =  5
  55. checkfails                     =  3
  56. hotstandby                     =  false
  57. startcmd                       = ""
  58. stopcmd                        = ""
  59. needswitch                     =  true
  60. retrytimes                     =  0
  61. retrycmd                       = ""
  62. [klogminer]
  63. managed                        =  false
  64. startlevel                     =  99
  65. stoplevel                      =  0
  66. checkalive                     = "kdb_logminerd
  67.  status"
  68. checkinterval                  =  3
  69. checkfails                     =  1
  70. hotstandby                     =  false
  71. startcmd                       = "kdb_logminerd
  72.  start $MODE$"
  73. stopcmd                        = "kdb_logminerd
  74.  stop $PID$"
  75. needswitch                     =  true
  76. retrytimes                     =  0
  77. retrycmd                       = "kdb_logminerd
  78.  restart $FAILEDTIMES$"

Dataguard双机集群启动

上述配置工作完成之后,首次启动standby服务,需要先启动主机standby控制器,然后再启动从机standby控制器;

使用kingbase用户进入目录/home/kingbase/KingbaseES/bin设置双机管理用户名\密码:

  1. ./standby UKLS WKLS            ——主备机都需要进行设置
  2. 使用root用户将/home/kingbase/KingbaseES/bin/standby7d文件拷贝到主备机的/etc/init.d文件夹下;
  3. 先启动主机:
  4. 使用root用户:/etc/init.d/standby7d start
  5. 启动备机:/etc/init.d/standby7d start
  6.  
  7. istandby登陆:
  8. ./istandby
  9.  UKLS WKLS
  10. 查看standby状态:get all status
  11. 停止控制器监听:stop listener
  12. 切换主从状态:swich over
  13. 如果配置正确,主从机网络正常。启动主从机standby后,主从机自动识别各自模式状态:主机为primary,从机为standby,通过客户端连接主机数据库,可以连接成功正常访问,
  14. 客户端连接从机数据库,不能正常访问,提示“处于standby模式的数据库系统不能接受连接”。
  1. Dataguard观察器

观察器配置部署(主备机都需要配置并启动)

  1. cd /home/kingbase/KingbaseES/config
  2. vim 
  3.  observer.conf
  4.  
  5. [observer]
  6. server_ip_1 =
  7.  '10.150.73.182'                  ----外网的IP地址
  8. server_ip_2 = '10.150.73.187'
  9. server_port_1 = 54322
  10. server_port_2 = 54322
  11. server_timeout = 10
  12. network_timeout = 10
  13. log_directory =
  14.  '/home/kingbase/KingbaseES/observer.log'
  15. query_interval = 1
  16.  
  17. TCP = 54324
  18. 启动观察器:
  19. ./observer &

本文出自 “岁伏” 博客,请务必保留此出处http://suifu.blog.51cto.com/9167728/1618572

KingbaseES的standby搭建的更多相关文章

  1. Oracle DataGuard 物理Standby 搭建(上)

    物理standby database 环境搭建 Arch asysnc Oracle Dataguard host IP Oracle_sid DB_unique_name FAL_server FA ...

  2. DataGuard相同SID物理Standby搭建

    Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数据不受 ...

  3. Oracle DataGuard 物理Standby 搭建(下)

    主备库切换 Switchover 一般SWITCHOVER切换都是计划中的切换,特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GUAR ...

  4. KingbaseES的HA搭建

    1.配置资源前准备: 安装好数据库并保持两台机器用户ID及组ID一致,组ID和用户ID在/etc/passwd查看,如不保持一致,可能导致切机时阵列的属主改变,导致数据库无法启动. 建议用法,现在两台 ...

  5. postgresql 异步流复制hot standby搭建

    先说说环境,主从库版本都是9.5,主库在CentOS物理机上,从库在Ubuntu虚拟机上 一.主库上的操作: 1.添加同步访问规则: host   replication     dbuser     ...

  6. Logical standby database 搭建(配置)

    说明 Logical standby 数据库是通过Physical standby数据库转换的.本Logical standby是通过之前创建的Physical standby转换的. Physica ...

  7. PostgreSQL Hot Standby的搭建

    一. 简介:          PG在9.*版本后热备提供了新的一个功能,那就是Stream Replication的读写分离,是PG高可用性的一个典型应用.这个功能在oracle中叫active d ...

  8. 模拟生产搭建Standby RAC实验环境(11.2.0.4 DG)

    模拟生产搭建Standby RAC实验环境(11.2.0.4 DG) 环境:RHEL 6.5 + Oracle 11.2.0.4 GI.DB 1.需求背景介绍 2.准备工作 3.主库配置 4.备库配置 ...

  9. vault 集群搭建(active standby 模式)

        参考架构图: consul server cluster 搭建 consul 基本配置格式 { "server": true, "node_name": ...

随机推荐

  1. hrbustoj 2013 Play Game 2(博弈)

    注释在代码里 /* 1.若输入2 ~ 9 ,因为Stan 是先手,所以Stan 必胜 2.若输入10~18 ,因为Ollie 是后手,不管第一次Stan 乘的是什么,Stan肯定在 2 ~ 9 之间, ...

  2. 超级好用的excel第三方组件

    http://www.cnblogs.com/MR_ke/archive/2010/02/25/1673243.html 前一篇介绍了怎么用com操作excel,后来有朋友说用NPOI好,下面我也来介 ...

  3. armstrong's programming erlang 2nd

    Re: json handling map functions in erlang 17 I have not read Joes final book on the matter (several ...

  4. Phpexcel 多sheet ,设置

    多sheet 一定要县创建sheet foreach ($alias_name as $ca) { if ($sheet > 0) { $objExcel->createSheet(); ...

  5. 牛掰啊,github+svn+FB进行项目开发

    刚刚头脑发热,用svn把自己的github的一个项目下载下来,然后在Flash Builder中导入,然后惊喜的发现项目居然被svn接管了,如图: 当然,你得给你的Flash Builder装SVN插 ...

  6. Codeforces#363 Div2

    A题: 题意:给定一些数,给定一些往左走和往右走的操作,问是否能够相遇,如果相遇请求出相遇时间 分析:对于相邻两个数,如果大的往左,小的往右就能够相遇,否则不能相遇,在求出所有相遇当中的第一次相遇即可 ...

  7. Android之ListView的快速滑动模式:fastScrollEnabled以及滑块的自定义

    http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0917/1690.html http://blog.csdn.net/xyang ...

  8. 控制流之continue

    continue语句continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后 继续 进行下一轮循环.使用continue语句~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...

  9. (简单) POJ 3667 Hotel,线段树+区间合并。

    Description The cows are journeying north to Thunder Bay in Canada to gain cultural enrichment and e ...

  10. Base64图片与UIImage的相互转化

    http://blog.csdn.net/fudesign2008/article/details/38903085 Base64图片 -> UIImage - (UIImage *) data ...