linux 后台执行oracle sql脚本

摘要:
2、 编写shell脚本和数据库sql脚本1,table_ clear_ Data.sql和clear_ Data.sh被上传到oracle用户,目录为/opt/oracle/2,clear_ Data.sh脚本内容:EOF3,table_ clear_ Data.sql数据库脚本内容:

一、简单后台执行。

nohup  sqlplus   Oracle/Oracle@orcl   @sql.sql     &

--这样的写法会报错(Error 45 initializing SQL*Plus Internal error) 

今天打算写个后台执行清理单张表和备份sql脚本。发现一直报错,网上也没有具体的修改方法。

后来到别的博客去看看,有别的办法可以解决:


二、编写shell脚本和数据库sql脚本

1、table_clear_data.sql和clear_data.sh上传到oracle用户,目录为/opt/oracle/


2、clear_data.sh 脚本内容:

#!/bin/sh
sqlplus myname/pass <<EOF
@/opt/oracle/tabel_clear_data.sql;
EOF


3、table_clear_data.sql数据库脚本内容:

--备份表
create table mytabel_all_201401
NOLOGGING
as (select * from mytabel);

--1、删除不要的数据
delete from mytabel t where t.start_time < to_date('2012-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss') ;
commit;

--备份清理后的数据
create table mytabel _201401
NOLOGGING
as (select * from mytabel  );


--清空mytabel ,释放空间--超过1千万的表,需要truncate才能释放表空间,提高查询更新等效率。delete没用,没有释放全部空间。
truncate table mytabel ;


--导入刚刚备份的数据到mytabel 
insert into mytabel  select * from mytabel _201401;
commit;


三、上传文件并执行脚本

1、table_clear_data.sql和clear_data.sh上传到oracle用户主目录下的/opt/oracle/目录);

目录必须正确,因为clear_data.sh脚本指定了该目录。

2、赋予权限和转码

chmod 777 clear_data.sh    table_clear_data.sql

 dos2unix  clear_data.sh    table_clear_data.sql


3、用oracle用户登录,执行脚本命令

su - oracle

cd/opt/oracle/

nohup./clear_data.sh &        --必须加&符号,数据量大的话后台执行。

4、可以用tail -f nohup.out 查看当前执行的情况。



在网上参考的.sh脚本有别的写法,有时间再试试。

http://blog.csdn.net/hj402555749/article/details/7328508

http://blog.sina.com.cn/s/blog_a97aa69e01015wwb.html


版权声明:本文为博主原创文章,未经博主允许不得转载。

免责声明:文章转载自《linux 后台执行oracle sql脚本》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇项目字典表设计Eclipse输入命令行参数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Opentelemetry Collector的配置和使用

Collector的配置和使用 目录 Collector的配置和使用 Collector配置 Receivers Processors Exporters Service Extensions 使用环境变量 Collector的使用 部署到Kubernetes 部署Prometheus operator 使用Makefile 配置OpenT...

TSQL笔记3:事务、锁定和并发

T-SQL笔记3:事务、锁定和并发 本章摘要 1:事务    1.1:显式事务    1.2:使用DBCC OPENTRAN显示最早的活动事务 2:锁定    2.1:查看锁的活动 3:并发影响及隔离级别    3.1:并发影响    3.2:隔离级别 4:阻塞    4.1:找到并解决阻塞进程    4.2:设定阻塞时间 5:死锁 1:事务      事...

DevExpress GridContril

1.gridView 奇行与偶行交替变色   this.gridView1.OptionsView.EnableAppearanceEvenRow = true; this.gridView1.OptionsView.EnableAppearanceOddRow = true;   this.gridView1.Appearance.EvenRow.Ba...

Mac 安装redis

一.下载安装 1. 官网http://redis.io/ 下载最新的稳定版本,这里是3.2.0  2. sudu mv 到 /usr/local/  3. sudo tar -zxf redis-3.2.0.tar 解压文件  4. 进入解压后的目录 cd redis-3.2.0  5. sudo make test 测试编译  6. sudo make...

【翻译】ASP.NET缓存管理

看到一篇好文章,翻译一下给大家分享。 原文地址:http://www.codeproject.com/Articles/12097/Cache-Management-in-ASP-NET 引言 在解释ASP.NET中的缓存管理之前,我先澄清一下,不同的人使用不同的术语来解释同样的概念,有些人把它描述为状态管理,有些人描述为缓存管理。我喜欢用缓存管理,或许是...

mysql通过数据文件恢复数据方法

情况描述:服务器硬盘损坏,服务器换了个新硬盘 ,然后老硬盘插在上面。挂载在这台机器。可以从老硬盘里面拿到数据。只拿到了里面的mysql数据文件夹,把数据文件夹覆盖新的服务器mysql数据文件夹 启动报错!!!报错!!!错!!!。 数据文件如下: 于是觉得不能使用覆盖文件的方式还原数据,得使用科学方法恢复。google之…… 找到解决办法如下: 可以发现数...