Search This Blog

Wednesday, June 30, 2010

How to run multiple Oracle database instances on a single server


You can have multiple instances on the same machine, each with their own data files,  either sharing the ORACLE_HOME or each with different ORACLE_HOMEORACLE_HOME and ORACLE_SID are the key environment variables used by Oracle to identify an instance.  In addition $ORACLE_HOME/bin must be in your PATH environment variable.
To check the value of these environment variables:
$ env |grep ORACLE
ORACLE_SID=pdb10i1
ORACLE_BASE=/u01/app
ORACLE_HOME=/u01/app/oracle/product/10.2.0
The “oraenv” (or “coraenv“) shell scripts allows you to change the value of these environment variables and switch instances, which are usually located under /usr/local/bin
$ file /usr/local/bin/*oraenv
/usr/local/bin/coraenv: Bourne shell script text executable
/usr/local/bin/oraenv:  Bourne shell script text executable
  • To run multiple database instances under the same database version.
The instances all use the same software executables. The PATH for all the instances is the same and it contains$ORACLE_HOME/bin. Note that that the number of instances that can share executables (ie. can have the same$ORACLE_HOME) is limited only by system resources. In this case, to change instances; you will have to resetORACLE_SID.
For example:
ORACLE_HOME=/u01/app/oracle/product/10.2.0
ORACLE_SID=pdb10i1
ORACLE_HOME=/u01/app/oracle/product/10.2.0
ORACLE_SID=pdb10i2
  • To run multiple database instances under the different database version.
You are (or will be) running two (or more) different versions of Oracle software on the same machine at the same time. In such case, the executables are not shared. So, to change instances; you will have to reset ORACLE_SID,ORACLE_HOME and PATH.
For example:
ORACLE_HOME=/u01/app/oracle/product/10.2.0
ORACLE_SID=pdb10i1
ORACLE_HOME=/u01/app/oracle/product/11.1.0
ORACLE_SID=pdb11i1
When you have multiple versions of Oracle on the same machine, you may want to setup a different oracle (software owner) user for each version.
For Example:
oracle10 owns the 10g database with ORACLE_HOME=/u01/app/oracle/product/10.2.0
oracle11 owns the 11g database with ORACLE_HOME=/u01/app/oracle/product/11.1.0
To set this up:
  • Create a new oracle user account to own and manage the new Oracle database (for example, oracle10). The home directory (ORACLE_HOME) must be different from that of the original oracle user account.
  • Login to the oracle10 account and run the installer. All directories and files in $ORACLE_HOME will be owned by oracle10.
  • When the installation is complete, run oraenv shell script installed by Oracle to verify that the environment variables are set correctly.

Monday, June 28, 2010

How to delete Listener.log?

By default the listener.log is in %ORACLE_HOME%network/log/ directory. It grows day by day and you want to delete it because its size. You do not have to stop the listener in order to delete the log files. What you can do is the following:
$> lsnrctl
LSNRCTL> set current_listener <listener_name>
LSNRCTL> show log_file
LSNRCTL> set log_file <new log file name>
LSNRCTL> show log_file
LSNRCTL> exit

$> remove or backup the old listener.log

Saturday, June 26, 2010

How to configure vncserver ?



Vncserver is just another application available in almost all the available Linux based distros. Configuring vncserver is very easy. But the default desktop view in vncviewer is gray scale desktop with very pathetic GUI. To view normal Gnome or KDE desktop in vncviewer, assigning a custom port for usage, user configuration and to adjust the resolution of the vncviewer window, some files need to be configured properly. Here are the required configuration in any version of Fedora/Fedora Core. But with minor modifications these can be applied to other distros like Ubuntu, SuSE, Gentoo etc.
Step 1: Installing Vncviewer, Vncserver
As root do this
[root@bordeaux saini]# yum install vnc [Enter]

Step 2: Configuring resolution, port & user

The default location of server configuration file for vncserver is '/etc/sysconfig/'. To configure the resolution, user and port open '/etc/sysconfig/vncservers' in you favorite editor and add two lines per user configuration shown ..
VNCSERVERS=":"
VNCSERVERARGS[<displayPort>]="-geometry x"
Example :
VNCSERVERS="3:saini"
VNCSERVERARGS[3]="-geometry 1000x700"

You can choose any display port, but it should not be in use by another X server. Window height and width can be anything (not in fraction of course). But keep in mind that the system on which you are going to view the desktop using vncviewer should have greater resolution than what you specify here, otherwise scrollbars will appear.
Step 3: Configuring Desktop Environment
The user specific configuration files of vncviewer resides in '.vnc' directory in user's home directory. (e.g. '/home/saini/.vnc/'). Open '.vnc/xstartup' in your favorite editor and edit as below
  • For Gnome
The 'xstartup' file shout look like this
#!/bin/sh
 
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
 
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
startx &
  • For KDE
The 'xstartup' file should look like this

#!/bin/sh
 
# Uncomment the following two lines for normal desktop:
#unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
 
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
startkde &

Step 4: Configuring password
For setting up vncviewer password for user 'xyz', login as user 'xyz' and issue 'vncpasswd' command on a terminal/konsole (or whatever). Enter password twice and you are done with password setting.
Step 5: Starting Vncserver
To start vncserver, login as root and issue 'service vncserver start' command. If service started successfully, you are ready to use vncviewer on a remote/local machine.
Step 6: Accessing through Vncviewer
  • From Linux based machines
[saini@bordeaux saini]# vncviewer : [Enter] #(IP Address is for the machine where you set up vncserver)
  • From Windows
On windows there is a software called RealVnc. Install it and enter : in the dialog box.
[I explained how to connect via windows because it may help someone get a bit of relief.]
Screenshots:

  • Vncviewer with Gnome as Desktop environment
vncserver vncviewer Screenshot Gnome - kulbir saini, general bordeaux
  • Vncviewer with KDE as Desktop environment
vncserver vncviewer Screenshot KDE - kulbir saini, general bordeaux
Vnc is nice tool if you want to avoid using windows. I use it all the time. While I am forced to work on windows system, I install vncviewer and use it in full screen mode :P It also helps when you want to run some gui based application and monitor is remotely. Because if you close vncviewer window and use vncviewer again, you will be given the desktop session where you left it (all windows open and applications running).

Friday, June 25, 2010

Installation Oracle 10g on rhel5 - Oracle Database 10g Release 2 (10.2.0.1) Installation On Red Hat Enterprise Linux 5 (RHEL5)


In this article I'll describe the installation of Oracle Database 10g Release 2 (10.2.0.1) on Red Hat Enterprise Linux 5 (RHEL5). The article is based on a server installation similar to this, with a minimum of 2G swap, secure Linux disabled and the following package groups installed:
  • GNOME Desktop Environment
  • Editors
  • Graphical Internet
  • Text-based Internet
  • Development Libraries
  • Development Tools
  • Legacy Software Development
  • Server Configuration Tools
  • Administration Tools
  • Base
  • Legacy Software Support
  • System Tools
  • X Window System
Alternative installations may require more packages to be loaded, in addition to the ones listed below.

Download Software

Download the following software:

Unpack Files

Unzip the files:
unzip 10201_database_linux32.zip
You should now have a single directory containing installation files. Depending on the age of the download this may either be named "db/Disk1" or "database".

Hosts File

The /etc/hosts file must contain a fully qualified name for the server:
<ip-address>  <fully-qualified-machine-name>  <machine-name>

Set Kernel Parameters

Add the following lines to the /etc/sysctl.conf file:
#kernel.shmall = 2097152
#kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
#fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
Run the following command to change the current kernel parameters:
/sbin/sysctl -p
Add the following lines to the /etc/security/limits.conf file:
*               soft    nproc   2047
*               hard    nproc   16384
*               soft    nofile  1024
*               hard    nofile  65536
Add the following line to the /etc/pam.d/login file, if it does not already exist:
session    required     pam_limits.so
Disable secure linux by editing the /etc/selinux/config file, making sure the SELINUX flag is set as follows:
SELINUX=disabled
Alternatively, this alteration can be done using the GUI tool (System > Administration > Security Level and Firewall). Click on the SELinux tab and disable the feature.

Setup

Install the following packages:
# From RedHat AS5 Disk 1
cd /media/cdrom/Server
rpm -Uvh setarch-2*
rpm -Uvh make-3*
rpm -Uvh glibc-2*
rpm -Uvh libaio-0*
cd /
eject

# From RedHat AS5 Disk 2
cd /media/cdrom/Server
rpm -Uvh compat-libstdc++-33-3*
rpm -Uvh compat-gcc-34-3*
rpm -Uvh compat-gcc-34-c++-3*
rpm -Uvh gcc-4*
rpm -Uvh libXp-1*
cd /
eject

# From RedHat AS5 Disk 3
cd /media/cdrom/Server
rpm -Uvh openmotif-2*
rpm -Uvh compat-db-4*
cd /
eject
Create the new groups and users:
groupadd oinstall
groupadd dba
groupadd oper

useradd -g oinstall -G dba,oper oracle
passwd oracle
Create the directories in which the Oracle software will be installed:
mkdir -p /u01/app/oracle/product/10.2.0/db_1
chown -R oracle.oinstall /u01
Login as root and issue the following command:
xhost +
Edit the /etc/redhat-release file replacing the current release information (Red Hat Enterprise Linux Server release 5 (Tikanga)) with the following:
redhat-4
Login as the oracle user and add the following lines at the end of the .bash_profile file:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=TSH1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi

Installation

Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable:
DISPLAY=:0.0; export DISPLAY
Start the Oracle Universal Installer (OUI) by issuing the following command in the database directory:
./runInstaller
During the installation enter the appropriate ORACLE_HOME and name then continue installation. For a more detailed look at the installation process, click on the links below to see screen shots of each stage.
  1. Select Installation Method
  2. Specify Inventory Directory and Credentials
  3. Select Installation Type
  4. Specify Home Details
  5. Product-Specific Prerequisite Checks
  6. Select Configuration Option
  7. Select Database Configuration
  8. Specify Database Configuration Options
  9. Select Database Management Option
  10. Specify Database Storage Option
  11. Specify Backup and Recovery Options
  12. Specify Database Schema Passwords
  13. Summary
  14. Install
  15. Configuration Assistants
  16. Database Configuration Assistant
  17. Database Configuration Assistant Password Management
  18. Execute Configuration Scripts
  19. End Of Installation

Post Installation

Edit the /etc/redhat-release file restoring the original release information:
Red Hat Enterprise Linux Server release 5 (Tikanga)
Edit the /etc/oratab file setting the restart flag for each instance to 'Y':
TSH1:/u01/app/oracle/product/10.2.0/db_1:Y
For more information see:
Hope this helps. Regards Tim...
Back to the Top.

Related Posts with Thumbnails