概述
关于上线项目在演练期间如何清理干净数据
1.清理数据前最重要的一步是先备份,可以使用如下shell脚本
#!/bash/bin
#数据库全表备份脚本
. /etc/profile
. /home/ap/用户名/.bash_profile
oraclebak_dmp='/home/ap/nas/oraclebak/oraclebak_dmp/'
today=`date "+%Y%m%d"`
HMS=`date "+%H%M%S"`
if [ ! -d ${oraclebak_dmp}${today} ]; then
mkdir -p ${oraclebak_dmp}${today}
chmod -R 777 ${oraclebak_dmp}${today}
else
echo "备份数据目录已存在"
fi
#$DB_CONN是数据库链接串 用户名/密码@ip:端口号/实例名
exp $DB_CONN file=$oraclebak_dmp$today/$today.dmp log=$oraclebak_dmp$today/$today.log ower=数据库用户名
tar -zcPvf $oraclebak_dmp$today/exp$today$HMS.tar -C$oraclebak_dmp$today/ $today.dmp -C$oraclebak_dmp$today/ $today.log 2>&1
rm -rf $oraclebak_dmp$today/$today.dmp
rm -rf $oraclebak_dmp$today/$today.log
2.开始删库
2.1、生成删表语句的执行脚本
1>>执行sqlplus $DB_CONN
2>>set head off 并回车
3>>spool drop_table_sql.sql 并回车
4>>select ‘drop table ‘||table_name ||’ ;’ from user_tables; 并回车
5>>spool off; 并回车
6>>exit 并回车
2.2、编辑drop_table_sql.sql 脚本
vi drop_table_sql.sql 文件中 删除SQL>开头 共2行,删除 rows selected 共1行
步骤4、执行drop_table_sql.sql 脚本
1>>执行sqlplus $DB_CONN 并回车
2>>@/home/ap/pstm/drop_table_sql.sql 并回车
3>>exit;并回车
2.3、生成删存储过程语句的执行脚本
1>>执行dbpstm
2>>set head off 并回车
3>>spool drop_procedure_sql.sql 并回车
4>>select ‘DROP PROCEDURE ‘||t.object_name ||’ ;’ from user_procedures t; 并回车
5>>spool off; 并回车
6>>exit 并回车
2.4、编辑drop_procedure_sql.sql 脚本
vi drop_procedure_sql.sql 文件中 删除SQL>开头 共11行,删除* rows selected 共1行
步骤3、执行drop_procedure_sql.sql 脚本
1>>执行dbpstm 并回车
2>>@/home/ap/pstm/drop_procedure_sql.sql 并回车
3>>exit;并回车
3.若删库出现了问题,可以以下命令恢复数据
imp $DB_CONN file=*.dmp log=*.log FULL=Y buffer=100000000 ignore=Y
最后
以上就是健壮秀发为你收集整理的关于上线项目在演练期间如何清理干净数据的全部内容,希望文章能够帮你解决关于上线项目在演练期间如何清理干净数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复