shell脚本执行oracle删除表,实战:oracle删除表空间的shell脚本-Oracle

#!/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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
shell脚本是一种命令语言,可以通过编写一系列命令来实现自动化任务。下面是一个示例的shell脚本,用于创建或删除Oracle用户和空间。 1. 创建Oracle用户和空间脚本: ```shell #!/bin/bash # 设置Oracle环境变量 export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl # 创建Oracle用户 function create_user() { sqlplus -s username/password@localhost <<EOF CREATE USER myuser IDENTIFIED BY mypassword; GRANT CONNECT, RESOURCE TO myuser; EXIT; EOF } # 创建Oracle空间 function create_tablespace() { sqlplus -s username/password@localhost <<EOF CREATE TABLESPACE mytablespace DATAFILE '/u01/app/oracle/oradata/orcl/mytablespace.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 500M; ALTER USER myuser DEFAULT TABLESPACE mytablespace; EXIT; EOF } # 调用函数来创建用户和空间 create_user create_tablespace ``` 上述脚本首先设置Oracle环境变量,然后定义了两个函数create_user和create_tablespace,分别用于创建Oracle用户和空间。在函数内部使用sqlplus命令连接到Oracle数据库,并执行相应的SQL语句来实现创建用户和空间的操作。 2. 删除Oracle用户和空间脚本: ```shell #!/bin/bash # 设置Oracle环境变量 export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl # 删除Oracle用户 function delete_user() { sqlplus -s username/password@localhost <<EOF DROP USER myuser CASCADE; EXIT; EOF } # 删除Oracle空间 function delete_tablespace() { sqlplus -s username/password@localhost <<EOF DROP TABLESPACE mytablespace INCLUDING CONTENTS AND DATAFILES; EXIT; EOF } # 调用函数来删除用户和空间 delete_user delete_tablespace ``` 上述脚本与创建脚本类似,只是SQL语句改为删除用户和空间的操作。通过调用相应的函数来实现删除用户和空间的功能。 需要注意的是,以上脚本中的username/password@localhost需要根据实际情况进行修改,以正确连接到Oracle数据库。另外,创建空间时指定的文件路径和名称也需要根据实际情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值