Step by Step Oracle 12c Database Install on Oracle Virtual Machine
Oracle has only released 12C database for Linux and Solaris platforms. We have already covered how to install the newest database version on Linux here. 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.
Realted Articles
• Oracle 12c RAC: Installation on Oracle Linux 6 using VirtualBox
• Managing PDBs using Database Configuration Assistant
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.
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. You can check if packages required for Oracle are installed or not using the following command. DOWNLOAD PKGS FILES XFER (MB) SPEED PHASE ITEMS The last step is to create oracle user groups and directories and set appropriate permissions and environment. # Select the appropriate ORACLE_BASE 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. Checking Temp space: must be greater than 180 MB. Actual 4369 MB Passed Changing groupname of /u01/app/oraInventory to oinstall. # . /u01/app/oracle/product/12.0.1/db_1/root.sh The following environment variables are set as: Enter the full pathname of the local bin directory: [/usr/local/bin]: Oracle 12c Database Installation On Solaris is successful. You now log into your database to confirm if database has been created and configured. SQL*Plus: Release 12.1.0.1.0 Production on Tue Jul 2 13:01:01 2013 Copyright (c) 1982, 2013, Oracle. All rights reserved. SQL> select instance_name from v$instance; INSTANCE_NAME NAME OPEN_MODE SQL> alter session set container=PDB1; Session altered. SQL> select file_name from dba_data_files; FILE_NAME Your Oracle 12c Database on Oracle Virtual Machine is ready for use!
10.0.2.15 VST-SOL-12C
127.0.0.1 localhostKernel Parameters
# 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
system:0::::
user.root:1::::
noproject:2::::
default:3::::
group.staff:10::::
user.oracle:100::::project.max-shm-memory=(privileged,4294967296,deny)
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/consoleRequired Packages
# 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
Creating Oracle user, groups and directories
# 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
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=VST-SOL-12C; export ORACLE_HOSTNAME
ORACLE_UNQNAME=CDB12C; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.0.1/db_1; export ORACLE_HOME
ORACLE_SID=CDB12C; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
Installing Oracle 12C
$ ./runInstaller
Starting Oracle Universal Installer...
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.
Select on Server class and click Next.
Choose single instance installation and click Next.
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.
Provide the location of Oracle Inventory and also the OS group who will own it. Click Next.
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.
The execution of the script is complete.
Performing root user operation for Oracle 12c
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/12.0.1/db_1
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.
Once 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.Post Installation
$ sqlplus / as sysdba
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
----------------
CDB12C
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;
------------------------------ ----------
PDB$SEED READ ONLY
PDB1 READ WRITE
-------------------------------------------------------------------------
/u01/app/oracle/oradata/CDB12C/PDB1/example01.dbf
/u01/app/oracle/oradata/CDB12C/PDB1/SAMPLE_SCHEMA_users01.dbf
/u01/app/oracle/oradata/CDB12C/PDB1/sysaux01.dbf
/u01/app/oracle/oradata/CDB12C/PDB1/system01.dbf
Hello Natik,
Thank you for this tutorial. I was able to install the software thanks to you. However, I can’t get OEM to work – Firefox says “The connection was interrupted” when I try to access the default web address for OEM. I’ve look everywhere, but nobody else seems to have this problem. I’ve installed Solaris and Oracle 12c on three VMs already and all have the same problem. I’m clearly doing something wrong. Perhaps you have some suggestions?
Hi Chris,
What is the status of the listener and the dbconsole? Also try both http and https address of the dbconsole link that you are trying.
lsnrctl status
emctl status dbconsole
Hi chris i’m cannot create usermod
[email protected]:~# usermod -g oinstall -G dba oper oracle
UX: usermod: ERROR: Invalid syntax.
usage: usermod -u uid [-o] | -g group |-G [+|-]group[[,group]…] |
-d dir [-m] | -s shell | -c comment |
-l new_logname | -f inactive | -e expire |
-A [+|-]authorization[[,authorization]…] |-K key[+|-]=value … |
-P [+|-]profile[[,profile]…] | -R [+|-]role[[,role]…] |
[-S [files | ldap]] [-q qualifier] login
Looks like you can use commas, so try this:
usermod -g oinstall -G dba,oper oracle
Same issue here.
Use this syntax:
/usr/sbin/usermod -g oinstall -G dba,oper dbmgr
try this:
usermod -g oinstall -G dba,oper oracle
your tutor is simply good I will like to see more of you tutorials Linux and oracle database
Regards
Alozie
hello sir,
I have installed oracle 12c software nnd as previously i am running 11g version database on same server so i how do I login to 12c database. installation I have assign seprate ORACLE_HOME for 12c databae
hi , nice article ..but one question , you mentioned 64 gb , wondering is that a typo ? did you mean to see to say 6.4 gb?