Blog
ASM on vmware workstation
Prerequisites:-
Step 1:
Set up Oracle Database Server on VMware Workstation using( OEL) Linux 7.6 OS Platform?
Step 2:
Connect to OEL 7.6 server via putty and install the below packages
yum -y install -y oracle-database-preinstall-19c
yum -y install oracleasm*
yum -y install kmod-oracleasm*
Add below OS groups
groupadd -g 54327 asmdba groupadd -g 54328 asmoper groupadd -g 54329 asmadmin
Add asmdba as secondary group to Oracle user
usermod -a -G asmdba oracle
Create Grid User
useradd -u 54331 -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba grid
Change the password for Oracle and Grid user
passwd oracle
passwd grid
Create the Directories for Oracle Database installation
mkdir -p /u01/app/oracle mkdir -p /u01/app/oracle/product/19.3.0/db_home chown -R oracle:oinstall /u01/app/oracle
Create the Directories for Oracle Grid installation
mkdir -p /u01/app/grid/product/19.3.0/grid_home chown -R grid:oinstall /u01/app/grid chmod -R 775 /u01
Configure Oracle ASM
Let us configure Oracle ASM
oracleasm configure -i
Load / initiate Oracle ASM
Add 30 GB HDD to virtual machine which we will use to create 3 partitions of 10 GB each for our ASM disks. Open Virtual machine >> Settings >> Storage >> Controller: SATA >> Create new disk
create 3 partitions of 10 GB each for our ASM disks
login as root user to format the disk
fdisk -l
In the above output the /dev/sdb is not yet formatted. Let’s create 3 partitions on sdb
fdisk /dev/sdb n --> to create new partition <enter> <enter> <enter> +10G n <enter> <enter> <enter> +10G n <enter> <enter> <enter> <enter> w --> to save partition table
Create separate ASM Disk for each partition
oracleasm createdisk CRS1 /dev/sdb1 oracleasm createdisk DATA1 /dev/sdb2 oracleasm createdisk FRA1 /dev/sdb3
To check asm disks
oracleasm listdisks
ls -lrt /dev/oracleasm/disks
Install Grid Software
Edit Grid user Bash_Profile but take .bash_profile backup before editing it
su - grid
cp .bash_profile .bash_profile.orig
vi .bash_profile
Paste below contents
if [ -f ~/.bashrc ]; then . ~/.bashrc fi ORACLE_SID=+ASM; export ORACLE_SID ORACLE_BASE=/u01/app/grid; export ORACLE_BASE ORACLE_HOME=/u01/app/grid/product/19.3.0/grid_home; export ORACLE_HOME ORACLE_TERM=xterm; export ORACLE_TERM JAVA_HOME=/usr/bin/java; export JAVA_HOME TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin PATH=${PATH}:/usr/bin:/bin:/usr/local/bin export PATH umask 022
Save and close vi editor. Execute the bash profile and check the environment variables
. .bash_profile
env|grep ORA
Copy the 19c grid software under grid home and unzip it
Oracle Database 19c Grid Infrastructure (19.3) for Linux x86-64
https://www.oracle.com/ae/database/technologies/oracle19c-linux-downloads.html
cd $ORACLE_HOME unzip LINUX.X64_193000_grid_home.zip
unzip LINUX.X64_193000_grid_home.zip
Setup xming and Start the gridSetup.sh as a grid user which will install grid software
cd /u01/app/grid/product/19.3.0/grid_home
Follow below screens to perform the grid software installation
- Change Disk group name as CRS
- Select External
- Click on Change Discovery Path
- Give Disk Discovery Path as /dev/oracleasm/disks
- Click on OK
Select /dev/oracleasm/disks/CRS1 >> Next
Select Use Same Password for these Accounts >> Specify password >> confirm password >> Next. Click on Yes
Click Next >> Next
Click Next >> Next >> Next
chown -R grid:oinstall /u01 chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01/ chown -R grid:oinstall /u01/app/oraInventory chmod -R 775 /u01/app/oraInventory
Click on fix and check again
Install the missing package
[root@prim rpm]# pwd /u01/app/grid/product/19.3.0/grid_home/cv/rpm [root@prim rpm]# rpm -ivh cvuqdisk-1.0.10-1.rpm Preparing... ################################# [100%] Using default group oinstall to install package Updating / installing... 1:cvuqdisk-1.0.10-1 ################################# [100%] [root@prim rpm]#
To install package (under root user):
cd /u01/app/grid/product/19.3.0/grid_home/cv/rpm rpm -ivh cvuqdisk-1.0.10-1.rpm
Configure ASM Diskgroups
The grid installer allows you to only create one diskgroup (CRS). We need to start the asmca utility in order to create DATA and FRA diskgroup which are required for database installation. Click on Create
- Give Disk Group Name as DATA
- Select External(None)
- Select /dev/oracleasm/disks/DATA1
- Click on OK
Click on Create
- Give Disk Group Name as FRA
- Select External(None)
- Select /dev/oracleasm/disks/FRA1
- Click on OK
Install Oracle Software
Login as oracle
vi .bash_profile
Edit Oracle user bash profile and put below
<br />vi .bash_profile</p><p>if [ -f ~/.bashrc ]; then<br />. ~/.bashrc<br />fi</p><p>ORACLE_HOSTNAME=prim.oracle.com; export ORACLE_HOSTNAME<br />ORACLE_SID=prod; export ORACLE_SID<br />ORACLE_UNQNAME=prod; export ORACLE_UNQNAME<br />ORACLE_BASE=/u02/app/oracle; export ORACLE_BASE<br />ORACLE_HOME=/u02/app/oracle/product/19.3.0/db_home; export ORACLE_HOME<br />ORACLE_TERM=xterm; export ORACLE_TERM</p><p>JAVA_HOME=/usr/bin/java; export JAVA_HOME<br />NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT<br />TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN<br />PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin<br />PATH=${PATH}:/usr/bin:/bin:/usr/local/bin<br />export PATH</p><p>LD_LIBRARY_PATH=$ORACLE_HOME/lib<br />LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib<br />LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib<br />export LD_LIBRARY_PATH</p><p>CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib<br />export CLASSPATH</p><p>TEMP=/tmp ;export TMP<br />TMPDIR=$tmp ; export TMPDIR</p><p>umask 022</p><p>
. .bash_profile
mkdir -p /u01/app/oracle mkdir -p /u01/app/oracle/product/19.3.0/db_home chown -R oracle:oinstall /u01
Download
https://www.oracle.com/ae/database/technologies/oracle19c-windows-downloads.html
Unzip the Oracle software
cd /u01/app/oracle/product/19.3.0/db_home Unzip LINUX.X64_193000_db_home.zip
Start the runinstaller
cd database ./runinstaller
Uncheck the i wish to receive security updates via my oracle support
Select install database software only >> Next >> Next >> Next >> Next >> Next
DBCA Create Database on ASM
We can now go ahead and create database on ASM with DBCA. Start DBCA >> Create a Database >> Advance Configuration
- Give Global Database name as prod
- Uncheck Create as container database
- Click on Next
Select Use following for the database storage attributes >> Browse
- Select DATA >> Click on OK
- Click on Next
Select specific fast recovery area >> Browse
- Select FRA >> Click on OK
- Change Fast Recovery Area Size >> Next
Click Next >> Next >> Next
Uncheck Register with Enterprise Manager(EM) database express
Select Use the same administrative password for all accounts >> Password >> Confirm Password
Select Create the database >> Next >> Finish
Done! For confirmation purpose, connect to database as Oracle user and issue below queries
SQL> select name, open_mode from v$database; SQL> select name from v$datafile; SQL> select name from v$controlfile;
We have successfully create Oracle Database on ASM!
Hope It Helps !!
ASM on vmware workstation
Prerequisites:-
Step 1:
Set up Oracle Database Server on VMware Workstation using( OEL) Linux 7.6 OS Platform?
Step 2:
Connect to OEL 7.6 server via putty and install the below packages
yum -y install -y oracle-database-preinstall-19c
yum -y install oracleasm*
yum -y install kmod-oracleasm*
Add below OS groups
groupadd -g 54327 asmdba groupadd -g 54328 asmoper groupadd -g 54329 asmadmin
Add asmdba as secondary group to Oracle user
usermod -a -G asmdba oracle
Create Grid User
useradd -u 54331 -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba grid
Change the password for Oracle and Grid user
passwd oracle
passwd grid
Create the Directories for Oracle Database installation
mkdir -p /u01/app/oracle mkdir -p /u01/app/oracle/product/19.3.0/db_home chown -R oracle:oinstall /u01/app/oracle
Create the Directories for Oracle Grid installation
mkdir -p /u01/app/grid/product/19.3.0/grid_home chown -R grid:oinstall /u01/app/grid chmod -R 775 /u01
Configure Oracle ASM
Let us configure Oracle ASM
oracleasm configure -i
Load / initiate Oracle ASM
Add 30 GB HDD to virtual machine which we will use to create 3 partitions of 10 GB each for our ASM disks. Open Virtual machine >> Settings >> Storage >> Controller: SATA >> Create new disk
create 3 partitions of 10 GB each for our ASM disks
login as root user to format the disk
fdisk -l
In the above output the /dev/sdb is not yet formatted. Let’s create 3 partitions on sdb
fdisk /dev/sdb n --> to create new partition <enter> <enter> <enter> +10G n <enter> <enter> <enter> +10G n <enter> <enter> <enter> <enter> w --> to save partition table
Create separate ASM Disk for each partition
oracleasm createdisk CRS1 /dev/sdb1 oracleasm createdisk DATA1 /dev/sdb2 oracleasm createdisk FRA1 /dev/sdb3
To check asm disks
oracleasm listdisks
ls -lrt /dev/oracleasm/disks
Install Grid Software
Edit Grid user Bash_Profile but take .bash_profile backup before editing it
su - grid
cp .bash_profile .bash_profile.orig
vi .bash_profile
Paste below contents
if [ -f ~/.bashrc ]; then . ~/.bashrc fi ORACLE_SID=+ASM; export ORACLE_SID ORACLE_BASE=/u01/app/grid; export ORACLE_BASE ORACLE_HOME=/u01/app/grid/product/19.3.0/grid_home; export ORACLE_HOME ORACLE_TERM=xterm; export ORACLE_TERM JAVA_HOME=/usr/bin/java; export JAVA_HOME TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin PATH=${PATH}:/usr/bin:/bin:/usr/local/bin export PATH umask 022
Save and close vi editor. Execute the bash profile and check the environment variables
. .bash_profile
env|grep ORA
Copy the 19c grid software under grid home and unzip it
Oracle Database 19c Grid Infrastructure (19.3) for Linux x86-64
https://www.oracle.com/ae/database/technologies/oracle19c-linux-downloads.html
cd $ORACLE_HOME unzip LINUX.X64_193000_grid_home.zip
unzip LINUX.X64_193000_grid_home.zip
Setup xming and Start the gridSetup.sh as a grid user which will install grid software
cd /u01/app/grid/product/19.3.0/grid_home
Follow below screens to perform the grid software installation
- Change Disk group name as CRS
- Select External
- Click on Change Discovery Path
- Give Disk Discovery Path as /dev/oracleasm/disks
- Click on OK
Select /dev/oracleasm/disks/CRS1 >> Next
Select Use Same Password for these Accounts >> Specify password >> confirm password >> Next. Click on Yes
Click Next >> Next
Click Next >> Next >> Next
chown -R grid:oinstall /u01 chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01/ chown -R grid:oinstall /u01/app/oraInventory chmod -R 775 /u01/app/oraInventory
Click on fix and check again
Install the missing package
[root@prim rpm]# pwd /u01/app/grid/product/19.3.0/grid_home/cv/rpm [root@prim rpm]# rpm -ivh cvuqdisk-1.0.10-1.rpm Preparing... ################################# [100%] Using default group oinstall to install package Updating / installing... 1:cvuqdisk-1.0.10-1 ################################# [100%] [root@prim rpm]#
To install package (under root user):
cd /u01/app/grid/product/19.3.0/grid_home/cv/rpm rpm -ivh cvuqdisk-1.0.10-1.rpm
Configure ASM Diskgroups
The grid installer allows you to only create one diskgroup (CRS). We need to start the asmca utility in order to create DATA and FRA diskgroup which are required for database installation. Click on Create
- Give Disk Group Name as DATA
- Select External(None)
- Select /dev/oracleasm/disks/DATA1
- Click on OK
Click on Create
- Give Disk Group Name as FRA
- Select External(None)
- Select /dev/oracleasm/disks/FRA1
- Click on OK
Install Oracle Software
Login as oracle
vi .bash_profile
Edit Oracle user bash profile and put below
<br />vi .bash_profile</p><p>if [ -f ~/.bashrc ]; then<br />. ~/.bashrc<br />fi</p><p>ORACLE_HOSTNAME=prim.oracle.com; export ORACLE_HOSTNAME<br />ORACLE_SID=prod; export ORACLE_SID<br />ORACLE_UNQNAME=prod; export ORACLE_UNQNAME<br />ORACLE_BASE=/u02/app/oracle; export ORACLE_BASE<br />ORACLE_HOME=/u02/app/oracle/product/19.3.0/db_home; export ORACLE_HOME<br />ORACLE_TERM=xterm; export ORACLE_TERM</p><p>JAVA_HOME=/usr/bin/java; export JAVA_HOME<br />NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT<br />TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN<br />PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin<br />PATH=${PATH}:/usr/bin:/bin:/usr/local/bin<br />export PATH</p><p>LD_LIBRARY_PATH=$ORACLE_HOME/lib<br />LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib<br />LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib<br />export LD_LIBRARY_PATH</p><p>CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib<br />export CLASSPATH</p><p>TEMP=/tmp ;export TMP<br />TMPDIR=$tmp ; export TMPDIR</p><p>umask 022</p><p>
. .bash_profile
mkdir -p /u01/app/oracle mkdir -p /u01/app/oracle/product/19.3.0/db_home chown -R oracle:oinstall /u01
Download
https://www.oracle.com/ae/database/technologies/oracle19c-windows-downloads.html
Unzip the Oracle software
cd /u01/app/oracle/product/19.3.0/db_home Unzip LINUX.X64_193000_db_home.zip
Start the runinstaller
cd database ./runinstaller
Uncheck the i wish to receive security updates via my oracle support
Select install database software only >> Next >> Next >> Next >> Next >> Next
DBCA Create Database on ASM
We can now go ahead and create database on ASM with DBCA. Start DBCA >> Create a Database >> Advance Configuration
- Give Global Database name as prod
- Uncheck Create as container database
- Click on Next
Select Use following for the database storage attributes >> Browse
- Select DATA >> Click on OK
- Click on Next
Select specific fast recovery area >> Browse
- Select FRA >> Click on OK
- Change Fast Recovery Area Size >> Next
Click Next >> Next >> Next
Uncheck Register with Enterprise Manager(EM) database express
Select Use the same administrative password for all accounts >> Password >> Confirm Password
Select Create the database >> Next >> Finish
Done! For confirmation purpose, connect to database as Oracle user and issue below queries
SQL> select name, open_mode from v$database; SQL> select name from v$datafile; SQL> select name from v$controlfile;
We have successfully create Oracle Database on ASM!
Hope It Helps !!