首页  >  文章  >  数据库  >  Oracle删除表空间的shell脚本实例

Oracle删除表空间的shell脚本实例

WBOY
WBOY原创
2016-06-07 16:44:55955浏览

Oracle删除表空间的shell脚本代码 #!/bin/bash#ocpyang@126.com#drop tablespace if [ $# -ne 1 ]; then echo Usage: $0 TABLE

Oracle删除表空间的shell脚本代码

#!/bin/bash
#ocpyang@126.com
#drop tablespace

if [ $# -ne 1 ]; then
  echo "Usage: $0 TABLESPACE_NAME "
  exit 1
fi

#configure oracle env:about oracle envs, username and password

ORACLE_SID=orcl

ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

ora_data=/u01/app/oracle/product/11.2.0/db_1/dbs/


ora_user="sys"  #oracle username

ora_pass="password"  #oracle user password

tablespace_name=$(echo $1 | tr '[a-z]' '[A-Z]')

outfiletmp=/tmp/droptpstmp01.txt  #specify the output file location

 


sqlplus -S "${ora_user}/${ora_pass} as sysdba" /dev/null #禁止sqlplus执行结果回显
set heading off;
set feedback off;
set termout off;
set pagesize 0;
set verify off;
set echo off;
spool ${outfiletmp} 
select tablespace_name from dba_tablespaces where tablespace_name='${tablespace_name}';
spool off
exit;
!01

 

tps_jug=`grep -i ${tablespace_name} ${outfiletmp} `

 

if [ "${tps_jug}" = "${tablespace_name}" ]; then
 wind_var=$(
 sqlplus -s "{ora_user}/${ora_pass} as sysdba"  set heading off
 drop tablespace ${tablespace_name} including contents and datafiles;
 EXIT;
 EOF)
 echo -e "e[1;32m  ${wind_var} e[0m"  #Direct display returns results
 rm -rf ${outfiletmp}
 exit 1
else
 echo -e "e[1;31m --------------------------------------- e[0m"
 echo -e "e[1;31m  The tablespace ${tablespace_name} not exits! e[0m"
 echo -e "e[1;31m --------------------------------------- e[0m"
 rm -rf ${outfiletmp}
 exit 1

fi

Oracle 11g 在RedHat Linux 5.8_x64平台的安装手册

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

本文永久更新链接地址:

Oracle删除表空间的shell脚本实例

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn