cat setora.sh#!/bin/bashexport ORACLE_BASE=/opt/oraclesetora() {if [ -z "$1" ]; thenecho "Usage: setora <ORACLE_SID>"echo "Example: setora FREE"return 1fiORA_SID=$1# Read from /etc/oratab (ignore comments)ORA_ENTRY=$(grep -v '^#' /etc/oratab | grep "^${ORA_SID}:")if [ -z "$ORA_ENTRY" ]; thenecho "SID not found in /etc/oratab"return 1fiORA_HOME=$(echo $ORA_ENTRY | cut -d':' -f2)export ORACLE_SID=$ORA_SIDexport ORACLE_HOME=$ORA_HOMEexport TNS_ADMIN=$ORACLE_HOME/network/adminexport LD_LIBRARY_PATH=$ORACLE_HOME/lib# Clean old Oracle paths from PATHPATH=$(echo $PATH | tr ':' '\n' | grep -v '/opt/oracle' | paste -sd ':' -)export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATHecho ""echo "✅ Environment switched"echo "ORACLE_SID = $ORACLE_SID"echo "ORACLE_HOME = $ORACLE_HOME"echo ""}alias sqlme='sqlplus / as sysdba'showora() {echo "ORACLE_BASE = $ORACLE_BASE"echo "ORACLE_HOME = $ORACLE_HOME"echo "ORACLE_SID = $ORACLE_SID"}# List available databaseslsora() {echo "Available databases from /etc/oratab:"grep -v '^#' /etc/oratab | awk -F: '{print $1}'}lsoraecho setora---type setorasetora is a functionsetora (){if [ -z "$1" ]; thenecho "Usage: setora <ORACLE_SID>";echo "Example: setora FREE";return 1;fi;ORA_SID=$1;ORA_ENTRY=$(grep -v '^#' /etc/oratab | grep "^${ORA_SID}:");if [ -z "$ORA_ENTRY" ]; thenecho "SID not found in /etc/oratab";return 1;fi;ORA_HOME=$(echo $ORA_ENTRY | cut -d':' -f2);export ORACLE_SID=$ORA_SID;export ORACLE_HOME=$ORA_HOME;export TNS_ADMIN=$ORACLE_HOME/network/admin;export LD_LIBRARY_PATH=$ORACLE_HOME/lib;PATH=$(echo $PATH | tr ':' '\n' | grep -v '/opt/oracle' | paste -sd ':' -);export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH;echo "";echo "✅ Environment switched";echo "ORACLE_SID = $ORACLE_SID";echo "ORACLE_HOME = $ORACLE_HOME";echo ""}*************cat free.env#!/bin/bash# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfiexport TWO_TASK=export ORACLE_UNQNAME=export LD_LIBRARY_PATH=/opt/oracle/product/26ai/dbhomeFree/libexport ORACLE_SID=FREEexport ORACLE_BASE=/opt/oracleexport ORACLE_HOME=/opt/oracle/product/26ai/dbhomeFreeexport TNS_ADMIN=/opt/oracle/product/26ai/dbhomeFree/network/adminexport OH=/opt/oracle/product/26ai/dbhomeFreeexport ORACLE_HOSTNAME=alias sqlme='sqlplus / as sysdba'export PATH=/opt/oracle/product/26ai/dbhomeFree/bin:/opt/oracle/product/26ai/dbhomeFree/OPatch:$PATHexport PATH=/home/oracle/bin:/home/oracle/LDLIB:/opt/oracle/product/26ai/dbhomeFree/bin:/usr/sbin:/home/oracle/java/jdk-21.0.5/bin:/home/oracle/bin:/home/oracle/sqlcl/bin:/home/oracle/sqldeveloper:/home/oracle/datamodeler:/home/oracle/.local/bin:/home/oracle/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oracle/sqlcl/bin:/home/oracle/sqldeveloper:/home/oracle/binorabasehome;orabaseconfig;cat $ORACLE_HOME/install/orabasetabalias sqlme='sqlplus / as sysdba'===cat setora2.sh#!/bin/bashexport ORACLE_BASE=/opt/oracle# ===== COLORS =====RED='\033[1;31m'GREEN='\033[1;32m'YELLOW='\033[1;33m'BLUE='\033[1;34m'CYAN='\033[1;36m'NC='\033[0m'# ===== MAIN FUNCTION =====setora() {if [ -z "$1" ]; thenecho -e "${YELLOW}Usage: setora <ORACLE_SID>${NC}"return 1fiORA_SID=$1ORA_ENTRY=$(grep -v '^#' /etc/oratab | grep "^${ORA_SID}:")if [ -z "$ORA_ENTRY" ]; thenecho -e "${RED}❌ SID not found in /etc/oratab${NC}"return 1fiORA_HOME=$(echo "$ORA_ENTRY" | cut -d':' -f2)export ORACLE_SID=$ORA_SIDexport ORACLE_HOME=$ORA_HOMEexport TNS_ADMIN=$ORACLE_HOME/network/adminexport LD_LIBRARY_PATH=$ORACLE_HOME/lib# Clean old Oracle paths safelyCLEAN_PATH=$(echo "$PATH" | tr ':' '\n' | grep -v '/opt/oracle' | paste -sd ':' -)export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$CLEAN_PATHclearecho -e "${BLUE}=================================================${NC}"echo -e "${CYAN} ORACLE ENVIRONMENT SWITCHED ${NC}"echo -e "${BLUE}=================================================${NC}"# PROD detectionif [[ "$ORACLE_SID" =~ PROD|PRD|PRODDB ]]; thenecho -e "${RED}⚠ WARNING: PRODUCTION DATABASE ⚠${NC}"elseecho -e "${GREEN}Environment Type : Non-Production${NC}"fiecho -e "${YELLOW}ORACLE_SID : ${NC}$ORACLE_SID"echo -e "${YELLOW}ORACLE_HOME : ${NC}$ORACLE_HOME"# Instance checkPMON=$(ps -ef | grep pmon | grep -w "$ORACLE_SID" | grep -v grep)if [ -n "$PMON" ]; thenecho -e "${GREEN}Instance Status : RUNNING${NC}"elseecho -e "${RED}Instance Status : NOT RUNNING${NC}"fi# Database versionif [ -x "$ORACLE_HOME/bin/sqlplus" ]; thenDBVER=$($ORACLE_HOME/bin/sqlplus -V | awk '{print $3}')echo -e "${CYAN}Oracle Version : $DBVER${NC}"fiecho -e "${BLUE}=================================================${NC}\n"}# ===== HELPERS =====alias sqlme='sqlplus / as sysdba'showora() {echo -e "${CYAN}Current Oracle Environment${NC}"echo -e "${YELLOW}ORACLE_BASE : ${NC}$ORACLE_BASE"echo -e "${YELLOW}ORACLE_HOME : ${NC}$ORACLE_HOME"echo -e "${YELLOW}ORACLE_SID : ${NC}$ORACLE_SID"}lsora() {echo -e "${CYAN}Databases from /etc/oratab:${NC}"grep -v '^#' /etc/oratab | awk -F: '{print $1}'}
cat setora.sh
#!/bin/bash
export ORACLE_BASE=/opt/oracle
setora() {
if [ -z "$1" ]; then
echo "Usage: setora <ORACLE_SID>"
echo "Example: setora FREE"
return 1
fi
ORA_SID=$1
# Read from /etc/oratab (ignore comments)
ORA_ENTRY=$(grep -v '^#' /etc/oratab | grep "^${ORA_SID}:")
if [ -z "$ORA_ENTRY" ]; then
echo "SID not found in /etc/oratab"
return 1
fi
ORA_HOME=$(echo $ORA_ENTRY | cut -d':' -f2)
export ORACLE_SID=$ORA_SID
export ORACLE_HOME=$ORA_HOME
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
# Clean old Oracle paths from PATH
PATH=$(echo $PATH | tr ':' '\n' | grep -v '/opt/oracle' | paste -sd ':' -)
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
echo ""
echo "✅ Environment switched"
echo "ORACLE_SID = $ORACLE_SID"
echo "ORACLE_HOME = $ORACLE_HOME"
echo ""
}
alias sqlme='sqlplus / as sysdba'
showora() {
echo "ORACLE_BASE = $ORACLE_BASE"
echo "ORACLE_HOME = $ORACLE_HOME"
echo "ORACLE_SID = $ORACLE_SID"
}
# List available databases
lsora() {
echo "Available databases from /etc/oratab:"
grep -v '^#' /etc/oratab | awk -F: '{print $1}'
}
lsora
echo setora

No comments:
Post a Comment