ORACLE中,如何定时导出(export)数据

上一篇 / 下一篇  2008-06-19 01:00:17 / 不允许评论 / 个人分类:《Oracle数据库精讲与疑难解析》

Environment(环境)〗

OSSOLARIS

DBORACLE10G

任务简要描述:每天2325分定时执行一段脚本, 导出表bbs_info中的数据。

Action(方法) 

Step01ORACLE的身份登陆操作系统。

$ 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]

上面的字符串表示,系统当前时间是2006819204930秒。

Ø        ORACLE_SIDORACLE_BASEORACLE_HOMEPATH都是设置Oracle的环境变量。

Ø        file=/export/home/oracle/bbs_info"${fmt}".dmp设置dump文件名的格式,其中用到了变量fmtdump文件的名字应该类似于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

在每天的2325分,将执行数据库的导出,导出的日志放到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,就可以知道每天数据的导出情况。


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-09-08  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 5763
  • 日志数: 45
  • 文件数: 1
  • 建立时间: 2008-04-10
  • 更新时间: 2008-07-25

RSS订阅

Open Toolbar