Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

Oracle 12C Install Database for Linux and Solaris platforms

In this article we will look at Installing Oracle 12C database on Solaris x86 64bit version. This article assumes that you already had Solaris 11 installed on Virtualbox.

Using the Prebuilt VM

You can also download Oracle Solaris prebuilt VM from Oracle technology network. We used the same for installation purposes and it can be downloaded from here.
The link will open and you will have choice to either download the Solaris 11 VM or Solaris 10 VM. Download the latest Solaris 11.
Once it is downloaded, extract it using any tool like WinZip or TAR command on Linux. The extracted folder will have one ReadMe and one “OVA” file. Open the Virtual Box and go to File–>Import Appliance. Provide the path of OVA file and follow the onscreen instructions. The VM’s hard drive is supposed to grow up to 64GB in space, so make sure you have sufficient space available in destination folder.

Once the import process completes the VM will be ready to use. Next you will have to prepare this VM for Oracle install.

Preparing System for Installation

The first obvious step toward actual Oracle installation is to perform the pre installation tasks.

Configuring hosts file

First step is to properly name your host machine. The host name should properly be provided with IP address for installation to continue. Ideally your /etc/hosts file should look something like this. VST-SOL-12C localhost

Kernel Parameters

The default installation of Solaris is normally good enough for Oracle install. You just have to configure one parameter. You can use the below mentioned command to set the required Kernel parameter. Remember that though you will have to use the Root login to run this command but at least one “oracle” user session should be opened.

# projadd  -K "project.max-shm-memory=(privileged,4G,deny)" user.oracle
To confirm that parameter has been changed you can view the contents of /etc/project file.

# cat /etc/project
Also add the following lines in /etc/inittab, immediately before the “startd” entry.
tm::sysinit:/usr/sbin/ndd -set /dev/tcp tcp_smallest_anon_port 9000 > /dev/console
tm::sysinit:/usr/sbin/ndd -set /dev/tcp tcp_largest_anon_port 65500 > /dev/console
tm::sysinit:/usr/sbin/ndd -set /dev/udp udp_smallest_anon_port 9000 > /dev/console
tm::sysinit:/usr/sbin/ndd -set /dev/udp udp_largest_anon_port 65500 > /dev/console

Required Packages

You can check if packages required for Oracle are installed or not using the following command.

# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SUNWcsl
system SUNWarc Lint Libraries (usr)
system SUNWbtool CCS tools bundled with SunOS
system SUNWcsl Core Solaris, (Shared Libs)
system SUNWlibC Sun Workshop Compilers Bundled libC
system SUNWlibm Math & Microtasking Library Headers & Lint Files (Usr)
system SUNWlibms Math & Microtasking Libraries (Usr)
system SUNWsprot Solaris Bundled tools
system SUNWtoo Programming Tools
ERROR: information for "SUNWhea" was not found
ERROR: information for "SUNWi1of" was not found
ERROR: information for "SUNWi1cs" was not found
ERROR: information for "SUNWi15cs" was not found
ERROR: information for "SUNWxwfnt" was not found
As you can see the last five packages are not installed. You can install these packages as below, one by one.
# pkg install SUNWhea
Packages to install: 1
Create boot environment: No
Create backup boot environment: No
Completed 1/1 1584/1584 3.2/3.2 74.8k/s
Installing new actions 1704/1704
Updating package state database Done
Updating image state Done
Creating fast lookup database Done
As a root user, execute the following scrip

Creating Oracle user, groups and directories

The last step is to create oracle user groups and directories and set appropriate permissions and environment.

# groupadd oper
# groupadd dba
# groupadd oinstall
# usermod -g oinstall -G dba oper oracle
# mkdir -p /u01/app/oracle/product/12.0.1/db_1
# chown -R oracle:oinstall /u01
# chmod -R 775 /u01
Finally add the following lines at the end of .profile of Oracle user.

# Oracle Settings
TMP=/tmp; export TMP
# Select the appropriate ORACLE_BASE
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.0.1/db_1; export ORACLE_HOME

Installing Oracle 12C

You are now ready to install Oracle 12C database on your system. Log in as Oracle user, navigate to directory where you extracted the installation media and run the runInstaller command.
$ ./runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 180 MB. Actual 4369 MB Passed
Checking swap space: must be greater than 150 MB. Actual 4751 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013-07-02_11-52-51AM. Please wait ...

The installer will start and you will see the screen like below.
 You can skip this step and click Next.
Skip the software updates as well and click Next.
Choose Install and Configure database option and click Next.
Oracle 12c db installation
Select on Server class and click Next.
Choose single instance installation and click Next.
Oracle 12c installation on Virtual host
Select the Typical install method and click Next.
Here you provide most of the options like Oracle base and home directories and also password for admin accounts. The last checkbox is important. If you check it then you will have to provide one PDB name. If you uncheck it then database will be created as Non Container database, the same as it would have been before 12C version. You obviously would want the database to be Container database. Click Next.
Oracle 12c database install
Provide the location of Oracle Inventory and also the OS group who will own it. Click Next.
Oracle 12c installation on linux
This is the Install summary. Click Install once you are OK with all the options.

The installation normally takes sometime to complete.
Once installation is complete, you will be asked the run the scripts as Root.

# . /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
# . /u01/app/oracle/product/12.0.1/db_1/root.sh
Performing root user operation for Oracle 12c
The following environment variables are set as:
ORACLE_HOME= /u01/app/oracle/product/12.0.1/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Creating /usr/local/bin directory...
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /var/opt/oracle/oratab file...
Entries will be added to the /var/opt/oracle/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Once you are done with that go back on Installer screen and click OK.
The installation will continue with configuration.
Fig-14Once database has been created, you will be asked to do some password management. You can always do this later. Click OK to finish the installation.
Click Close to exit the Installer.
Oracle 12c Database Installation On Solaris is successful.

Post Installation

You now log into your database to confirm if database has been created and configured.

$ sqlplus / as sysdba
SQL*Plus: Release Production on Tue Jul 2 13:01:01 2013
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> select instance_name from v$instance;
You can check which PDBs are configured and also you can log into PDB from within CDB as well.
SQL> select name,open_mode from v$pdbs;
------------------------------ ----------
SQL> alter session set container=PDB1;
Session altered.
SQL> select file_name from dba_data_files;


Popular posts from this blog

rman interview and scenario based questions and answer and also rman(backup and recovery) discussions panel

How to Get Table Size, Database Size, Indexes Size, schema Size, Tablespace Size, column Size in PostgreSQL Database

How to find the server is whether standby (slave) or primary(master) in Postgresql replication ?

7 Steps to configure BDR replication in postgresql

PostgreSQL pgBadger