Getting tired of typing and setting your ORACLE_HOME, ORACLE_SID and troubleshooting your . oraenv ?
going/connecting to different client sites with different platforms and server environments sometimes it is frustrating just how long it takes to get a proper SQL*Plus environment
So I always make use of this script
http://karlarao.tiddlyspot.com/#%5B%5Bstep%20by%20step%20environment%5D%5D
and for every server that I access I just have to do three bits of typing:
. ~oracle/.karlenv <<– set the environment
2 <<– choose an instance
s <<– rlwrap'd sqlplus alias
see example usage below:
[root@desktopserver ~]# su - oracle
[oracle@desktopserver ~]$
[oracle@desktopserver ~]$ vi .karlenv <-- copy the script from the "Install environment framework - karlenv" section of the wiki link above
[oracle@desktopserver ~]$
[oracle@desktopserver ~]$ ls -la | grep karl
-rw-r--r-- 1 oracle dba 6071 Dec 14 15:58 .karlenv
[oracle@desktopserver ~]$
[oracle@desktopserver ~]$ . ~oracle/.karlenv <-- set the environment
<HOME_LIST>
<HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/app/11.2.0/grid" TYPE="O" IDX="1" CRS="true"/>
<HOME NAME="OraDb11g_home1" LOC="/u01/app/oracle/product/11.2.0/dbhome_1" TYPE="O" IDX="2"/>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
1- +ASM
2- dw
Select the Oracle SID with given number [1]:
2 <-- choose an instance
Your profile configured for dw with information below:
The Oracle base has been set to /u01/app/oracle
ORACLE_SID=dw
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
oracle@desktopserver.local:/home/oracle:dw
$ s <-- rlwrap'd sqlplus alias, also you can use the "s1" alias if you don't have rlwrap installed
SQL*Plus: Release 11.2.0.3.0 Production on Thu Jan 5 15:41:15 2012
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP and Real Application Testing options
USERNAME INST_NAME HOST_NAME SID SERIAL# VERSION STARTED SPID OPID CPID SADDR PADDR
-------------------- ------------ ------------------------- ----- -------- ---------- -------- --------------- ----- --------------- ---------------- ----------------
SYS dw desktopserver.local 5 8993 11.2.0.3.0 20111219 27483 24 27480 00000000DFB78138 00000000DF8F9FA0
SQL> @gas <-- calling one of Kerry's scripts from the /home/oracle/dba/scripts directory
INST SID PROG USERNAME SQL_ID CHILD PLAN_HASH_VALUE EXECS AVG_ETIME SQL_TEXT OSUSER MACHINE
----- ----- ---------- ------------- ------------- ------ --------------- ------------ --------------- ----------------------------------------- ------------------------------ -------------------------
1 5 sqlplus@de SYS bmyd05jjgkyz1 0 79376787 3 .003536 select a.inst_id inst, sid, substr(progra oracle desktopserver.local
1 922 OMS SYSMAN 2b064ybzkwf1y 0 0 50,515 .004947 BEGIN EMD_NOTIFICATION.QUEUE_READY(:1, :2 oracle desktopserver.local
SQL>
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP and Real Application Testing options
oracle@desktopserver.local:/home/oracle:dw
BTW, parts of the code came from this blog by Coskan Gundogar http://goo.gl/cqRPK and I’ve edited/added some lines on the setsid and showsid sections making it suitable for most unix(solaris,aix)/linux environments
Also I’ve added lines of code before and after the setsid and showsid to get the following info:
- software homes installed
- get DBA scripts location
- set alias
– very useful on troubleshooting if you have multiple homes (RDBMS/Grid Infra/EMGC)
– quickly plugin your script folders by editing the “# SCRIPTS LOCATION” section
– quickly add alias by editing the “# ALIAS” section
Hope I’ve shared you some good stuff!

















