Since Standard Edition 2 is available by now and I already described in my previous blog how easy it is, to set up a database, the question comes up, how to install SE2 on Oracle Enterprise Linux Version 7. Who already worked with OEL 6, will notice when switching to OEL 7, that quite a bit has happened. You’ll be searching the old /etc/init.d in vain, as now the startup of daemons and programs is managed by the command systemctl. By this the commands service and chkconfig are dropped – however I’d like to mention that there are quite a few DBAs, who used to change and start the programs directly in the past. I’m not going to elaborate on the command systemctl, as there already are several detailed documents, with this one leading the way: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/chap-Managing_Services_with_systemd.html
Also I’m not expanding on the surface for the installation of OEL 7, it is well-made and intuitive, so a DBA should be able to quickly perform a minimal installation – and I would recommend this as a base for the Oracle database.
Oracle RDBMS 12c Preinstall
A crucial point after installing the operating system is once again the additionally needed packages. There are lots of documents and blogs listing all the single packages, I recommend, if the server has internet access, to install the Oracle 12c preinstall by YUM:
yum -y install oracle-rdbms-server-12cR1-preinstall …
With this single command all the packages that are needed for the installation of Oracle database software are loaded automatically. Also the user Oracle is created and the kernel parameters are set up. Only the packages for Oracle ASM are opted out here. Who wants to use the Grid infrastructure, needs to execute this command additionally:
yum -y install oracleasm-support oracleasmlib oracleasm-`uname -r`
Furthermore I’m not going to expand on the installation of Oracle GI, but confine for single instance.
If you have got a server without direct internet access, you might want to build up a separate repository and manage the packages there. I’ll describe how to do that in one of my next blogs.
As I personally don’t like the settings of the OS user oracle with the ID 54321 and those of the groups oinstall and dba, I delete them afterwards and set them up with “my” parameters.
userdel oracle groupdel dba groupdel oinstall rm -rf /home/oracle
As I try to build up a preferably consistent and expandable environment, I don’t only create the “normal” groups, but also the new Oracle OS groups for the “special tasks”:
groupadd -g 101 oinstall groupadd -g 102 dba groupadd -g 103 oper groupadd -g 104 asmdba groupadd -g 105 asmadmin groupadd -g 106 asmoper groupadd -g 107 backupdba groupadd -g 108 dgdba groupadd -g 109 kmdba
Now the Oracle user is created again and the user oragrid in addition – you never know…
useradd -c "Oracle DBA" -d /home/oracle -g oinstall -G dba,oper,asmdba,backupdba,dgdba,kmdba -p oracle -s /bin/bash -u 1001 oracle useradd -c "Oracle Grid Admin" -d /home/oragrid -g oinstall -G asmdba,asmadmin,asmoper -p oragrid -s /bin/bash -u 1002 oragrid passwd oracle passwd oragrid
For the the database structure I use different mount points or directories, which I create in the next step:
mkdir -p /u01/app/oraInventory # Inventory mkdir -p /u01/app/oracle # Oracle DB Software (ORACLE_BASE) mkdir -p /u01/app/gridbase # Oracle GI Base Directory (GRID_BASE) mkdir -p /u01/app/oragrid # Oracle GI Software mkdir -p /u02/oradata # Oracle Datafiles (if not in ASM) mkdir -p /u03/orabackup # Fast Recovery Area chown -R oracle:dba /u02/oradata chown -R oracle:dba /u03/orabackup chown -R oracle:oinstall /u01/app/oracle chown -R oracle:oinstall /u01/app/oraInventory chown -R oragrid:oinstall /u01/app/oragrid chown -R oragrid:oinstall /u01/app/gridbase
If you don’t want to copy the Oracle software to the computer, but mount it as a NFS disk, you therefore need to start and enable the following processes:
systemctl enable rpcbind.socket systemctl restart rpcbind.service systemctl start nfs-server
Last but not least the firewall configuration has to be adjusted or stopped:
systemctl stop firewalld systemctl disable firewalld
By that the requirements for the installation of the Oracle software (Enterprise Edition or Standard Edition) are met.
DOAG Training Day 2015: “Oracle 12c Database Installation and Configuration”
If you want to learn more about the installation and configuration of Standard Edition 2 or the Enterprise Edition, as well, visit our training at the “DOAG Conference 2015”. Find more information (in German) here: http://www.doag.org/de/events/konferenzen/doag-2015/schulungstag.html#c9814