Simply, setting CSS_CRITICAL for the node will provide more weight to not shutdown node during splitbrain.
August 3, 2022
August 1, 2022
Cluster Interconnect Split Brain Testing
There was a dicusssion about memory causing split brain for a 2 nodes RAC; however, the log shows otherwise.
By no means, am I a RAC expert.
For testing purpose, ethernet for cluster_interconnect was shut down.
From ocssd.trc, it does look to be caused by cluster_interconnect when comparing errors from actual vs test.
Details from Google Doc below.
Cluster Interconnect Split Brain Testing
What do you think?
July 16, 2022
High Level Compare Oracle Database 21c vs PostgreSQL 13 Installation
Install Oracle Database 21c on RHEL 8
Oracle is still using decades old runInstaller to install software and dbca create database using response file.
Need to manually configure AutoStart of Oracle Database with systemctl.
Install PostgreSQL with pgAdmin on CentOS / RHEL 8
Install and initialize the Postgres database is simple:
# dnf install -y postgresql13-server
# /usr/pgsql-13/bin/postgresql-13-setup initdb
Services are automatically configured with systemctl.
Lastly https://www.centlinux.com/ excellent articles.
June 29, 2022
Improved dgmgrl_validate_srl_all.sh
The orginal script was not able to handle multiple standbys.
This is the orginal script.
$ cat old_dgmgrl_validate_srl_all.sh
red='\033[0;31m'
green='\033[0;32m'
nc='\033[0m'
ps -ef|grep ora_[d]mon|sort -k8|awk -F "_" '{print $3}'|grep APEX18 > /tmp/sids.txt
arr=(`grep '^[A-Z].*' < /tmp/sids.txt`)
for i in "${arr[@]}"
do
echo ======================== $i ========================
. oraenv <<< $i >/dev/null
stby=`dgmgrl / "show configuration" | grep "Physical standby" | awk '{print $1;}'`
echo $stby
dgmgrl / "validate database verbose '$stby'" | grep -B4 "SRL"
done
exit
This is the orginal result.
$ ./old_dgmgrl_validate_srl_all.sh
======================== APEX181 ========================
APEX18_PHO APEX18_ASH
$
This is the improved script.
$ cat dgmgrl_validate_srl_all.sh
#!/bin/bash
# Created by Vyacheslav Rasskazov
# Updated by Michael Dinh : Add functionality for multiple standbys
red='\033[0;31m'
green='\033[0;32m'
nc='\033[0m'
ps -ef|grep ora_[d]mon|sort -k8 | awk -F "_" '{print $3}'|grep APEX18 > /tmp/sids.txt
arr=(`grep '^[A-Z].*' < /tmp/sids.txt`)
#set -x
for i in "${arr[@]}"
do
. oraenv <<< $i >/dev/null
echo ========= $i ":" $ORACLE_HOME =========
stby=`dgmgrl / "show configuration" | grep "Physical standby" | awk '{print $1;}'`
# Add functionality for multiple standbys
for x in $stby
do
echo "STANDBY DB_UNIQUE_NAME: " $x
dgmgrl / "validate database verbose '$x'" | grep -B4 "SRL"
done
done
exit
$
This is the improved result.
$ ./dgmgrl_validate_srl_all.sh
========= APEX181 : /u02/app/oracle/product/18.0.0.0/dbhome_7 =========
STANDBY DB_UNIQUE_NAME: APEX18_PHO
Current Log File Groups Configuration:
Thread # Online Redo Log Groups Standby Redo Log Groups Status
(APEX18_ASHBURN) (APEX18_PHO)
1 4 5 Sufficient SRLs
2 4 5 Sufficient SRLs
Future Log File Groups Configuration:
Thread # Online Redo Log Groups Standby Redo Log Groups Status
(APEX18_PHO) (APEX18_ASHBURN)
1 4 5 Sufficient SRLs
2 4 5 Sufficient SRLs
STANDBY DB_UNIQUE_NAME: APEX18_ASH
Current Log File Groups Configuration:
Thread # Online Redo Log Groups Standby Redo Log Groups Status
(APEX18_ASHBURN) (APEX18_ASH)
1 4 5 Sufficient SRLs
2 4 5 Sufficient SRLs
Future Log File Groups Configuration:
Thread # Online Redo Log Groups Standby Redo Log Groups Status
(APEX18_ASH) (APEX18_ASHBURN)
1 4 5 Sufficient SRLs
2 4 5 Sufficient SRLs
$
June 21, 2022
asmcmd find spfile/pwfile for db and asm
Quick and dirty post.
[oracle@ol7-19-rac1 ~]$ asmcmd find + spfile*
+DATA/CDBRAC/PARAMETERFILE/spfile.272.1107812515
[oracle@ol7-19-rac1 ~]$
[oracle@ol7-19-rac1 ~]$ asmcmd spget
+CRS/ol7-19-cluster/ASMPARAMETERFILE/registry.253.1107809781
[oracle@ol7-19-rac1 ~]$
[oracle@ol7-19-rac1 ~]$ asmcmd find + pw*
+CRS/ASM/PASSWORD/pwdasm.256.1108006195
+CRS/ASM/PASSWORD/pwdasm.257.1108006455
+DATA/CDBRAC/PASSWORD/pwdcdbrac.256.1108007495
[oracle@ol7-19-rac1 ~]$
[oracle@ol7-19-rac1 ~]$ asmcmd pwget --asm
+CRS/orapwASM
[oracle@ol7-19-rac1 ~]$
May 22, 2022
Systemd Persistent Logging
Remembrance from an old friend: Curiosity killed the cat, but satisfaction brought it back.
Finally found how to keep systemd logging persistent.
==================================================
### Number of reboots:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# last reboot
reboot system boot 5.4.17-2136.307. Sat May 21 17:53 - 18:01 (00:07)
reboot system boot 5.4.17-2136.307. Sat May 21 17:48 - 17:51 (00:03)
reboot system boot 5.4.17-2136.307. Sat May 21 11:01 - 17:48 (06:46)
reboot system boot 5.4.17-2136.307. Fri May 20 23:12 - 11:01 (11:48)
reboot system boot 5.4.17-2136.307. Fri May 20 22:54 - 23:11 (00:17)
reboot system boot 5.4.17-2136.307. Fri May 20 22:49 - 22:54 (00:04)
reboot system boot 5.4.17-2136.307. Fri May 20 22:21 - 22:49 (00:27)
reboot system boot 5.4.17-2136.307. Fri May 20 22:04 - 22:21 (00:16)
reboot system boot 5.4.17-2136.307. Thu May 19 23:35 - 22:03 (22:28)
reboot system boot 5.4.17-2136.307. Thu May 19 23:19 - 23:34 (00:15)
reboot system boot 5.4.17-2136.307. Thu May 19 23:07 - 23:18 (00:11)
reboot system boot 5.4.17-2136.307. Thu May 19 22:54 - 23:05 (00:11)
reboot system boot 5.4.17-2136.307. Thu May 19 22:47 - 22:53 (00:06)
reboot system boot 5.4.17-2136.307. Thu May 19 21:08 - 22:45 (01:37)
reboot system boot 5.4.17-2136.307. Thu May 19 20:40 - 21:07 (00:27)
reboot system boot 5.4.17-2136.307. Thu May 19 07:28 - 10:59 (03:31)
reboot system boot 5.4.17-2136.307. Thu May 19 07:22 - 07:27 (00:05)
reboot system boot 5.4.17-2036.100. Wed May 18 22:24 - 07:22 (08:57)
wtmp begins Wed May 18 22:24:31 2022
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### Only 1 reboot recorded from journalctl:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# journalctl --list-boots
0 016de73a7e81411bbd7c0b7657863852 Sat 2022-05-21 17:53:18 -04—Sat 2022-05-21 18:01:01 -04
[root@oracle-goldengate-1910-vagrant ~]#
[root@oracle-goldengate-1910-vagrant ~]# journalctl | head -1
-- Logs begin at Sat 2022-05-21 17:53:18 -04, end at Sat 2022-05-21 18:01:01 -04. --
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### Enable persistent systemd journal log:
==================================================
Enable persistent storage for the systemd journal log
https://gist.github.com/JPvRiel/b7c185833da32631fa6ce65b40836887
[root@oracle-goldengate-1910-vagrant ~]# mkdir /var/log/journal
[root@oracle-goldengate-1910-vagrant ~]# systemd-tmpfiles --create --prefix /var/log/journal
[root@oracle-goldengate-1910-vagrant ~]# echo "SystemMaxUse=100M" >> /etc/systemd/journald.conf
[root@oracle-goldengate-1910-vagrant ~]# grep -i SystemMaxUse /etc/systemd/journald.conf
#SystemMaxUse=
SystemMaxUse=100M
[root@oracle-goldengate-1910-vagrant ~]# systemctl restart systemd-journald.service
==================================================
### Moment of truth:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# last reboot
reboot system boot 5.4.17-2136.307. Sat May 21 18:31 - 18:33 (00:01)
reboot system boot 5.4.17-2136.307. Sat May 21 18:12 - 18:29 (00:16)
reboot system boot 5.4.17-2136.307. Sat May 21 17:53 - 18:09 (00:15)
reboot system boot 5.4.17-2136.307. Sat May 21 17:48 - 17:51 (00:03)
reboot system boot 5.4.17-2136.307. Sat May 21 11:01 - 17:48 (06:46)
reboot system boot 5.4.17-2136.307. Fri May 20 23:12 - 11:01 (11:48)
reboot system boot 5.4.17-2136.307. Fri May 20 22:54 - 23:11 (00:17)
reboot system boot 5.4.17-2136.307. Fri May 20 22:49 - 22:54 (00:04)
reboot system boot 5.4.17-2136.307. Fri May 20 22:21 - 22:49 (00:27)
reboot system boot 5.4.17-2136.307. Fri May 20 22:04 - 22:21 (00:16)
reboot system boot 5.4.17-2136.307. Thu May 19 23:35 - 22:03 (22:28)
reboot system boot 5.4.17-2136.307. Thu May 19 23:19 - 23:34 (00:15)
reboot system boot 5.4.17-2136.307. Thu May 19 23:07 - 23:18 (00:11)
reboot system boot 5.4.17-2136.307. Thu May 19 22:54 - 23:05 (00:11)
reboot system boot 5.4.17-2136.307. Thu May 19 22:47 - 22:53 (00:06)
reboot system boot 5.4.17-2136.307. Thu May 19 21:08 - 22:45 (01:37)
reboot system boot 5.4.17-2136.307. Thu May 19 20:40 - 21:07 (00:27)
reboot system boot 5.4.17-2136.307. Thu May 19 07:28 - 10:59 (03:31)
reboot system boot 5.4.17-2136.307. Thu May 19 07:22 - 07:27 (00:05)
reboot system boot 5.4.17-2036.100. Wed May 18 22:24 - 07:22 (08:57)
wtmp begins Wed May 18 22:24:31 2022
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### More than 1 reboot recorded from journalctl:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# journalctl --list-boots|sort
0 beedb88ca40c4c6187ae9d5c7ff1e96e Sat 2022-05-21 18:31:53 -04—Sat 2022-05-21 23:30:01 -04
-1 e12a9e02fd374350a5fcd3d4360b09fc Sat 2022-05-21 18:12:48 -04—Sat 2022-05-21 18:29:34 -04
-2 016de73a7e81411bbd7c0b7657863852 Sat 2022-05-21 17:53:18 -04—Sat 2022-05-21 18:09:16 -04
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### Review GoldengGate Start and Stop:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# last reboot|head -5|sort -n
reboot system boot 5.4.17-2136.307. Sat May 21 11:01 - 17:48 (06:46)
reboot system boot 5.4.17-2136.307. Sat May 21 17:48 - 17:51 (00:03)
reboot system boot 5.4.17-2136.307. Sat May 21 17:53 - 18:09 (00:15)
reboot system boot 5.4.17-2136.307. Sat May 21 18:12 - 18:29 (00:16)
reboot system boot 5.4.17-2136.307. Sat May 21 18:31 - 19:11 (00:39)
[root@oracle-goldengate-1910-vagrant ~]#
[root@oracle-goldengate-1910-vagrant ~]# journalctl --no-pager|grep "Manager st"
May 21 17:53:44 oracle-goldengate-1910-vagrant start_goldengate.sh[3115]: Manager started.
May 21 18:09:04 oracle-goldengate-1910-vagrant stop_goldengate.sh[6177]: Manager stopped.
May 21 18:13:15 oracle-goldengate-1910-vagrant start_goldengate.sh[3383]: Manager started.
May 21 18:29:21 oracle-goldengate-1910-vagrant stop_goldengate.sh[6290]: Manager stopped.
May 21 18:32:17 oracle-goldengate-1910-vagrant start_goldengate.sh[4134]: Manager started.
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
reboot system boot 5.4.17-2136.307. Sat May 21 17:48 - 17:51 (00:03)
journalctl May 21 17:53:44 oracle-goldengate-1910-vagrant start_goldengate.sh[3115]: Manager started.
reboot system boot 5.4.17-2136.307. Sat May 21 17:53 - 18:09 (00:15)
journalctl May 21 18:09:04 oracle-goldengate-1910-vagrant stop_goldengate.sh[6177]: Manager stopped.
journalctl May 21 18:13:15 oracle-goldengate-1910-vagrant start_goldengate.sh[3383]: Manager started.
reboot system boot 5.4.17-2136.307. Sat May 21 18:12 - 18:29 (00:16)
journalctl May 21 18:13:15 oracle-goldengate-1910-vagrant start_goldengate.sh[3383]: Manager started.
journalctl May 21 18:29:21 oracle-goldengate-1910-vagrant stop_goldengate.sh[6290]: Manager stopped.
reboot system boot 5.4.17-2136.307. Sat May 21 18:31 - 10:57 (16:25)
journalctl May 21 18:32:17 oracle-goldengate-1910-vagrant start_goldengate.sh[4134]: Manager started.
May 21, 2022
Systemd Database GoldenGate Service Start Stop
A complicated solution for a simple process.
If you can’t beat them, join them.
==================================================
### Restart vagrant box:
==================================================
resetlogs@ghost MINGW64 /e/oracle/vagrant-projects/OracleGoldenGate/19.3.0 (main)
$ vagrant halt
resetlogs@ghost MINGW64 /e/oracle/vagrant-projects/OracleGoldenGate/19.3.0 (main)
$ vagrant up
resetlogs@ghost MINGW64 /e/oracle/vagrant-projects/OracleGoldenGate/19.3.0 (main)
$ vagrant ssh
==================================================
### System info and last reboot:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# cat /etc/system-release
Oracle Linux Server release 7.9
[root@oracle-goldengate-1910-vagrant ~]#
[root@oracle-goldengate-1910-vagrant ~]# last reboot|head -1
reboot system boot 5.4.17-2136.307. Sat May 21 11:01 - 11:02 (00:00)
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### Verify goldengate.service started on reboot:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# systemctl status goldengate.service
● goldengate.service - Oracle GoldenGate Manager
Loaded: loaded (/etc/systemd/system/goldengate.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2022-05-21 11:02:14 -04; 1min 9s ago
Process: 4485 ExecStart=/home/oracle/scripts/start_goldengate.sh (code=exited, status=0/SUCCESS)
Main PID: 4504 (mgr)
CGroup: /system.slice/goldengate.service
├─4504 ./mgr PARAMFILE /u01/ogg/dirprm/mgr.prm REPORTFILE /u01/ogg/dirrpt/MGR.rpt PROCESSID MGR
└─4522 /u01/ogg/extract PARAMFILE /u01/ogg/dirprm/ext.prm REPORTFILE /u01/ogg/dirrpt/EXT.rpt PROCESSID EXT
May 21 11:02:06 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: Manager started.
May 21 11:02:06 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: GGSCI (oracle-goldengate-1910-vagrant) 3> START ER *
May 21 11:02:07 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: Sending START request to MANAGER ...
May 21 11:02:07 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: EXTRACT EXT starting
May 21 11:02:07 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: GGSCI (oracle-goldengate-1910-vagrant) 4> shell sleep 5
May 21 11:02:13 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: GGSCI (oracle-goldengate-1910-vagrant) 5> INFO ALL
May 21 11:02:14 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: Program Status Group Lag at Chkpt Time Since Chkpt
May 21 11:02:14 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: MANAGER RUNNING
May 21 11:02:14 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: EXTRACT RUNNING EXT 00:01:25 00:00:00
May 21 11:02:14 oracle-goldengate-1910-vagrant systemd[1]: Started Oracle GoldenGate Manager.
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### Check logs for goldengate.service:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# journalctl -u goldengate.service
-- Logs begin at Sat 2022-05-21 11:01:41 -04, end at Sat 2022-05-21 11:03:24 -04. --
May 21 11:02:04 oracle-goldengate-1910-vagrant systemd[1]: Starting Oracle GoldenGate Manager...
May 21 11:02:04 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: The Oracle base has been set to /opt/oracle
May 21 11:02:04 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: Oracle GoldenGate Command Interpreter for Oracle
May 21 11:02:04 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
May 21 11:02:04 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: Linux, x64, 64bit (optimized), Oracle 19c on Oct 17 2019 21:16:29
May 21 11:02:04 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: Operating system character set identified as UTF-8.
May 21 11:02:04 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
May 21 11:02:05 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: GGSCI (oracle-goldengate-1910-vagrant) 1>
May 21 11:02:05 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: GGSCI (oracle-goldengate-1910-vagrant) 2> START MGR
May 21 11:02:06 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: Manager started.
May 21 11:02:06 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: GGSCI (oracle-goldengate-1910-vagrant) 3> START ER *
May 21 11:02:07 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: Sending START request to MANAGER ...
May 21 11:02:07 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: EXTRACT EXT starting
May 21 11:02:07 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: GGSCI (oracle-goldengate-1910-vagrant) 4> shell sleep 5
May 21 11:02:13 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: GGSCI (oracle-goldengate-1910-vagrant) 5> INFO ALL
May 21 11:02:14 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: Program Status Group Lag at Chkpt Time Since Chkpt
May 21 11:02:14 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: MANAGER RUNNING
May 21 11:02:14 oracle-goldengate-1910-vagrant start_goldengate.sh[4485]: EXTRACT RUNNING EXT 00:01:25 00:00:00
May 21 11:02:14 oracle-goldengate-1910-vagrant systemd[1]: Started Oracle GoldenGate Manager.
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### There is no log from journalctl before reboot:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# last reboot|head -1
reboot system boot 5.4.17-2136.307. Sat May 21 11:01 - 11:32 (00:30)
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### NOTICE: Logs begin at Sat 2022-05-21 11:01:41
==================================================
[root@oracle-goldengate-1910-vagrant ~]# journalctl --no-pager|head -2
-- Logs begin at Sat 2022-05-21 11:01:41 -04, end at Sat 2022-05-21 11:30:01 -04. --
May 21 11:01:41 oracle-goldengate-1910-vagrant systemd-journal[151]: Runtime journal is using 8.0M (max allowed 96.8M, trying to leave 145.3M free of 960.7M available → current limit 96.8M).
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### stop_goldengate.sh attempts to gather info:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# ls -alrt /u01/ogg/ggse*
-rw-r-----. 1 oracle oinstall 7835 May 21 11:00 /u01/ogg/ggserr.log.20220521.1100
-rw-r--r--. 1 oracle oinstall 955 May 21 11:00 /u01/ogg/ggserr.log.stop
-rw-r-----. 1 oracle oinstall 10384 May 21 11:02 /u01/ogg/ggserr.log
[root@oracle-goldengate-1910-vagrant ~]#
[root@oracle-goldengate-1910-vagrant ~]# cat /u01/ogg/ggserr.log.stop
2022-05-21T11:00:47.915-0400 INFO OGG-00987 Oracle GoldenGate Command Interpreter for Oracle: GGSCI command (oracle): STOP MGR.
2022-05-21T11:00:47.930-0400 INFO OGG-00963 Oracle GoldenGate Manager for Oracle, mgr.prm: Command received from GGSCI on host [127.0.0.1]:58056 (STOP).
2022-05-21T11:00:47.930-0400 WARNING OGG-00938 Oracle GoldenGate Manager for Oracle, mgr.prm: Manager is stopping at user request.
2022-05-21T11:00:51.934-0400 INFO OGG-00987 Oracle GoldenGate Command Interpreter for Oracle: GGSCI command (oracle): STOP ER *.
2022-05-21T11:00:52.175-0400 INFO OGG-01021 Oracle GoldenGate Capture for Oracle, ext.prm: Command received from GGSCI: STOP.
2022-05-21T11:00:52.179-0400 INFO OGG-00991 Oracle GoldenGate Capture for Oracle, ext.prm: EXTRACT EXT stopped normally.
2022-05-21T11:00:59.213-0400 INFO OGG-00987 Oracle GoldenGate Command Interpreter for Oracle: GGSCI command (oracle): INFO ALL.
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### Continue with demo:
==================================================
==================================================
### Stop goldengate.service using systemctl stop:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# systemctl stop goldengate.service
[root@oracle-goldengate-1910-vagrant ~]# systemctl status goldengate.service
● goldengate.service - Oracle GoldenGate Manager
Loaded: loaded (/etc/systemd/system/goldengate.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Sat 2022-05-21 11:16:37 -04; 13s ago
Process: 5432 ExecStop=/home/oracle/scripts/stop_goldengate.sh (code=exited, status=0/SUCCESS)
Process: 4485 ExecStart=/home/oracle/scripts/start_goldengate.sh (code=exited, status=0/SUCCESS)
Main PID: 4504 (code=exited, status=0/SUCCESS)
May 21 11:16:28 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Manager stopped.
May 21 11:16:28 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: GGSCI (oracle-goldengate-1910-vagrant) 3> STOP ER *
May 21 11:16:29 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Sending STOP request to EXTRACT EXT ...
May 21 11:16:30 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Request processed.
May 21 11:16:30 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: GGSCI (oracle-goldengate-1910-vagrant) 4> shell sleep 5
May 21 11:16:36 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: GGSCI (oracle-goldengate-1910-vagrant) 5> INFO ALL
May 21 11:16:37 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Program Status Group Lag at Chkpt Time Since Chkpt
May 21 11:16:37 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: MANAGER STOPPED
May 21 11:16:37 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: EXTRACT STOPPED EXT 00:00:00 00:00:07
May 21 11:16:37 oracle-goldengate-1910-vagrant systemd[1]: Stopped Oracle GoldenGate Manager.
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### Check journalctl -u goldengate.service:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# journalctl -u goldengate.service|grep -i stop
May 21 11:16:24 oracle-goldengate-1910-vagrant systemd[1]: Stopping Oracle GoldenGate Manager...
May 21 11:16:24 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: The Oracle base has been set to /opt/oracle
May 21 11:16:24 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: ‘/u01/ogg/ggserr.log’ -> ‘/u01/ogg/ggserr.log.20220521.1116’
May 21 11:16:24 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Oracle GoldenGate Command Interpreter for Oracle
May 21 11:16:24 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
May 21 11:16:24 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Linux, x64, 64bit (optimized), Oracle 19c on Oct 17 2019 21:16:29
May 21 11:16:24 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Operating system character set identified as UTF-8.
May 21 11:16:24 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
May 21 11:16:25 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: GGSCI (oracle-goldengate-1910-vagrant) 1>
May 21 11:16:25 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: GGSCI (oracle-goldengate-1910-vagrant) 2> STOP MGR !
May 21 11:16:26 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Sending STOP request to MANAGER ...
May 21 11:16:26 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Request processed.
May 21 11:16:28 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Manager stopped.
May 21 11:16:28 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: GGSCI (oracle-goldengate-1910-vagrant) 3> STOP ER *
May 21 11:16:29 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Sending STOP request to EXTRACT EXT ...
May 21 11:16:30 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Request processed.
May 21 11:16:30 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: GGSCI (oracle-goldengate-1910-vagrant) 4> shell sleep 5
May 21 11:16:36 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: GGSCI (oracle-goldengate-1910-vagrant) 5> INFO ALL
May 21 11:16:37 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: Program Status Group Lag at Chkpt Time Since Chkpt
May 21 11:16:37 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: MANAGER STOPPED
May 21 11:16:37 oracle-goldengate-1910-vagrant stop_goldengate.sh[5432]: EXTRACT STOPPED EXT 00:00:00 00:00:07
May 21 11:16:37 oracle-goldengate-1910-vagrant systemd[1]: Stopped Oracle GoldenGate Manager.
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### List ggserr logs:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# ls -alrt /u01/ogg/ggse*
-rw-r-----. 1 oracle oinstall 7835 May 21 11:00 /u01/ogg/ggserr.log.20220521.1100
-rw-r-----. 1 oracle oinstall 10384 May 21 11:16 /u01/ogg/ggserr.log.20220521.1116
-rw-r-----. 1 oracle oinstall 955 May 21 11:16 /u01/ogg/ggserr.log
-rw-r--r--. 1 oracle oinstall 955 May 21 11:16 /u01/ogg/ggserr.log.stop
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### Services configured for rdbms and goldengate:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# systemctl list-unit-files|egrep -i 'oracle|gate'
goldengate.service enabled
oracle-rdbms.service enabled
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### Configuration for goldengate.service:
==================================================
[root@oracle-goldengate-1910-vagrant ~]# ls -l /etc/systemd/system/goldengate.service
-rw-r--r--. 1 root root 713 May 19 23:16 /etc/systemd/system/goldengate.service
[root@oracle-goldengate-1910-vagrant ~]#
[root@oracle-goldengate-1910-vagrant ~]# cat /etc/systemd/system/goldengate.service
[Unit]
Description=Oracle GoldenGate Manager
After=syslog.target network.target
# systemctl list-unit-files|grep -i oracle
After=oracle-rdbms.service
[Service]
Type=forking
RemainAfterExit=yes
KillMode=none
User=oracle
Group=oinstall
TimeoutStopSec=60
TimeoutSec=300
Restart=no
# systemd ignores PAM limits, so set any necessary limits in the service.
# Not really a bug, but a feature.
# https://bugzilla.redhat.com/show_bug.cgi?id=754285
# /etc/security/limits.d/oracle-database-preinstall-19c.conf
LimitMEMLOCK=infinity
LimitNOFILE=131072
LimitNPROC=131072
ExecStart=/home/oracle/scripts/start_goldengate.sh
ExecStop=/home/oracle/scripts/stop_goldengate.sh
Restart=no
[Install]
WantedBy=multi-user.target
[root@oracle-goldengate-1910-vagrant ~]#
==================================================
### GoldenGate processes:
==================================================
oracle@oracle-goldengate-1910-vagrant ogg]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 19c on Oct 17 2019 21:16:29
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
GGSCI (oracle-goldengate-1910-vagrant) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT 00:00:00 00:00:00
GGSCI (oracle-goldengate-1910-vagrant) 2> info mgr detail
Manager is running (IP port TCP:oracle-goldengate-1910-vagrant.7809, Process ID 5539).
GGSCI (oracle-goldengate-1910-vagrant) 3> info extract *
EXTRACT EXT Last Started 2022-05-20 23:31 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:03 ago)
Process ID 5546
Log Read Checkpoint Oracle Integrated Redo Logs
2022-05-20 23:35:08
SCN 0.3722791 (3722791)
GGSCI (oracle-goldengate-1910-vagrant) 4> exit
[oracle@oracle-goldengate-1910-vagrant ogg]$
==================================================
### start_goldengate.sh & start_goldengate.obey:
==================================================
[oracle@oracle-goldengate-1910-vagrant ~]$ cat /home/oracle/scripts/start_goldengate.sh
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
ORAENV_ASK=NO; ORACLE_SID=ORCLCDB; OGG_HOME=/u01/ogg
. /usr/local/bin/oraenv
$OGG_HOME/ggsci << EOF
OBEY /home/oracle/scripts/start_goldengate.obey
exit
EOF
exit
[oracle@oracle-goldengate-1910-vagrant ~]$
[oracle@oracle-goldengate-1910-vagrant ~]$ cat /home/oracle/scripts/start_goldengate.obey
START MGR
START ER *
shell sleep 5
INFO ALL
[oracle@oracle-goldengate-1910-vagrant ~]$
==================================================
### stop_goldengate.sh & stop_goldengate.obey:
==================================================
[oracle@oracle-goldengate-1910-vagrant ~]$ cat /home/oracle/scripts/stop_goldengate.sh
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
ORAENV_ASK=NO; ORACLE_SID=ORCLCDB; OGG_HOME=/u01/ogg
. /usr/local/bin/oraenv
# Rotate existing GGSERR_LOG with append date
GGSERR_LOG=$OGG_HOME/ggserr.log
cp -fv ${GGSERR_LOG%%.*}.{${GGSERR_LOG#*.},${GGSERR_LOG#*.}."$(date +%Y%m%d.%H%M)"}
cat /dev/null > $GGSERR_LOG
$OGG_HOME/ggsci << EOF
OBEY /home/oracle/scripts/stop_goldengate.obey
exit
EOF
tail -9 $GGSERR_LOG > $GGSERR_LOG.stop
exit
[oracle@oracle-goldengate-1910-vagrant ~]$
[oracle@oracle-goldengate-1910-vagrant ~]$ cat /home/oracle/scripts/stop_goldengate.obey
STOP MGR !
STOP ER *
shell sleep 5
INFO ALL
[oracle@oracle-goldengate-1910-vagrant ~]$
==================================================
### GoldenGate credential store:
==================================================
GGSCI (oracle-goldengate-1910-vagrant) 1> INFO CREDENTIALSTORE
Reading from credential store:
Default domain: OracleGoldenGate
Alias: c##ggadmin
Userid: c##ggadmin@ORCLCDB
GGSCI (oracle-goldengate-1910-vagrant) 2>
==================================================
### GoldenGate mgr.prm:
==================================================
[oracle@oracle-goldengate-1910-vagrant ogg]$ cat dirprm/mgr.prm
PORT 7809
USERIDALIAS c##ggadmin
PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 3
AUTOSTART ER *
AUTORESTART ER *, RETRIES 5, WAITMINUTES 2, RESETMINUTES 60
CHECKMINUTES 5
LAGINFOMINUTES 0
LAGCRITICALMINUTES 5
[oracle@oracle-goldengate-1910-vagrant ogg]$
==================================================
### GoldenGate ext.prm:
==================================================
[oracle@oracle-goldengate-1910-vagrant ogg]$ cat dirprm/ext.prm
EXTRACT ext
SETENV (ORACLE_SID = "ORCLCDB")
SETENV (ORACLE_HOME = "/opt/oracle/product/19c/dbhome_1")
USERIDALIAS c##ggadmin
EXTTRAIL ./dirdat/et
GETUPDATEBEFORES
UPDATERECORDFORMAT COMPACT
SOURCECATALOG ORCLPDB1
TABLE ogguser.*;
SEQUENCE ogguser.*;
[oracle@oracle-goldengate-1910-vagrant ogg]$
==================================================
### tnsnames.ora requires (UR=A):
==================================================
ORCLPDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLPDB1)(UR=A)
)
)
==================================================
!!! IMPORTANT !!!
==================================================
systemctl is NOT aware when goldengate start/stopp from ggsci!
GGSCI (oracle-goldengate-1910-vagrant) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT 00:00:00 00:00:09
GGSCI (oracle-goldengate-1910-vagrant) 2> stop mgr !
Sending STOP request to MANAGER ...
Request processed.
Manager stopped.
GGSCI (oracle-goldengate-1910-vagrant) 3> stop er *
Sending STOP request to EXTRACT EXT ...
Request processed.
GGSCI (oracle-goldengate-1910-vagrant) 4> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
EXTRACT STOPPED EXT 00:00:00 00:00:04
GGSCI (oracle-goldengate-1910-vagrant) 5>
==============================
[root@oracle-goldengate-1910-vagrant ~]# systemctl status goldengate.service
● goldengate.service - Oracle GoldenGate Manager
Loaded: loaded (/etc/systemd/system/goldengate.service; enabled; vendor preset: disabled)
Active: active (exited) since Sat 2022-05-21 12:00:46 -04; 1min 40s ago
Process: 5432 ExecStop=/home/oracle/scripts/stop_goldengate.sh (code=exited, status=0/SUCCESS)
Process: 7921 ExecStart=/home/oracle/scripts/start_goldengate.sh (code=exited, status=0/SUCCESS)
Main PID: 4504 (code=exited, status=0/SUCCESS)
May 21 12:00:37 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: GGSCI (oracle-goldengate-1910-vagrant) 2> START MGR
May 21 12:00:38 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: MGR is already running.
May 21 12:00:38 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: GGSCI (oracle-goldengate-1910-vagrant) 3> START ER *
May 21 12:00:39 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: EXTRACT EXT is already running.
May 21 12:00:39 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: GGSCI (oracle-goldengate-1910-vagrant) 4> shell sleep 5
May 21 12:00:45 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: GGSCI (oracle-goldengate-1910-vagrant) 5> INFO ALL
May 21 12:00:46 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: Program Status Group Lag at Chkpt Time Since Chkpt
May 21 12:00:46 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: MANAGER RUNNING
May 21 12:00:46 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: EXTRACT RUNNING EXT 00:00:00 00:00:00
May 21 12:00:46 oracle-goldengate-1910-vagrant systemd[1]: Started Oracle GoldenGate Manager.
[root@oracle-goldengate-1910-vagrant ~]#
==============================
GGSCI (oracle-goldengate-1910-vagrant) 1> sh date
Sat May 21 12:07:40 -04 2022
GGSCI (oracle-goldengate-1910-vagrant) 2> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
EXTRACT STOPPED EXT 00:00:00 00:05:45
GGSCI (oracle-goldengate-1910-vagrant) 3> start mgr
Manager started.
GGSCI (oracle-goldengate-1910-vagrant) 4> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT 00:00:00 00:00:03
GGSCI (oracle-goldengate-1910-vagrant) 5>
==============================
[root@oracle-goldengate-1910-vagrant ~]# systemctl status goldengate.service
● goldengate.service - Oracle GoldenGate Manager
Loaded: loaded (/etc/systemd/system/goldengate.service; enabled; vendor preset: disabled)
Active: active (exited) since Sat 2022-05-21 12:00:46 -04; 7min ago
Process: 5432 ExecStop=/home/oracle/scripts/stop_goldengate.sh (code=exited, status=0/SUCCESS)
Process: 7921 ExecStart=/home/oracle/scripts/start_goldengate.sh (code=exited, status=0/SUCCESS)
Main PID: 4504 (code=exited, status=0/SUCCESS)
May 21 12:00:37 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: GGSCI (oracle-goldengate-1910-vagrant) 2> START MGR
May 21 12:00:38 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: MGR is already running.
May 21 12:00:38 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: GGSCI (oracle-goldengate-1910-vagrant) 3> START ER *
May 21 12:00:39 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: EXTRACT EXT is already running.
May 21 12:00:39 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: GGSCI (oracle-goldengate-1910-vagrant) 4> shell sleep 5
May 21 12:00:45 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: GGSCI (oracle-goldengate-1910-vagrant) 5> INFO ALL
May 21 12:00:46 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: Program Status Group Lag at Chkpt Time Since Chkpt
May 21 12:00:46 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: MANAGER RUNNING
May 21 12:00:46 oracle-goldengate-1910-vagrant start_goldengate.sh[7921]: EXTRACT RUNNING EXT 00:00:00 00:00:00
May 21 12:00:46 oracle-goldengate-1910-vagrant systemd[1]: Started Oracle GoldenGate Manager.
[root@oracle-goldengate-1910-vagrant ~]#
April 14, 2022
Gather Oracle ExaData Cloud Service (ExaCS) Region/AD From Hostname
Here are all the ExaData hosts without the instance# as it does not make a difference in the results.
### cn is Client Name abbreviation.
cnexaashad2x8na-xxxxx
cnexaashad3x8na-xxxxx
cnexafraad2x8m-xxxxx-yyyyy
cnexalonad2x8m-xxxxx-yyyyy
cnexaphxad2x8m-xxxxx-yyyyy
cnexasydad1x8m-xxxxx-yyyyy
### Shell Script to extract info:
kucubiwopeto@pc-3fbecf:~$ cat exacs_name.sh
StringVal="cnexaashad2x8na-xxxxx cnexaashad3x8na-xxxxx cnexafraad2x8m-xxxxx-yyyyy cnexalonad2x8m-xxxxx-yyyyy cnexaphxad2x8m-xxxxx-yyyyy cnexasydad1x8m-xxxxx-yyyyy"
for val in $StringVal; do
cloud_service=${val:2:3}
region=${val:5:3}
availability_domain=${val:8:3}
echo $cloud_service-$region-$availability_domain
done
exit
kucubiwopeto@pc-3fbecf:~$
### Results:
kucubiwopeto@pc-3fbecf:~$ ./exacs_name.sh
exa-ash-ad2
exa-ash-ad3
exa-fra-ad2
exa-lon-ad2
exa-phx-ad2
exa-syd-ad1
kucubiwopeto@pc-3fbecf:~$
March 26, 2022
Default SSH keys Algorithm
I encountered a peculiar incindent for not being able to connect to host after installing Git Bash latest version.
Basically old Git version 2.32.0.windows.1 SSH key default is RSA while new Git version 2.35.1.windows.2 SSH key default is ED25519.
One option is to restore to previous Git version (which I opted).
Alternatively, specify -oHostKeyAlgorithms when using new Git Version.
================================================
--- Find Windows OS
================================================
C:\Users\pucaximibepu>systeminfo | findstr OS
OS Name: Microsoft Windows Server 2019 Datacenter
OS Version: 10.0.17763 N/A Build 17763
OS Manufacturer: Microsoft Corporation
OS Configuration: Member Server
OS Build Type: Multiprocessor Free
BIOS Version: Amazon EC2 1.0, 10/16/2017
C:\Users\pucaximibepu>
==================================================
--- git version 2.35.1.windows.2 (default ed25519)
==================================================
pucaximibepu@tank-8753 MINGW64 ~
$ git --version
git version 2.35.1.windows.2
==================================================
--- Connect using ssh FAILED
==================================================
pucaximibepu@tank-8753 MINGW64 ~
$ ssh p_mdinh@172.22.37.10
Unable to negotiate with 172.22.37.10 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
==================================================
--- Specify -oHostKeyAlgorithms ssh-dss SUCCEEDED
==================================================
pucaximibepu@tank-8753 MINGW64 ~
$ ssh -oHostKeyAlgorithms=+ssh-dss p_mdinh@172.22.37.10
(p_mdinh@172.22.37.10)
**********************************************************
**** ATTENTION ** ATTENTION ** ATTENTION ** ATTENTION ****
**********************************************************
Use SecureAuth 2FA to login - RSA tokens no longer work.
Enter your RSD password (your computer/mail password)
and NOT your Linux password.
Password:
==================================================
--- Specify -oHostKeyAlgorithms ssh-rsa FAILED
==================================================
pucaximibepu@tank-8753 MINGW64 ~
$ ssh -oHostKeyAlgorithms=+ssh-rsa p_mdinh@172.22.37.10
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:++6geRg12kREpx3l5ZjYKm+EhiDuG5nfsFOkavD6PUI.
Please contact your system administrator.
Add correct host key in /c/Users/pucaximibepu/.ssh/known_hosts to get rid of this message.
Offending DSA key in /c/Users/pucaximibepu/.ssh/known_hosts:2
Host key for 172.22.37.10 has changed and you have requested strict checking.
Host key verification failed.
pucaximibepu@tank-8753 MINGW64 ~
$
==================================================
--- Remove known_hosts
==================================================
pucaximibepu@tank-8753 MINGW64 ~
$ cd .ssh
pucaximibepu@tank-8753 MINGW64 ~/.ssh
$ ls -l
total 4
-rw-r--r-- 1 pucaximibepu 1049089 1214 Mar 26 16:25 known_hosts
pucaximibepu@tank-8753 MINGW64 ~/.ssh
$ rm known_hosts
==================================================
--- Specify -oHostKeyAlgorithms ssh-rsa SUCCEEDED
==================================================
pucaximibepu@tank-8753 MINGW64 ~/.ssh
$ ssh -oHostKeyAlgorithms=+ssh-rsa p_mdinh@172.22.37.10
The authenticity of host '172.22.37.10 (172.22.37.10)' can't be established.
RSA key fingerprint is SHA256:++6geRg12kREpx3l5ZjYKm+EhiDuG5nfsFOkavD6PUI.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '172.22.37.10' (RSA) to the list of known hosts.
(p_mdinh@172.22.37.10)
**********************************************************
**** ATTENTION ** ATTENTION ** ATTENTION ** ATTENTION ****
**********************************************************
Use SecureAuth 2FA to login - RSA tokens no longer work.
Enter your RSD password (your computer/mail password)
and NOT your Linux password.
Password:
==================================================
--- git version 2.32.0.windows.1 (default RSA)
==================================================
pucaximibepu@tank-8753 MINGW64 ~
$ git --version
git version 2.32.0.windows.1
==================================================
--- ssh SUCCEEDED without -oHostKeyAlgorithms
==================================================
pucaximibepu@tank-8753 MINGW64 ~
$ ssh p_mdinh@172.22.37.10
(p_mdinh@172.22.37.10)
**********************************************************
**** ATTENTION ** ATTENTION ** ATTENTION ** ATTENTION ****
**********************************************************
Use SecureAuth 2FA to login - RSA tokens no longer work.
Enter your RSD password (your computer/mail password)
and NOT your Linux password.
Password:
March 2, 2022
Validating RMAN Backup For Restore
Backup is only good if it can be used to restore.
Lately, I have been performing a lot of RMAN backup and validation.
In summary:
Restore validate completed in 0:24:17 (h:m:s)
comprising of 39 ARCH, 1 LEVEL0, 3 LEVEL1, and 2 TAG20220302T121110 (control files backup).
--- The only reason I am providing host info is because grep -A does not work!
Host: AIX dbhost01 1 7 00C7DE504B00
--- RMAN restore script:
restore_validate.rman
spool log to restore_validate.log
set echo on
connect target;
show all;
restore spfile validate;
restore controlfile validate;
restore database until time "SYSDATE" check logical validate;
restore archivelog from time "SYSDATE-1" check logical validate;
report schema;
exit
--- RMAN configuration:
Recovery Manager: Release 11.2.0.4.0 - Production on Wed Mar 2 15:59:34 2022
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: BANANA (DBID=2937483440)
RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name BANANA are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE SBT_TAPE PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/opt/dpsapps/dbappagent/lib/lib64/libddboostora.so,SBT_PARMS=(CONFIG_FILE=/home/oracle/idpa_ddbea.config)';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO 'SBT_TAPE';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/opt/oracle/product/11.2.0/11.2.0.4/dbs/snapcf_BANANA.f'; # default
RMAN>
--- Run RMAN restore_validate:
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $ export NLS_DATE_FORMAT='YYYY-MON-DD HH24:MI:SS'
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $ nohup rman @restore_validate.rman > /tmp/restore_validate.rman_$ORACLE_SID.log 2>&1 &
[1] 2359590
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $ jobs
[1]+ Running nohup rman @restore_validate.rman > /tmp/restore_validate.rman_$ORACLE_SID.log 2>&1 &
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $
[1]+ Done nohup rman @restore_validate.rman > /tmp/restore_validate.rman_$ORACLE_SID.log 2>&1
--- Check policy:
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $ grep -i "policy" restore_validate.log
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO 'SBT_TAPE';
--- Check restore timing:
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $ grep "restore at" restore_validate.log
Starting restore at 2022-MAR-02 14:57:58
Finished restore at 2022-MAR-02 14:58:01
Starting restore at 2022-MAR-02 14:58:01
Finished restore at 2022-MAR-02 14:58:04
Starting restore at 2022-MAR-02 14:58:04
Finished restore at 2022-MAR-02 15:21:11
Starting restore at 2022-MAR-02 15:21:11
Finished restore at 2022-MAR-02 15:22:15
--- Check number of backup piece:
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $ grep -c "piece handle" restore_validate.log
45
--- Backup tag=LEVEL0, tag=LEVEL1, tag=ARCH
--- Check number of backup piece type:
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $ awk -F 'tag=' '{print $2}' restore_validate.log|sort|uniq -c
275
39 ARCH
1 LEVEL0
3 LEVEL1
2 TAG20220302T121110
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $ grep -c TAG20220302T121110 restore_validate.log
2
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $ grep -c 'LEVEL0$' restore_validate.log
1
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $ grep -c 'LEVEL1$' restore_validate.log
3
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $ grep -c 'ARCH$' restore_validate.log
39
--- If not using end with ('ARCH$'), will have incorrect results.
grep 'ARCH' restore_validate.log|head
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO 'SBT_TAPE';
--- This is a replacement for grep -A which is not available for AIX.
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $ awk 'c-->0;$0~s{if(b)for(c=b+1;c>1;c--)print r[(NR-c+1)%b];print;c=a}b{r[NR%b]=$0}' b=0 a=30 s="schema for database with db_unique_name" restore_validate.log
Report of database schema for database with db_unique_name BANANA
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 2565 SYSTEM *** /oradata/BANANA/datafile/system_01.dbf
2 4667 SYSAUX *** /oradata/BANANA/datafile/sysaux_01.dbf
3 1300 UNDOTBS1 *** /oradata/BANANA/datafile/undotbs1_01.dbf
4 50 EMSPROD_TS *** /oradata/BANANA/datafile/emsprod_ts_01.dbf
5 1650 MODPROD_TS *** /oradata/BANANA/datafile/modprod_ts_01.dbf
6 2039 AVAIL *** /oradata/BANANA/datafile/avail_01.dbf
7 32767 PROD001_TS *** /oradata/BANANA/datafile/PROD001_ts_05.dbf
8 2548 AUDIT_TBS *** /oradata/BANANA/datafile/audit_tbs_01.dbf
9 512 USERS *** /oradata/BANANA/datafile/users_01.dbf
10 30720 PROD001_TS *** /oradata/BANANA/datafile/PROD001_ts_04.dbf
11 30720 PROD001_TS *** /oradata/BANANA/datafile/PROD001_ts_03.dbf
12 32767 PROD001_TS *** /oradata/BANANA/datafile/PROD001_ts_02.dbf
13 30720 PROD001_TS *** /oradata/BANANA/datafile/PROD001_ts_01.dbf
14 25536 PROD001_TS *** /oradata/BANANA/datafile/PROD001_ts_06.dbf
15 25472 PROD001_TS *** /oradata/BANANA/datafile/PROD001_ts_07.dbf
16 25920 PROD001_TS *** /oradata/BANANA/datafile/PROD001_ts_08.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
3 4807 TEMP 30720 /oradata/BANANA/datafile/temp_01.db
Recovery Manager complete.
oracle@dbhost01 ~/working/dinh/rman_restore (BANANA) $