oracle 11g参数调整,Oracle11g 自动化建库及调整相关参数

该脚本适用于从模板克隆出的数据库,包括建库、调整参数、修改相关配置文件、生产数据库配置文件。该脚本目录在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

该脚本内容可根据实际情况进行相关调整。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值