Wednesday, 8 October 2025

Linux 8: Setup DNS for Grid 19c Setup on VirtualBox

 # Public network

192.168.56.110   rac1.example.com  rac1

192.168.56.111   rac2.example.com  rac2


# Virtual IPs

192.168.56.121   rac1-vip.example.com  rac1-vip

192.168.56.122   rac2-vip.example.com  rac2-vip


# SCAN IPs

192.168.56.131   scan-ls.example.com   scan-ls

192.168.56.132   scan-ls.example.com   scan-ls

192.168.56.133   scan-ls.example.com   scan-ls


# Private interconnect (optional)

192.168.10.1   rac1-priv

192.168.10.2   rac2-priv






yum install -y bind bind-utils

/etc/named.conf

options {
    directory "/var/named";
    listen-on port 53 { 127.0.0.1; 192.168.56.110; };
    allow-query { 127.0.0.1; 192.168.56.0/24; 192.168.10.0/24; };
    recursion yes;

    // Lab simplifications
    dnssec-enable no;
    dnssec-validation no;
    auth-nxdomain no;
};

zone "example.com" IN {
    type master;
    file "db.example.com";
};

zone "56.168.192.in-addr.arpa" IN {
    type master;
    file "db.192.168.56";
};

zone "10.168.192.in-addr.arpa" IN {
    type master;
    file "db.192.168.10";
};



 mkdir /var/named/
 /var/named/db.example.com

$TTL 86400
@   IN  SOA  rac1.example.com. root.example.com. (
        2025100801 ; Serial (bump on edits)
        3600       ; Refresh
        1800       ; Retry
        604800     ; Expire
        86400 )    ; Minimum
@           IN  NS  rac1.example.com.

; DNS server itself
rac1        IN  A   192.168.56.110

; Public hosts
rac2        IN  A   192.168.56.111

; VIPs
rac1-vip    IN  A   192.168.56.121
rac2-vip    IN  A   192.168.56.122

; SCAN (must have 3 A records)
scan-ls     IN  A   192.168.56.131
scan-ls     IN  A   192.168.56.132
scan-ls     IN  A   192.168.56.133

; Private (optional)
rac1-priv   IN  A   192.168.10.1
rac2-priv   IN  A   192.168.10.2



/var/named/db.192.168.56

$TTL 86400
@   IN  SOA  rac1.example.com. root.example.com. (
        2025100801
        3600
        1800
        604800
        86400 )
@           IN  NS  rac1.example.com.

110 IN PTR rac1.example.com.
111 IN PTR rac2.example.com.
121 IN PTR rac1-vip.example.com.
122 IN PTR rac2-vip.example.com.
131 IN PTR scan-ls.example.com.
132 IN PTR scan-ls.example.com.
133 IN PTR scan-ls.example.com.


/var/named/db.192.168.10

$TTL 86400
@   IN  SOA  rac1.example.com. root.example.com. (
        2025100801
        3600
        1800
        604800
        86400 )
@           IN  NS  rac1.example.com.

1   IN PTR rac1-priv.example.com.
2   IN PTR rac2-priv.example.com.



chown root:named /var/named/db.example.com /var/named/db.192.168.56 /var/named/db.192.168.10
chmod 640 /var/named/db.*

named-checkconf
named-checkzone example.com /var/named/db.example.com
named-checkzone 56.168.192.in-addr.arpa /var/named/db.192.168.56
named-checkzone 10.168.192.in-addr.arpa /var/named/db.192.168.10

Modify /etc/resolv.conf as below
search example.com
nameserver 192.168.56.110

Make file readonly 
chattr +i /etc/resolv.conf


systemctl enable --now named
systemctl status named --no-pager


Thursday, 23 January 2025

Oracle APEX reset ORDS_PUBLIC_USER

 /u01/APEX_BASE/ORDS/bin/ords --config /u01/APEX_BASE/ORDS/config config secret db.password


Tuesday, 24 December 2024

Find all files containing a specific text string on Linux recursive

 grep -rnw /u01/data/domains/bi/servers/AdminServer/logs -e 'IO Error: Connection reset' | grep 'Dec 10'

grep -Ril "IO Error: Connection reset" /u01/data/domains/bi/servers/AdminServer/logs/


Monday, 16 December 2024

Run Oracle Apex or other application on privileged ports like 443 or 80 without root

Below will redirect the traffic from port 443 to port 8443

 firewall-cmd --list-all

firewall-cmd --zone=public --permanent --add-forward-port=port=443:proto=tcp:toport=8443

firewall-cmd --reload

firewall-cmd --list-all


Saturday, 14 December 2024

Rebuild Oracle Standby Database oracle 12c and later with archive GAP with single command

-- On standby

rman target /

shutdown immediate;

startup nomount;

restore standby controlfile from service PRIM;

alter database mount;

--restore datafile 4 from service PRIM; -- If new data files added to primary recently    

recover database from service PRIM noredo using compressed backupset

RECOVER MANAGED STANDBY DATABASE disconnect from session;


Tuesday, 24 September 2024

Weblogic managed server Caused By: java.lang.OutOfMemoryError: GC overhead limit exceeded

 

  1. After logging into the console, click Servers.
  2. Click the server that is being deployed.
  3. On the Server Start tab, paste the following line into the Arguments box:

    -Xms4096m -Xmx4096m -XX:PermSize=256m -XX:MaxPermSize=512m

Wednesday, 11 September 2024

Importing private key from existing PFX server certificate to Java key Store (JKS) file

 export CLASSPATH=/u01/app/jdk/lib/tools.jar:/u01/app/Oracle/Middleware/Oracle_Home/wlserver/server/lib/weblogic.jar


openssl pkcs12 -in mycertficate.pfx -out KEYSTORE.pem -nodes


get the private key and the certficate into pem a files 


where: 

Certificate.pem contents between below:

-----BEGIN RSA PRIVATE KEY-----

-----END RSA PRIVATE KEY-----


Privatekey.pem contents between below

-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----

Make sure you have both pfx and private key files with password



/u01/app/jdk/bin/keytool -import -trustcacerts -file Certificate.pem -alias mycertficate -keystore truststore.jks -storepass changeit -keypass changeit


java utils.ImportPrivateKey -keystore keystore.jks -storepass changeit -storetype JKS -keypass changeit -alias mycertficate -certfile Certificate.pem -keyfile Privatekey.pem -keyfilepass C0mm0NC3rt##2024


Now you should have both truststore.jks and keystore.jks


Number of Visitors