[HICP Gaussdb]データベース管理データベース(ロジックの複製を扱うプライマリおよびスタンバイ設定共通ビュー・ハンドオーバー失敗)-16

パラメータ説明
ARCHIVE_DEST_N
archive_dest_2 0.0この例でlocal_host = = = IP 192.168.0.1-サービス:ポート[同期|非同期] [PRIMARY_ROLE | STANDBY_ROLE | ALL_ROLES] [AFFIRM | NOAFFIRM] [zstd | LZ4]
         同期非同期:同期データの非同期データ
         0.0この例でlocal_host:ローカルIP
         サービス= IP:IPポートポートサービスマシン+
         PRIMARY_ROLE STANDBY_ROLE ALL_ROLES:役割のために有効にするパラメータ:ホストマシンや機器の完全な力に
         AFFIRM NOAFFIRM:トランザクションは、バックアップマシンの応答を待つ時間をコミットするかどうかは
         LZ4をzstd:アルゴリズム圧縮
LSNR_ADDRアドレスLSNR_PORTポート---- ------>スタンバイマシンの構成

 

#ホストを起動NOMOUNT
         zengineノーマウント-D /ホーム/ gaussdb&
ホストライブラリ上に構築された#
         データベースの作成ガウスARCHIVELOGの
バックアップマシン起動NOMOUNT#
         zengineノーマウント-D /ホーム/ gaussdb&
バックアップに#なるビルドを
         ビルドデータベースの
ホスト上の#検索役割と地位は、
         V $データベースからDATABASE_ROLE、database_conditionを選択します 。

 

 

共通のビュー
V $ DATABASEの
DATABASE_ROLEホストデータベースの主な役割[| physical_standby準備機械| cascaded_physical_standby調製機械カスケード]
database_conditionデータベース{の正常な状態に正常な状態|切断スタンバイマシンOFF | /降格促進/フェイルオーバー/促進 faftフェイルオーバー/を促進するのを待ちます必要性の修理のニーズ再構築]すべき|状態の切り替えスタンバイ
昇順急がせる主要な実行可能ファイルに[状態を切り替えるSWITCHOVER_STATUSスタンバイ|許可されていない昇順]が許可されていませ
FAILOVER_STATUSあなたは主に[フェイルオーバー操作を実行できるかどうかはfailver昇順を指定することができます|許可されない許可されていませんエグゼクティブ]

$ HA_SYNC_INFO V
ステータスログ送信スレッドの状態[状態にログを送信しないで接続| | |接続するための切断切断トライ対応するリンクを使用していない実行していない、完全に準備ができてシフト]
シーンarchive_dest_nこのマシンの力にrole_validエントリを[all_roleホスト・マシンとバックアップ・マシンは、ピアあります接続| PRIMARY_ROLEこのインスタンスは、リモートに接続されたホストである|接続端子] PRIMARY_ROLE調製機
同期net_modeログ転送{同期|非同期非同期]
peer_host / peer_portピアアドレスとポート
local_send_pointローカルログ送信点
peer_flush_point端末ログポイントを受け取ります[ビルド操作を実行するかどうかのピアをpeer_building | local_LFN / peer_LFNローカルLFNの終わり| local_LSN / peer_LSNローカルピアLSN]
flush_lagピアは、許容遅延時間ログに記録
ログの再生の終わりにreplay_lag遅延時間を

