Monday, August 7, 2023

Vmware Workstation Pro 17 Installation Oracle 19c Grid Infrastructure

 To Install Oracle Rac 19c Database On Vmware Workstation pro 17 


step:- create vm with following configuration 


make sure to change mac address of clone vm for 2nd node.

click on "Generate" button to generate new mac address for 2nd vm for all 3 network adapters --> NAT,Host-Only and NAT
enable shared folder---> The folder in which ASM1.vmdk, ASM2.vmdk and ASM3.vmdk
we've to execute below commands on both vm's 
/* ls /dev/sd*; fdisk /dev/sdb ; fdisk /dev/sdc; fdisk /dev/sdd after all of this check ls /dev/sd* --> should be /dev/sdb1 , /dev/sdc1, /dev/sdd1 , etc then perform below commands on both vm's 
/* oracleasm init ; oracleasm scandisks; oracleasm listdisks; oracleasm createdisk ASM1 /dev/sdb1; 

Then edit .vmx files of both nodes vm1 and vm2 :-

go to the folder on which vm's installed search .vmx file it will look like below 



open both "sakri1.vmx and sakri2.vmx"  with notepad and edit below lines at the end:

sharing = "multi-writer"

disk.locking = "FALSE"





DDL, DML, TCL and lots more

 update table_name set column_name='value' where column_name1='value';

delete from table_name where column_name='value';

after execution of dml statments (SUIDE):- select, update, insert into, delete, execute, merge;

ddl-> data definition language :- CADTRE (create, alter,drop,truncate,rename)

Note:- while using ddl always mention 'command object_type' 

after executing dml ----> commit, rollback;

grant permission_name to username;

revoke permission_name from username;


*********** SELECT INTO ******************

declare

volume varchar2(400);

begin

select host_name into volume from v$instance;

dbms_output.put_line(volume);

end;

/


declare

variable_name datatype;

begin

select column_name into variable_name from table_name;

dbms_output.put_line(variable_name);

end;

/

or 

declare

variable_name_1 datatype;

variable_name_2 datatype;

begin

select column_name into variable_name_1 from table_name;

select column_name into variable_name_2 from table_name;

dbms_output.put_line(variable_name_1||variable_name_2);

end;

/

set serverout on;

Saturday, August 5, 2023

How To Increase Size Of Mount Point In Linux

 1. extend *.vdi of vm in virtualbox

2. add gparted live cd in vm setting

3. extend partition /dev/sda to unallocated space 

4. start vm and open terminal 

5. /dev/mapper/ol-u01  ----> mount point 

6. vgdisplay <volume-group-name> 

7. vgdisplay ol

8. lvextend -L +50G /dev/mapper/ol-u01 

9. if xfs file system ---> # xfs_growfs /dev/mapper/ol-u01

10. if other file system---> # resize2fs /dev/mapper/ol-u01

11. df -h ---> check partition/mount point size extend or not 


------------------------------------ example -------------------------------------------------

[root@sakri ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             3.8G     0  3.8G   0% /dev
tmpfs                2.0G   28K  2.0G   1% /dev/shm
tmpfs                3.8G  9.3M  3.8G   1% /run
tmpfs                3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/mapper/ol-root   20G  9.9G   11G  50% /
/dev/sda1           1014M  435M  580M  43% /boot
/dev/mapper/ol-u01    30G  247M   30G   1% /u01
/dev/mapper/ol-tmp   8.5G   94M  8.4G   2% /tmp
/dev/mapper/ol-u02    30G  247M   30G   1% /u02
21c_Softwares        395G  191G  205G  49% /media/sf_21c_Softwares
All_Softwares        395G  191G  205G  49% /media/sf_All_Softwares
tmpfs                768M  1.2M  767M   1% /run/user/42
tmpfs                768M     0  768M   0% /run/user/0
[root@sakri ~]# vgdisplay ol
  --- Volume group ---
  VG Name               ol
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                5
  Open LV               5
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               148.50 GiB
  PE Size               4.00 MiB
  Total PE              38017
  Alloc PE / Size       25216 / 98.50 GiB
  Free  PE / Size       12801 / 50.00 GiB
  VG UUID               zDYlVS-L0yC-E8KP-kHmr-QgbG-WEjU-IZbzp7


[root@sakri ~]# clear

[root@sakri ~]# lvextend -L +50G /dev/mapper/ol-u01

  Size of logical volume ol/u01 changed from 30.00 GiB (7680 extents) to 80.00 GiB (20480 extents).

  Logical volume ol/u01 successfully resized.

[root@sakri ~]#

[root@sakri ~]# xfs_growfs /dev/mapper/ol-u01
meta-data=/dev/mapper/ol-u01     isize=512    agcount=4, agsize=1966080 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=7864320, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=3840, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 7864320 to 20971520

[root@sakri ~]#

[root@sakri ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             3.8G     0  3.8G   0% /dev
tmpfs                2.0G   28K  2.0G   1% /dev/shm
tmpfs                3.8G  9.3M  3.8G   1% /run
tmpfs                3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/mapper/ol-root   20G  9.9G   11G  50% /
/dev/sda1           1014M  435M  580M  43% /boot
/dev/mapper/ol-u01    80G  604M   80G   1% /u01
/dev/mapper/ol-tmp   8.5G   94M  8.4G   2% /tmp
/dev/mapper/ol-u02    30G  247M   30G   1% /u02
21c_Softwares        395G  191G  205G  49% /media/sf_21c_Softwares
All_Softwares        395G  191G  205G  49% /media/sf_All_Softwares
tmpfs                768M  1.2M  767M   1% /run/user/42
tmpfs                768M     0  768M   0% /run/user/0

[root@sakri ~]#



Tuesday, August 1, 2023

GRID , RAC , STANDALONE GRID OR ORACLE DATABASE SINGLE INSTANCE INSTALLATION

 Set SELinux to Permissive Mode permanently

To Change Hostname In Oracle Linux:-

* # nmcli general hostname <new_name.domain.com>

* # service systemd-hostnamed restart

1. Edit /etc/selinux/config

Change the SELINUX value to "SELINUX=permissive"

1.1 Edit 

The /etc/sysconfig/network file specifies additional information that is valid to all network interfaces on the system. The following entries from /etc/sysconfig/network define that IPv4 networking is enabled, IPv6 networking is not enabled, the host name of the system, and the IP address of the default network gateway:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=host20.mydomain.com
GATEWAY=192.168.1.1

2. Reboot the server

network adapter 1:- host only network 

network adapter 2:- internal network 

network adapter 3:- bridged adapter 

3. Some important files in linux:-

/etc/nsswitch.conf

/etc/resolv.conf

/etc/sysconfig/network 

/etc/hosts









****************************************************************

** cat /etc/hosts 

[root@pune ~]# cat /etc/hosts
127.0.0.1   localhost localhost.shaikh.com localhost4 localhost4.shaikh.com4
::1         localhost localhost.shaikh.com localhost6 localhost6.shaikh.com6
# Private Net
192.168.10.1 pune-priv.shaikh.com   pune-priv
192.168.10.2 sakri-priv.shaikh.com  sakri-priv
# Public Net
192.168.56.71 pune.shaikh.com   pune
192.168.56.72 sakri.shaikh.com  sakri
# Virtual Net
192.168.56.81 pune-vip.shaikh.com   pune-vip
192.168.56.82 sakri-vip.shaikh.com  sakri-vip
# SCAN
192.168.56.91 city-scan.shaikh.com       city-scan
192.168.56.92 city-scan.shaikh.com      city-scan
192.168.56.93 city-scan.shaikh.com      city-scan
******************************************************************

do sshUserSetup.sh on first node on login as grid, oracle, root user 
$ su - grid
$ cd $ORACLE_HOME
$ find . -name "sshUserSetup.sh"
$ ./sshUserSetup.sh -user grid -hosts "pune sakri" -noPromptPassphrase -confirm - advanced 
$su - oracle 
$cd $ORACLE_HOME
$ find . -name "sshUserSetup.sh"
$ ./sshUserSetup.sh -user oracle-hosts "pune sakri" -noPromptPassphrase -confirm - advanced  

***********************************************************************
.bash_profile >> ORACLE user 
-----------------------------------------------
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi


export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u02/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export ORACLE_SID=pune
export ORACLE_TERM=xterm
export BASE_PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
===================================================

.bash_profile >> grid user
------------------------------------------------------
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19c/gridhome_1
export ORACLE_SID=+ASM1
export ORACLE_TERM=xterm
export BASE_PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
=====================================================
************************************************************************
mkdir -p /u01/app/grid
mkdir -p /u01/app/19c/gridhome_1
mkdir -p /u02/app/oracle
mkdir -p /u02/app/oracle/product/19c/dbhome_1
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u02
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01
chmod -R 775 /u02

mkdir -p /u02/app/oracle
mkdir -p /u02/app/oracle/product/19c/dbhome_1
mkdir -p /u02/app/oraInventory
chown -R oracle:oinstall /u02
chmod -R 775 /u02
*************************************************************************
groupadd -g 5001 oinstall
groupadd -g 5002 dba
groupadd -g 5003 oper
groupadd -g 5004 asmadmin
groupadd -g 5005 asmdba
groupadd -g 5006 asmoper

useradd -u 5007 -g oinstall -G dba,oper,asmdba oracle
useradd -u 5008 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

usermod -g oinstall -G dba,oper,asmdba oracle
usermod -g oinstall -G asmadmin,asmdba,asmoper,dba grid


passwd oracle
passwd grid

-----------------------------------------------------------
vim /etc/security/limits.conf

oracle   soft    nofile  1024
oracle   hard    nofile  65536
oracle   soft    nproc   16384
oracle   hard    nproc   16384
oracle   soft    stack   10240
oracle   hard    stack   32768
oracle   soft    memlock  134217728
oracle   hard    memlock  134217728


grid     soft    nofile  1024
grid     hard    nofile  65536
grid     soft    nproc   16384
grid     hard    nproc    16384
grid     soft    stack    10240
grid     hard    stack    32768
grid     soft    memlock  134217728
grid     hard    memlock  134217728


==============================================================

disable firewalld.service

#systemctl stop firewalld.service
#systemctl disable firewalld.service
===============================================================
NETWORK TIMING
# systemctl enable chronyd.service
# systemctl restart chronyd.service
==============================================================

su - root
# cd /tmp
# wget https://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.17-1.el8.x86_64.rpm
# wget https://public-yum.oracle.com/repo/OracleLinux/OL8/addons/x86_64/getPackage/oracleasm-support-2.1.12-1.el8.x86_64.rpm
# yum localinstall ./oracleasm-support-2.1.12-1.el8.x86_64.rpm ./oracleasmlib-2.0.17

to install oracle 19c preinstall rpm on oracle linux 9:-
curl -o oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm

other way around:- 
dnf localinstall package_name  ;  ---> if you have download on server
dnf install package_name 
dnf install bind 
dnf update oracleasm  or dnf install oracleasm 

*****************************************************************************





orainstRoot.sh :-
this will configure the Oracle Inventory Directory (keeps track of all oracle software installation on the server)
root.sh :-
runs on all nodes after each node in the RAC cluster. 
task performed :- 
1. crsd, ocssd, evm, ocr, olr and crs on each node.

Linux Commands

 month = $(date +%b) ; Apr

month = $(date +%B); April

yesterday = $( date -d  '-1 day' +'%Y_%m_%d') ; 2023_04_08

nth_day = $(date -d '-n day' +'%Y/%m/%d') ; 2023/04/08


network management in oracle linux 8 and later:-

Note:- It is mandatory to have GUI in case of  network restart

**restart network on oracle linux 8 and later :-
# systemctl restart NetworkManager
# nmcli networking off
# nmcli networking on


** to change file extensions in linux:
[root@localhost ~]# ls
file.txt
[root@localhost ~]# mv file{.txt,.bak}
[root@localhost ~]# ls
file.bak 


* if you want to delete all files except some use below:-
$ find . ! -name 'file_name' ! -name 'file_name' -delete



*** to find dbf files 

$ ls | grep -e "^[[:digit:]]\{4\}\+\_[[:digit:]]\{2\}\+\_[[:digit:]]\{2\}\+\_[[:digit:]]\{4\}\+\_dbf"
2023_08_13_2230_dbf_s99793_p1
2023_08_13_2230_dbf_s99794_p1
2023_08_13_2230_dbf_s99795_p1
2023_08_13_2230_dbf_s99796_p1
2023_08_13_2230_dbf_s99797_p1
2023_08_13_2230_dbf_s99798_p1
2023_08_13_2230_dbf_s99799_p1

\+\ ----> to add metacharacters like "-/_"


$ ls -lrth | awk '{print $9}' | grep -e "^[[:digit:]]\{4\}\+\_[[:digit:]]\{2\}\+\_[[:digit:]]\{2\}\+\_[[:digit:]]\{4\}\+\_[[:alpha:]]\{3\}\+\_[[:alnum:]]\{6\}\+\_[[:alnum:]]\{2\}"

2023_08_13_2230_dbf_s99798_p1
2023_08_13_2230_dbf_s99799_p1


# view selinux setting 
# sestatus 
# cat /etc/selinux/config


********************************************
Add user to sudoers list:-
( /etc/sudoers)
--------------------------------
# sudo visudo        #--------> to open /etc/sudoers in vim 
# User privilege specification
root    ALL=(ALL:ALL) ALL
<username>  ALL=(ALL:ALL)  ALL

Relation between "processes, sessions and transactions" In Oracle Database

 Number of Sessions = Number of User Connections (Foreground Processes)

Number of Processes ≥ Number of Sessions

You may leave SESSIONS and let Database choose its value automatically !

TRANSACTIONS = (1.1 * SESSIONS)

count:- select count(process) from gv$session where status='ACTIVE' or status='INACTIVE';

processes=x

session=(1.5 * PROCESSES) + 22

transactions=sessions*1.1

select inst_id, resource_name, current_utilization, max_utilization from gv$resource_limit

where resource_name in ('session', 'processes', 'transaction');

lsof "command options and usage" list of open files In Linux

 list of open files in current directory:-

$ lsof +D . 

list files open by a specific user:-

$ lsof -u username

list of all open files by specific process:-

$ lsof -p PID

kill all process belongs to as particular process:-

$ kill -9 `lsof -t -u username`

list of all tcp udp connection

$ lsof -i :port

$ lsof -i tcp ; lsof 0i udp;

list all network file system (NFS):-

$ lsof -N -u username -a 

procedures

SQL>

create or replace procedure hello_p

as 

c1 sys_refcursor;

being 

open c1 for 

select host_name,instance_name from gv$instance;

dbms_sql.return_result(c1);

end;

/


SQL> exec hello_p;




declare 

host varchar2(500);

begin 

select host_name into host from v$instance;

dbms_output.put_line(host);

end;

/

Startup Modes In Oracle Database

 nomount mode

only parameter file is accessible.

this mode is only use to modify parameter file content/paramter.

mount mode

read control file but not validate its file content.

certain maintenance operation requires mount mode. ( RMAN backup restore recovery)

Note:- ******* its mandatory for "recover database"  that db should be in mount mode*******

parameter file, processes gets started and memory allocated for the instance.

open mode

start to read data files and redo logs 

orapwd "Creating Password File In Oracle Database For Remote Login"

 orapwd FILE=path_to_password_file [ENTRIES=num_users] [FORCE={y|n}] [IGNORECASE={y|n}]

example:-

orapwd file=path_to_password_file entries=num_users force=y/n ignorecase=y/n 

SQL> show parameter password ;

NAME                                            TYPE              VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile            string      EXCLUSIVE

exclusive:- password file can only used by single database.

shared:- password file can be used by multiple database. 

  • FILE: Specifies the path and filename for the password file. The password file should be created in the $ORACLE_HOME/dbs directory.

  • ENTRIES: (Optional) Specifies the number of entries (user accounts) that the password file can hold. The default value is 5.

  • FORCE: (Optional) If set to 'y', the existing password file will be overwritten. If set to 'n', and if the password file already exists, the orapwd command will not create a new file.

  • IGNORECASE: (Optional) If set to 'y', passwords are case-insensitive. If set to 'n', passwords are case-sensitive.

original location of password file:- $ORACLE_HOME/dbs/orapw$ORACLE_SID

[oracle@rac1 dbs]$ orapwd --help
Usage 1: orapwd file=<fname> force={y|n} asm={y|n}
          dbuniquename=<dbname> format={12|12.2}
          delete={y|n} input_file=<input-fname>
          'sys={y | password | external(<sys-external-name>)
                | global(<sys-directory-DN>)}'
          'sysbackup={y | password | external(<sysbackup-external-name>)
                      | global(<sysbackup-directory-DN>)}'
          'sysdg={y | password | external(<sysdg-external-name>)
                  | global(<sysdg-directory-DN>)}'
          'syskm={y | password | external(<syskm-external-name>)
                  | global(<syskm-directory-DN>)}'

Usage 2: orapwd describe file=<fname>

  where
    file   - name of password file (required),
    password
           - password for SYS will be prompted
             if not specified at command line.
             Ignored, if input_file is specified,
    force  - whether to overwrite existing file (optional),
    asm    - indicates that the password to be stored in
             Automatic Storage Management (ASM) disk group
             is an ASM password. (optional),
    dbuniquename
           - unique database name used to identify database
             password files residing in ASM diskgroup only.
             Ignored when asm option is specified (optional),
    format - use format=12 for new 12c features like SYSBACKUP, SYSDG
             and SYSKM support, longer identifiers, SHA2 Verifiers etc.
             use format=12.2 for 12.2 features like enforcing user
             profile (password limits and password complexity) and
             account status for administrative users.
             If not specified, format=12.2 is default (optional),
    delete - drops a password file. Must specify 'asm',
             'dbuniquename' or 'file'. If 'file' is specified,
             the file must be located on an ASM diskgroup (optional),
    input_file
           - name of input password file, from where old user
             entries will be migrated (optional),
    sys    - specifies if SYS user is password, externally or
             globally authenticated.
             For external SYS, also specifies external name.
             For global SYS, also specifies directory DN.
             SYS={y | password} specifies if SYS user password needs
             to be changed when used with input_file,
    sysbackup
           - creates SYSBACKUP entry (optional).
             Specifies if SYSBACKUP user is password, externally or
             globally authenticated.
             For external SYSBACKUP, also specifies external name.
             For global SYSBACKUP, also specifies directory DN.
             Ignored, if input_file is specified,
    sysdg  - creates SYSDG entry (optional).
             Specifies if SYSDG user is password, externally or
             globally authenticated.
             For external SYSDG, also specifies external name.
             For global SYSDG, also specifies directory DN.
             Ignored, if input_file is specified,
    syskm  - creates SYSKM entry (optional).
             Specifies if SYSKM user is password, externally or
             globally authenticated.
             For external SYSKM, also specifies external name.
             For global SYSKM, also specifies directory DN.
            Ignored, if input_file is specified,
    describe
           - describes the properties of specified password file
             (required).


  There must be no spaces around the equal-to (=) character.
[oracle@rac1 dbs]$

GRID & RAC & LINUX TRICKS & TIPS & COMMANDS

To Switch to "/bin" directory directly :-

 cd $(dirname $(ps -ef | grep -i d.bin | grep -v grep | awk '{print $8}' | awk 'NR==1') )

--------------------------------------------------------------------------------------------------------------------

[oracle@rac1 ~]$ pwd
/home/oracle
[oracle@rac1 ~]$ ps -ef | grep -i d.bin
oracle      3572       1  1 13:13 ?        00:01:18 /u01/app/19c/grid/bin/ohasd.bin reboot
oracle      5088       1  1 13:13 ?        00:01:25 /u01/app/19c/grid/bin/oraagent.bin
oracle      5138       1  0 13:13 ?        00:00:30 /u01/app/19c/grid/bin/evmd.bin
oracle      5141       1  0 13:13 ?        00:00:00 /u01/app/19c/grid/bin/tnslsnr LISTENER -no_crs_notify -inherit
oracle      5311       1  0 13:13 ?        00:00:34 /u01/app/19c/grid/bin/cssdagent
oracle      5339    5138  0 13:13 ?        00:00:30 /u01/app/19c/grid/bin/evmlogger.bin -o /u01/app/19c/grid/log/[HOSTNAME]/evmd/evmlogger.info -l /u01/app/19c/grid/log/[HOSTNAME]/evmd/evmlogger.log
oracle      5372       1  0 13:13 ?        00:00:34 /u01/app/19c/grid/bin/ocssd.bin
oracle      9910    7034  0 14:29 pts/0    00:00:00 grep --color=auto -i d.bin
[oracle@rac1 ~]$
[oracle@rac1 ~]$
[oracle@rac1 ~]$ ps -ef | grep -i d.bin | awk '{print $8}'
/u01/app/19c/grid/bin/ohasd.bin
/u01/app/19c/grid/bin/oraagent.bin
/u01/app/19c/grid/bin/evmd.bin
/u01/app/19c/grid/bin/tnslsnr
/u01/app/19c/grid/bin/cssdagent
/u01/app/19c/grid/bin/evmlogger.bin
/u01/app/19c/grid/bin/ocssd.bin
grep
[oracle@rac1 ~]$
[oracle@rac1 ~]$
[oracle@rac1 ~]$ ps -ef | grep -i d.bin | awk '{print $8}' | awk 'NR==1'
/u01/app/19c/grid/bin/ohasd.bin
[oracle@rac1 ~]$
[oracle@rac1 ~]$
[oracle@rac1 ~]$
[oracle@rac1 ~]$ dirname $(ps -ef | grep -i d.bin | awk '{print $8}' | awk 'NR==1')
/u01/app/19c/grid/bin
[oracle@rac1 ~]$
[oracle@rac1 ~]$
[oracle@rac1 ~]$ cd $(dirname $(ps -ef | grep -i d.bin | awk '{print $8}' | awk 'NR==1'))
[oracle@rac1 bin]$
[oracle@rac1 bin]$ pwd
/u01/app/19c/grid/bin
--------------------------------------------------------------------------------------------------------------------------
ORACLE GRID '/etc'
oraInst.loc: This file is located in the /etc directory and is used to specify the location of the Oracle Inventory (Central Inventory) on the system. The Oracle Inventory stores information about Oracle installations, including Oracle Grid Infrastructure.

coraenv and oraenv: These are shell scripts located in /etc. They are used to set up the environment for different Oracle software installations, including Oracle Grid Infrastructure. The oraenv and coraenv scripts allow you to set the environment for a specific Oracle home or Grid Infrastructure home.

init. files*: In some cases, you might find init.* files in the /etc directory that are used to start Oracle Grid Infrastructure resources at system startup. For example, init.ohasd is used to start the Oracle High Availability Services daemon.

cron.d: You might find cron jobs related to Oracle Grid Infrastructure in the /etc/cron.d directory. These cron jobs are used to schedule tasks such as backups, maintenance, and monitoring.

udev Rules: On Linux systems, Oracle Grid Infrastructure may create udev rules for devices like Oracle ASM disks. These udev rules can be found in the /etc/udev/rules.d directory.

Network Configuration: Some network-related configuration files, such as /etc/hosts and /etc/resolv.conf, can be important for Oracle Grid Infrastructure to properly resolve hostnames and IP addresses.

System Configuration: Various system configuration files and settings in /etc may indirectly impact Oracle Grid Infrastructure, including the /etc/sysctl.conf file for kernel parameters, /etc/security/limits.conf for resource limits, and more.


Enable OpenSSH on Windows 11

Step 1: Install OpenSSH Server You can do this via PowerShell (run as Administrator ): Check if it's already available: Get-WindowsCapab...