• Arun Kumar

Oracle 12cR2 Installation on Linux with ASM

In this article we will be looking at Oracle 12c release 2 installation on Oracle Linux 7.6 with ASM. If you already know, Oracle ASM binaries comes with Grid Software!


The steps that we are going to follow are:


  1. Installing the Oracle Grid infrastructure

  2. Setting up Oracle ASM

  3. Installing the Oracle Database Software

  4. Creating the Database on ASM


Install Oracle Grid


Connect to OEL 7.6 server via putty and install the below packages

yum -y install oracle-database-server-12cR2-preinstall
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

Let us configure the Oracle ASM


oracleasm configure -i

Default user to own the driver interface []: grid
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n): y
Writing Oracle ASM library driver configuration: done

Now we need to load or initiate the Oracle ASM

oracleasm init

Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module “oracleasm”: oracleasm
Configuring “Oracleasm” to use device physical block size
Mounting ASMlib driver filesystem: /dev/oracleasm

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


oracle VM

Click on Next


Click on Next


Give size 30 GB >> Click on Create


Click on OK


Start virtual machine and login as root user. We are not going to format the newly added disk

fdisk -1

In the above output we have created 3 partitions for sda i.e. sda1,sda2, and sda3. The sdb is not yet formatted. So now we need to create 3 partitions for sdb.

fdisk /dev/sdb

To store partitions : w

To verify : fdisk -1


Now we need to create separate ASM Disk for each partition

oracleasm createdisk CRS1 /dev/sdb1
oracleasm createdisk DATA1 /dev/sdb2
oracleasm createdisk FRA1 /dev/sdb3

To check disk:

oracleasm listdisks

We can also check through

ls -lrt /dev/oracleasm/disks

Create the Directories for Oracle Database installation

mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/12.2.0/db_home
chown -R oracle:oinstall /u01

Create the Directories for Oracle Grid installation

mkdir -p /u01/app/grid
mkdir -p /u01/app/grid/product/12.2.0/grid_home
chown -R grid:oinstall /u01/app/grid
chown -R 775 /u01


Edit Grid user Bash_Profile but take .bash_profile backup before editing it

cd 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/12.2.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


Let’s proceed with Grid Installation


Copy the grid 12cR2 under grid home and unzip the software

cd $ORACLE_HOME
unzip linuxx64_12201_grid_home.zip

Start the gridSetup.sh which will install grid software. Make sure xming is up and running on your windows machine

./gridSetup.sh

Follow below screens to perform the grid software installation

  1. Change Disk group name as CRS

  2. Select External

  3. Click on Change Discovery Path

  4. Give Disk Discovery Path as /dev/oracleasm/disks

  5. Click on OK


ASM Disk Group

Select /dev/oracleasm/disks/CRS1 >> Next

Image 11

Select use same password for these accounts >> Give  Specify password >> confirm password >> Next


Click on Yes

Image 12

Click on Next


Click on Next

Click on Next


Click on Next


Click on Next


Image 16

Click on fix and check again


Image 15

Copy script and paste into the Root User


Image 16

Click on OK


  1. Ignore All 

  2. Next

  3. Yes


Image 17

Click on Install


Wait till the installation is completed


Copy first command and run on the root user


Copy second command and run on the root user


Click on OK


Image 18

Click on Close


Image 19

Configure ASM Diskgroups


Now we need to initiate the asmca in order to configure DATA and FRA disk group


Click on Create


Image 20
  1. Give Disk Group Name as DATA

  2. Select External(None)

  3. Select /dev/oracleasm/disks/DATA1

  4. Click on OK

Click on Create

  1. Give Disk Group Name as FRA

  2. Select External(None)

  3. Select /dev/oracleasm/disks/FRA1

  4. Click on OK

Image 21

Exit >> Yes


Image 22

Install Oracle Software


Now we need to setup Oracle user Bash_Profile


Open duplicate session as Oracle user  >> Give user and Passwords >> copy the bash profile


Open the Bash Profile


vi .bash_profile

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
ORACLE_HOSTNAME=asm.dbagenesis.com; export ORACLE_HOSTNAME
ORACLE_SID=prod; export ORACLE_SID
ORACLE_UNQNAME=prod; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_home; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM

JAVA_HOME=/usr/bin/java; export JAVA_HOME
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
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

LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export CLASSPATH

TEMP=/tmp ;export TMP
TMPDIR=$tmp ; export TMPDIR

umask 022

Execute the Bash_Profile:


Now we need to install the Oracle Software. We already copied oracle software under the u01. Unzip the software

cd /u01
ls -lrt

unzip linuxx64_12201_database.zip 

Start the runinstaller

ls -lrt
cd database/
ls -lrt
./runinstaller

Uncheck the i wish to receive security updates via my oracle support >> Next


Click on Yes


Select install database software only >> Next

Click on Next


Click on Next


Click on Next


Click on Next

Image.

Click on Install


install product

Now we need to run the Root scripts


Copy the command and paste it into the root user

Click on OK


Click on Close


Create Database on ASM


Now we need to create database on oracle user. Start DBCA and follow below screens.


Select Create a database >> Next


Select Advance Configuration >> Next


Click on Next


image 8

  1. Give Global Database name as prod

  2. Unable Create as container database

  3. 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 on Next


Click on Next


Click on Next


Image 23

Uncheck Register with Enterprise Manager(EM) database express


Select Use the same administrative password for all accounts >> Password >> Confirm Password Next


Click on Yes


Select Create the database >> Next


Click on Finish

Click on Close


To 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;

This is the process of installing Oracle 12cR2 with ASM on Linux. 


The process remains pretty much the same when compared to 12cR1 and also with the 11gR2 release.

Recent Posts

See All

How to plan database creation

Database creation process involves several operating system files to work together. You create database only once and later on keep on adding more data files. Before you can simply go ahead and start

Oracle Transportable Tablespace

Assume that you have a schema (IQS) on production server and you want to import the schema into test server. The ideal approach would be to perform entire schema export and import using data pump. Rig

Grant Select on all tables in a schema

I encountered this situation where I wanted to grant SELECT on all the tables owned by one user to another user. There are two simple ways to achieve this: Generate SQL for each table In this method,

  • Facebook
  • Twitter
  • YouTube
  • Instagram

© 2020 by DBA Genesis

Feedback