如果需要从oracle中每天定时导出数据用什么方法啊?

 我来答
抱爱的人睡
推荐于2018-05-11 · TA获得超过865个赞
知道小有建树答主
回答量:148
采纳率:0%
帮助的人:147万
展开全部
DB:ORACLE10G
任务简要描述:每天23点25分定时执行一段脚本, 导出表bbs_info中的数据。
〖Action(方法) 〗
Step01:以ORACLE的身份登陆操作系统。
$ su - oracle

Password:

Sun Microsystems Inc. SunOS 5.9 Generic January 2003

$

Step02:创建参数文件,这个文件将控制导出的行为。
$ vi ePFILE

ePFILE的内容如下:
ROWS=y
TABLES = (TEST.bbs_info)
Compress = y
Feedback =5000
Buffer = 5000
log=/export/home/oracle/exportlog.txt
这个脚本的任务是:导出表bbs_info中的数据。
Step03:创建SHELL脚本文件expbbs_info。
$vi expbbs_info

加入如下内容:
echo -e '\n\n\n\n\n\n\n###############################################'
echo 'export data of bbs_info'
date
fmt=` date "+%Y-%m-%d[%HH%MM%SS]" `
ORACLE_SID=nbo
export ORACLE_SID
ORACLE_BASE=/oracle/app/oracle
export ORACLE_BASE
ORACLE_HOME=/oracle/app/oracle/product/10.1.0/Db_1
export ORACLE_HOME
PATH=/usr/bin:$ORACLE_HOME/bin:/bin
export PATH
HOME=/export/home/oracle
export HOME
exp system/wy file=/export/home/oracle/bbs_info"${fmt}".dmp PARFILE='/export/home/oracle/ePFILE'
echo 'export data of bbs_info complete!'
脚本说明:
? echo -e '\n\n\n\n\n\n\n###############################################为了显示美观。
? echo 'export data of bbs_info'是对这段SHELL脚本的任务进行说明
date显示执行这段SHELL脚本的时间。
? fmt=` date "+%Y-%m-%d[%HH%MM%SS]" `把系统当前日期存放到一个变量中,这个日期将追加到dump文件名中,这样我们就能很容易标识一个dump文件是什么时候导出的。date "+%Y-%m-%d[%HH%MM%SS]"会产生类似于下面的字符串:
2006-08-19[20H49M30S]
上面的字符串表示,系统当前时间是2006年8月19日,20点49分30秒。
? ORACLE_SID,ORACLE_BASE,ORACLE_HOME,PATH都是设置Oracle的环境变量。
? file=/export/home/oracle/bbs_info"${fmt}".dmp设置dump文件名的格式,其中用到了变量fmt。dump文件的名字应该类似于bbs_info2006-08-19[20H38M59S].dmp。
? exp这一行执行数据的导出,system/wy分别是执行数据导出的用户名和密码
? PARFILE用于指定参数文件

Step04:使shell脚本expbbs_info可执行。
$ chmod 775 expbbs_info

$ ls -l

total 16
-rw-r--r-- 1 oracle oinstall 2048 Aug 15 23:59 d1.dmp
-rw-r--r-- 1 oracle oinstall 720 Aug 19 20:20 ePFILE
-rw-r--r-- 1 oracle oinstall 660 Aug 15 23:58 ePFILE_pipe
-rwxrwxr-x 1 oracle oinstall 472 Aug 19 20:21 expbbs_info
-rw-r--r-- 1 oracle oinstall 540 Aug 15 23:59 exportlog.txt
-rw-r--r-- 1 oracle oinstall 2048 Aug 15 23:22 zip_pipe.dmp
Step05:手工执行这个SHELL脚本,看看能否成功导出数据。这一步是非常必要的,它可以检验这个SHELL脚本的正确性。
$ ./expbbs_info

###############################################
export data of bbs_info
Sat Aug 19 20:54:31 CET 2006
……
Step06:定时SHELL脚本expbbs_info。
$ crontab –e

加入如下的内容
25 23 * * * /export/home/oracle/expbbs_info >>/export/home/oracle/expbbs_log 2>&1
在每天的23点25分,将执行数据库的导出,导出的日志放到expbbs_log中。2>&1表示错误和正确信息都会被写到日志文件expbbs_log。
Step07:查看定时的情况。
$ crontab -l

25 23 * * * /export/home/oracle/expbbs_info >>/export/home/oracle/expbbs_log 2>&1
$
SHELL脚本定时以后,我们每天只需检查日志文件expbbs_log,就可以知道每天数据的导出情况。

///////////////////////////////////////////////////////////////////////
file1: export.bat
内容:
sqlplus user/pass@dbname @d:\export.sql

file2:export.sql
内容:
set term off verify off
set feedback off pagesize 999
spool d:\data.xls
set head off
select '<meta http-equiv=Content-Type content="text/html; charset=GB2312">' from dual;
set head on
set linesize 200 markup html on entmap ON spool on preformat off
@d:\get_data.sql
spool off
exit

file3: get_data.sql
内容:
select sysdate from dual;
追问
不会写脚本  不过谢谢你这么详细的回答
壹寰(深圳)科技文化有限公司
2021-03-27 广告
不同公司提供的方案也不一样。以上内容如果还觉得不够全面,也可以沟通下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库解密恢... 点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
aminlily
2013-07-19
知道答主
回答量:1
采纳率:0%
帮助的人:1480
展开全部
一、先写一下脚本,我这个脚本是导出三个用户备份。文本保存为bat格式
@echo off
set hour=%time:~0,2%
set datetime=%DATE:~0,10% %TIME:~0,8%
set fn_time=%hour: =0%%TIME:~3,2%%TIME:~6,2%
set fn_date=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
md E:\Backup\三用户备份\%fn_date%\
rem 导出kf_tysp
@exp kf_tysp/12345678@orcl file=E:\Backup\三用户备份\%fn_date%\kf_tysp-%fn_date%%fn_time%.dmp
rem 导出kf_tysp_system
@exp kf_tysp_system/12345678@orcl file=E:\Backup\三用户备份\%fn_date%\kf_tysp_system-%fn_date%%fn_time%.dmp
rem 导出hbwh_webhall
@exp hbwh_webhall/12345678@orcl file=E:\Backup\三用户备份\%fn_date%\hbwh_webhall-%fn_date%%fn_time%.dmp

E:
cd E:\Backup\三用户备份\
"C:\Program Files\WinRAR\RAR.exe" a .\xm_%fn_date%%fn_time%.rar .\%fn_date%
rd /s /q %fn_date%
%SystemRoot%\explorer.exe E:\Backup\三用户备份\
二、创建计算机任务:附件>系统工具>任务计划 创建新的任务计划,每天定时执行脚本
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lkstarsea
2013-07-19 · TA获得超过315个赞
知道小有建树答主
回答量:201
采纳率:100%
帮助的人:188万
展开全部
写个存储过程是导出数据的,然后用Oracle的定时任务。

begin

dbms_job.isubmit(任务号,存储过程名,sysdate,'sysdate+1');

dbms_job.run(任务号);

end;
追问
这个是我想要的  我就不知道怎么让存储过程自动导出数据啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李晓健
2013-07-19 · TA获得超过183个赞
知道小有建树答主
回答量:293
采纳率:0%
帮助的人:192万
展开全部
数据库 脚本写定时器

或用后台程序写写时器
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式