Linux/Unix shell ?????????SQL???
????? ???????[ 2013/6/20 10:35:18 ] ????????
????3?????????????????????????
robin@SZDB:~/dba_scripts/custom/awr> more tmp3.sh
#!/bin/bash
# ----------------------------------------------
# Set environment here
# Author : Robinson Cheng
# Blog : http://blog.csdn.net/robinson_0612
# ----------------------------------------------
if [ -f ~/.bash_profile ]; then
. ~/.bash_profile
fi
if [ -z "${1}" ] || [ -z "${2}" ] || [ -z "${3}" ] ;then
echo "Usage: "
echo " `basename $0` <ORACLE_SID> <begin_dat> <end_date>"
read -p "please input begin ORACLE_SID:" ORACLE_SID
read -p "please input begin date and time(e.g. yyyymmddhh24):" begin_date
read -p "please input end date and time(e.g. yyyymmddhh24):" end_date
else
ORACLE_SID=${1}
begin_date=${2}
end_date=${3}
fi
export ORACLE_SID begin_date end_date
#Method 3: pass the parameter to global variable firstly.
sqlplus -S " / as sysdba" <<EOF
define begin_date=$begin_date
define end_date=$end_date
prompt "variable value for begin_date is: &begin_date"
prompt "variable value for end_date id : &end_date"
@/users/robin/dba_scripts/custom/awr/tmp3.sql begin_date end_date
exit;
EOF
exit
robin@SZDB:~/dba_scripts/custom/awr> more tmp3.sql
SELECT snap_id?? dbid?? snap_level
FROM dba_hist_snapshot
WHERE TO_CHAR (begin_interval_time?? 'yyyymmddhh24') = '&begin_date'
AND TO_CHAR (end_interval_time?? 'yyyymmddhh24') = '&end_date';
exit;
????4????????
robin@SZDB:~/dba_scripts/custom/awr> ./tmp.sh
Usage:
tmp.sh <ORACLE_SID> <begin_dat> <end_date>
please input begin ORACLE_SID:CNMMBO
please input begin date and time(e.g. yyyymmddhh24):2013030709
please input end date and time(e.g. yyyymmddhh24):2013030710
SNAP_ID DBID SNAP_LEVEL
---------- ---------- ----------
13877 938506715 1
robin@SZDB:~/dba_scripts/custom/awr> ./tmp2.sh MMBOTST 2013030709 2013030710
SNAP_ID DBID SNAP_LEVEL
---------- ---------- ----------
36262 3509254984 1
robin@SZDB:~/dba_scripts/custom/awr> ./tmp3.sh MMBOTST 2013030710 2013030711
"variable value for begin_date is: 2013030710"
"variable value for end_date id : 2013030711"
SNAP_ID DBID SNAP_LEVEL
---------- ---------- ----------
36263 3509254984 1
????5??С??
????a????????????????shell??????????SQL???
????b?????1???÷???????shell?????????????sqlplus userid/pwd @script_name $para1 $para2
????c?????2?????sqlplus????SQL??????????????????SQL>@script_name $para1 $para2
????d?????3?????shell?????????????define???????????????????SQL??? SQL>@script_name var1 var2
????e??????3??SQL??????????????define?????????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11