您好,欢迎来到爱玩科技网。
搜索
您的当前位置:首页shell脚本操作oracle删除表空间、创建表空间、删除用户

shell脚本操作oracle删除表空间、创建表空间、删除用户

来源:爱玩科技网
shell脚本操作oracle删除表空间、创建表空间、删除⽤户

oracle下表空间的导出,⽤户的删除,表空间删除,⽤户新建,表空间新建,数据导⼊的shell使⽤⾮oracle⽤户执⾏该脚本参数说名

$1:base表空间的⽤户名$2:同步表空间的⽤户名使⽤场景

测试⽤,base表空间⽤于升级建⽴⼀些固化数据。同步表空间⽤于测试⽤,每次去和base表空间拉平数据复制代码 代码如下:

#!/bin/sh

oraclehome=$ORACLE_HOMEecho $oraclehomelocaldir=\"/oracle/data\"echo $localdir

#删除已经存在的临时dmp⽂件rm -rf $localdir/$2temp.dmprmresult=$?

echo \"rm $2temp.dmp result:$rmresult\"#将⽤户$1的表空间导出

su - oracle -c \"exp dba/dba file=$localdir/$2temp.dmp owner=$1\"expresult=$?

if [ \"$expresult\" != \"0\" ];then

echo \"exp $1 tablespace failure\"fi

#先删除⽤户$2及其表空间,然后再新建该⽤户及表空间

su - oracle -c \"${ORACLE_HOME}/bin/sqlplus /nolog\" <drop tablespace $2 including contents and datafiles;

create tablespace $2 datafile '/oracle/product/10.2.0/oradata/$2.dbf' size 5M autoextend on;

create user $2 identified by \"$2\" default tablespace $2 temporary tablespace TEMP profile DEFAULT;grant connect to $2;grant resource to $2;

grant create any table to $2;grant create any trigger to $2;grant create any type to $2;grant create any view to $2;

grant unlimited tablespace to $2;exitEOF

crdrresult=$?

if [ \"$crdrresult\" != \"0\" ];then

echo \"drop user and tablespace failure\" echo \"create user and tablespace failure\"else

#刚建完的⽤户不能马上使⽤,等候10秒 sleep 10s

#更换dmp⽂件中的表空间名

sed -i 's/TABLESPACE \"$1\"/TABLESPACE \"$2\"/g' $localdir/$2temp.dmp#使⽤imp命令导出表空间数据到⽤户$2的表空间

su - oracle -c \"imp dba/dba file=$localdir/$2temp.dmp fromuser=$1 touser=$2\" impresult=$?

if [ \"$impresult\" != \"0\" ];then echo \"imp failure\" else

echo \"imp success\" fi

fi

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- aiwanbo.com 版权所有 赣ICP备2024042808号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务