V $ MANAGED_STANDYBYの
プロセススレッド名[RFSはスレッドを受信ログ| FALアーカイブログ取得スレッドMRPログの再生のスレッドを| | ARCHアーカイブスレッド]
ストリーミング| catching_up準備がキャッチアップ状態になっている| |接続されたスタンバイ接続未送信のログ操作オープン[STATUSのスレッドの状態を製造機械は通常ログコピー状態である〕
号RESETLOG_IDがREDOログ・アーカイブresetlog
スレッドアーカイブREDOログ・スレッド数
のREDOログ・シーケンス番号のシーケンスアーカイブ
flush_point調製マシン現在のログコンパスポイント
primary_curr_pointホストはコンパスポイントログ
replay_point調製機電流ログの再生をポイント

一般的なビューは
、ホストスイッチング状態を問い合わせます

 


クエリログの同期ステータス

 

準備された機械リピート状況を照会

 

 

 

切替スタンバイのスイッチオーバー
スタンバイ・インスタンスを中心にローリング・アップグレード服用計画停止に使用される通常、完全なデータ損失ゼロスタンバイスイッチの役割、されている
フェールオーバーおよびフェールオーバ
オフ状態でのバックアップマシンは、バックアップフェイルオーバー上で実行することができますリットル神は、データの損失を引き起こす可能性がサービスを提供し続けて、元のホストは、マウント状態は主にフェールオーバーシナリオに使用する機器をダウングレードされて起動します

举例: select database_role , database_condition,switchover_status from V$DATABASE ;
alter database switchover ; # 切换主备
select database_role , database_condition,switchover_status from V$DATABASE ;

 

 

failover
举例: select database_role , database_condition,switchover_status from V$DATABASE ;
alter database failover # 切换主备
select database_role , database_condition,switchover_status from V$DATABASE ;
zengine mount -D /home/gaussdba & # 原主机mount启动
starting instance(mount) # 原主机mount启动
alter database convert to physical standby ; # 原主机降备

 

 

 

 

故障处理
故障1: RFS is not ready can not get peer role
场景: 一般出现在备机做build 由于这个报错造成build失败
原因分析: 直接原因是因为主机没有链接上备机
1、 主机没有启动 主机在停止状态下 build不可能成功
2、 主机没有open 主机只有在open状态下 才会去连接备机
3、 防火墙问题: 主备机器上任一防火墙没有关闭 都会造成build失败
4、 archive_dest_2 参数配置问题 , IP或者端口错误 ,role_valid错误
5、achive_dest_state_2 参数配置问题: 该参数配置成了defer 主机不在连接备机
排查: 根据上述原因逐一排查

故障2:备机状态显示 need repair
场景: 主机在执行业务的过程中被异常中断, 备机failver升主 , 原主降备 备机可能显示 need repair
原因分析: 备机显示 need repair 在运行日志里面都会打印相应原因
1、 主备不同源 主机的DBID和备机的DBID不一致 , 两者来自不同源头
2、主备redo日志不尽一致,主备的日志个数 大小 类型 block size等信息都要一致
3、resetid 大小有误 :主机的resetid必须要大于或者等于备机 但差值又不能超过1 ;
4、备机日志 比主机日志还多:主机的日志 至少要和备机一样多 但是绝对不能比备机少
5、主机归档文件不存在 :备机在回放日志过程中,如果缺少归档文件, 会向主机请求 如果主机上的归档文件找不到,则备机无法继续回放 ,备机显示 needrepir
排查: 重建备机来恢复主备关系
# build database

 

 

逻辑复制的原理:
逻辑复制工具 是通过解析包含逻辑日志信息的REDO日志和归档日志 获取数据变更信息 。然后将改变的变更信息放到目标端数据源。
逻辑复制主要场景如下:
1、主备数据库的增量数据备份
2、不同业务系统之间的数据同步
3、系统升级过程中的在线迁移

逻辑复制相当于屋里复制的优势:
1、物理复制对日志物理格式依赖强,而逻辑复制可以灵活实现gaussdb跨版本复制以及数据库异构
2、 逻辑复制可以支持源,目标数据库表结构不一致时的判定

 

 

 

 

步骤 :1、登录数据库
         2、 mkdir -p /opt/software/tools # 按规划创建存放逻辑复制工具的目录 将逻辑复制工具 安装包上传至目录 解压 进入 logicrep 目录
         3、进入逻辑复制工具的conf目录下 , 修改进程 启动参数的取值, 所有改动需要重启逻辑复制服务生效 conf/init.properties配置如下
thread.number 线程个数 ,replayer.class 回放类 ,dispath.queue.size 工作队列大小


         4、使用zsql登录源数据库 、执行一下sql


         5、在源数据库上 为源数据库和目录数据库 中逻辑复制服务使用的用户生成密码密文 。逻辑复制秘钥配置文件目录 conf/sec
         key1.properties 保存随机秘钥因子 ,key2.properity 保存工作秘钥
         ./zencrypt -e AES256 -f 秘钥因子 -k 工作秘钥 ---> 将生成的密码密文 填入 conf目录下的datasrouce.properity文件对应的ds.passwd配置项中
         修改参数如下: ds.type 数据源类型 当前支持 gauss oracle kafka 、 ds.url 数据库url地址 、 dsusername 逻辑复制服务使用的用户名称 、ds.passwd 逻辑密码


         6、配置conf/repconf 目录下的reconf_db.xml 该文件是映射关系
              repname 复制关系名称、 datasource 复制的源数据库名称和目标数据库名称、filtereduser 过滤信息的用户 、 modemapping 定义复制关系中 模型映射

 

おすすめ

転載: www.cnblogs.com/oscarli/p/12145663.html