Installing oracle

From DISI
Jump to navigation Jump to search

Installation of Oracle and JChem Cartridge

Pre-Installation Tasks

Abbreviated instructions on how Oracle Enterprise 11g and ChemAxon's JChem Cartridge was installed on erindev.bkslab.org (ignoring the plethora of false starts due to OS bugs, kernel crashes, hard drive problems etc - We'll pretend it all went smoothly from the start)

Oracle requires a number of preinstallation tasks, all of which were followed as per the documentation [1]
Sufficient room, memory, etc determined.
Required packages installed as per page
/etc/hosts configured to have fully resolved name:
(domainname = compbio.ucsf.edu, hostname = erindev.bkslab.org)
Setting $ORACLE_HOSTNAME
in /etc/profile.d/oracle_environs.sh:
ORACLE_HOSTNAME=erindev.bkslab.org
export ORACLE_HOSTNAMESetting $ORACLE_HOSTNAME
Create required groups as per documentation
groupadd dba, oper, asmadmin, oinstall
add oracle user with primary group in oinstall
pw: [standard admin pw]
Shell limits increased in /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Kernel limits checked, changes needed added to
kernel.semopm = 100
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
Default shell set to bash
Creation of required directories
oracle base: /scratch/oracle/app/oracle
oracle inventory: /scratch/oracle/app/oraInventory
oracle home (auto made in install): /scratch/oracle/app/oracle/product/11.2/zinc
Udev permissions business seems pointless as 11g doeesn't need raw devices and can just I/O automatically
Set oracle's environment in /etc/profile.d/oracle_environs.sh
set ORACLE_BASE = /scratch/oracle/app/oracleS
ORACLE_SID = zinc

Installation of Oracle

Options taken during install
global database name: zinc.erindev.bkslab.org
same pw for all accounts: [standard admin pw]
ignoring pdksh issue, sticking with ksh - seems in forums to not be causeing problems
psfile: /scratch/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/spfilezinc.ora
control URL: https://erindev.bkslab.org:1158/em
encryption key: /scratch/oracle/app/oracle/product/11.2.0/zinc_home/erindev.bkslab.org_zinc/sysman/config/emkey.ora
ORACLE_HOME=/scratch/oracle/app/oracle/producut/11.2.0/zinc_home

Post Installation Tasks

/etc/profile.d/oracle_environs.sh set up with all Oracle variables
ORACLE_HOSTNAME=erindev.bkslab.org
ORACLE_BASE=/scratch/oracle/app/oracle
ORACLE_SID=zinc
ORACLE_HOME=/scratch/oracle/app/oracle/product/11.2.0/zinc_home
export ORACLE_HOSTNAME ORACLE_BASE ORACLE_SID ORACLE_HOME
Auto-start the ZINC database when Oracle comes up
/etc/oratab changed to autostart ZINC (set to Y)
SQLPLUS added to generic path
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin/sqlplus
Oracle auto-start
etc/init.d scripts added as per http://ivan.kartik.sk/oracle/install_ora11gR1_elinux.html

ChemAxon JChem Cartridge

Oracle user chemaxon (pw: [standard admin pw]) set up, with DBA and all JAVA privileges JChem 5.6 package downloaded and installed as per normal. Specific JDK installed from documentation, with JAVA_HOME set in same oracle environment script (JAVA_HOME=/opt/jdk1.6.0_27)

Cartridge installation launched from within cartridge folder as per documentation. Most defaults taken, or obvious answers (eg host machine = erindev.bkslab.org

During cartridge installation:

ERROR: chemaxon doesn't have java.net.SocketPermission for erindev.bkslab.org to connect

Need to grant this specifically: SQL> call dbms_java.grant_permission( 'CHEMAXON', 'java.net.SocketPermission', 'oracle.clnp.umt.edu','connect,resolve');

/etc/init.d/oracle created
!/bin/bash
oracle Init file for starting and stopping
Oracle Database. Script is valid for 10g and 11g versions.
chkconfig: 35 80 30
description: Oracle Database startup script
Source function library.
./etc/rc.d/init.d/functions
ORACLE_OWNER="oracle"
ORACLE_HOME="/scratch/oracle/app/oracle/product/11.2.0/zinc_home"
case "$1" in
start)
echo -n $"Starting Oracle DB:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
echo "OK"
stop)
echo -n $"Stopping Oracle DB:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
echo "OK"
*)
echo $"Usage: $0 {start|stop}"
esac

/sbin/chkconfig --add oracle

Other DBAs added to Oracle
johnirwin and teaguesterling added
pw: devilbox
Adding a Cartrdige role so other users can access cartridge from the chemaxon schema (as it is the owner)
JCC_IDX_ROLE created and privileges assigned to be able to use other indexes/createL
SQL> call privman_pkg.grants_on_jcobjs('CHEMAXON', 'JCC_IDX_ROLE');

Additional Business

Webmin installed (because it's rad)
https://erindev.bkslab.org:1000/
admin, [standard admin pw]
Outstanding Needs
on reboot, Cartridge needs to be added to init.d to startup (Oracle currently starts up).
Also need emctl to start automatically on reboot.