怎么指定时间的导出数据库某个表的DMP文件?
我远程到一台2003服务器上,再用secureCRT连到一台unix系统上,这一台是oracle数据库服务器。目前我想导出几个其中的表,但是有的表非常大,几百个G。因此我...
我远程到一台2003服务器上,再用secure CRT连到一台unix系统上,这一台是oracle数据库服务器。目前我想导出几个其中的表,但是有的表非常大,几百个G。因此我想导出一天24小时的数据即可,旧的不要了。我导回来做性能测试用的。但我不知道exp这个命令怎么加时间参数的,网上查到命令如下:
将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
那么怎么指定一天24小时呢?
用pl sql developer有什么办法导出一个表的一部分数据呢,因为有的表有几千亿行,全部导出得有几个T或者几百G,我想只导出一部分。最好是最近一天的或者一个月的,如不能按时间则导出个10万行 展开
将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
那么怎么指定一天24小时呢?
用pl sql developer有什么办法导出一个表的一部分数据呢,因为有的表有几千亿行,全部导出得有几个T或者几百G,我想只导出一部分。最好是最近一天的或者一个月的,如不能按时间则导出个10万行 展开
3个回答
展开全部
可以写一个脚本。内容如下:
@echo off
set NLS_LANG= AMERICAN_AMERICA.AL32UTF8
set hour=%time:~,2%
if "%time:~,1%"==" " set hour=0%time:~1,1%
set temp=%date:~0,4%-%date:~5,2%-%date:~8,2%-%hour%-%time:~3,2%-%time:~6,2%
exp 用户名/密码@数据库实例 file=D:\db_backup\daily_backup\oradata_%temp%.dmp log=D:\db_backup\daily_backup\oradata_%temp%.log tables=(表名)
pause
说明:其中中文部分按照自己实际情况填写,保存文件以.bat为后缀,如上述文件可起名为exp.bat,保存在D:\db_backup\daily_backup\路径下。
然后是设定执行时间,以win7为例:
1、点击开始按钮,依次选择打开“所有程序—附件—系统工具”,找到“任务计划程序”即可打开Win7系统的任务计划设置面板。也可以点击Win7开始按钮,在多功能搜索框中输入“任务计划”,直接从搜索结果中打开。
2、在Win7系统的“任务计划程序”设置面板中,我们点击菜单“操作—创建基本任务”。
3、输入新建任务的名称和描述,点击“下一步”按钮。
4、在“触发器”选项中选择自己需要的执行频率,比如是每天、每周、每月还是单次等等,继续下一步。
5、继续设置触发时间详细选项。继续点击下一步。
6、现在进入启动程序详细设置,在“程序或脚本”一栏点击“浏览”,选择自己已经写好的批处理文件。
7、点击下一步之后,我们可以看见Win7任务计划会给出当前设置任务的详细情况,确认无误后点击“确认”按钮即可完成Win7定时关机的任务计划设定。
展开全部
如果真不行的话,你可以先CREATE TABLE AS SELECT FROM WHERE DATE
然后再导出新表
然后再导出新表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
导出加where条件
exp scott/scott@orcl tables=(emp) query = 'HIREDATE >=TO_DATE(''19810101'',''YYYYMMDD'')' file = e:\emp.dmp
exp scott/scott@orcl tables=(emp) query = 'HIREDATE >=TO_DATE(''19810101'',''YYYYMMDD'')' file = e:\emp.dmp
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询