溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle11g 自動(dòng)化建庫及調(diào)整相關(guān)參數(shù)

發(fā)布時(shí)間:2020-08-13 16:03:32 來源:ITPUB博客 閱讀:148 作者:gycixput 欄目:關(guān)系型數(shù)據(jù)庫

  該腳本適用于從模板克隆出的數(shù)據(jù)庫,包括建庫、調(diào)整參數(shù)、修改相關(guān)配置文件、生產(chǎn)數(shù)據(jù)庫配置文件。該腳本目錄在suse 11、suse 12上測試通過。

  

#!/usr/bin/env bash


echo "========================================="

echo "This script is for install a test oracle db"

echo "Please use oracle user execute !!!!!!!!!!!"

echo "Execute this script about 5-10 mins "

echo "Script has been test on suse 11sp4 12sp3"

echo "========================================"


uid=`id -u`

uname=`cat /etc/passwd| grep $uid | awk -F ":" '{print $1}'`


function exit_script()

{

        exit 1

}


function crt_db()

{

  local mem=`free -g | grep Mem | awk {'print $2'}`

  local perc=30

  if [ "$mem" -lt 5 ]; then

    perc=50

    echo "Machine memory is $mem GB, Oracle mem percet is 50%"

  else

    echo "Machine memory is $mem GB, Oracle mem percet is 30%"

  fi

 echo "Begin create database ..."

  dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname gycdb -sid gycdb  -sysPassword gyc_pwd123 -systemPassword gyc_pwd123 -responseFile NO_VALUE  -characterSet ZHS16GBK -memoryPercentage $perc -emConfiguration NONE -datafileDestination /oradata/ -redoLogFileSize 500 -initParams processes=2000

 if [ $? -eq 0 ]; then

    echo "Create database has been completed!!!"

 else

    echo "Create database failed, Please connect to Oracle DBA"

    exit_script

 fi

}


function change_prm()

{

 local fname=/oracle/app/oracle/product/11.2.0/rdbms/admin/gyc_dev.sql

 if [  -f "$fname" ]; then

    echo "Parameter file is exits!, Begin change default parameters"

 else

    echo "Parameter file is not exits, Please connect to Oracle DBA"

    exit_script

 fi

 sed -i '1d' $fname

 echo "shutdown immediate" >> $fname

 echo "startup" >> $fname

 echo "exit" >> $fname

 export ORACLE_SID=gycdb

 sqlplus "/ as sysdba" @$fname

 if [ $? -eq 0 ]; then

   echo "Database has changed default parameters !!!!"

 else

    echo "Change paramter failed, Please connect to Oracle DBA"

    exit_script

 fi

}


function change_hostname()

{

  echo "Begin change hostname and oracle sid...."

  sed -i "s/GYCTEST/`hostname`/g"  $ORACLE_HOME/network/admin/listener.ora 

  lsnrctl start

  sed -i "s/icbcdb/gycdb/g" /home/oracle/.profile

 if [ $? -eq 0 ]; then

  echo "Listener has changed hostnane, Listener was started"

 else

    echo "Start listener failed, Please connect to Oracle DBA"

    exit_script

 fi

}


function db_info()

{

  echo "Begin create db info file...."

  local fname=/home/oracle/db_info.txt

  touch $fname

  echo "db_name:gycdb" >> $fname

  echo "port:1521" >> $fname

  echo "sys/system:gyc_pwd123" >> $fname

 if [ $? -eq 0 ]; then

    echo "Db_info file has been created!!"

 else

    echo "Db_info has failed, Please connect to Oracle DBA"

    exit_script

 fi

}


if [ "$uname" == "oracle" ]; then 

    echo "Begin execute script ......"

    crt_db

    change_prm

    change_hostname

    db_info

    echo "End execute script !!!!!!"

else

   echo "Current user is not oracle, Please change to oracle then execute this script"

   exit_script

fi


function db_info()

{

  echo "Begin create db info file...."

  local fname=/home/oracle/db_info.txt

  touch $fname

  echo "db_name:testdb" >> $fname

  echo "port:1521" >> $fname

  echo "sys/system:SysCs_100010" >> $fname

 if [ $? -eq 0 ]; then

    echo "Db_info file has been created!!"

 else

    echo "Db_info has failed, Please connect to Oracle DBA"

    exit_script

 fi

}


if [ "$uname" == "oracle" ]; then 

    echo "Begin execute script ......"

    crt_db

    change_prm

    change_hostname

    db_info

    echo "End execute script !!!!!!"

else

   echo "Current user is not oracle, Please change to oracle then execute this script"

   exit_script

fi


該腳本內(nèi)容可根據(jù)實(shí)際情況進(jìn)行相關(guān)調(diào)整。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI