免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1937 | 回复: 9
打印 上一主题 下一主题

求救:system()无法正常调用exp命令备份oracle数据库 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-02 10:51 |只看该作者 |倒序浏览

在程序中调用system函数是,无法正常备份oracle数据库,但是直接在命令行下面能够备份,备份的语句如下:
exp test/test@orcl file=/export/home/backup/temp20040702 log=/export/home/backup/temp20040702.explog consistent=y owner=test

请各位老大帮忙看看,是什么问题?

论坛徽章:
0
2 [报告]
发表于 2004-07-02 10:54 |只看该作者

求救:system()无法正常调用exp命令备份oracle数据库

不贴程序出来怎么看呢?

论坛徽章:
0
3 [报告]
发表于 2004-07-02 11:01 |只看该作者

求救:system()无法正常调用exp命令备份oracle数据库

是不是程序中的环境没有设好?试试用system (su - oracle -c "exp ..."

论坛徽章:
0
4 [报告]
发表于 2004-07-02 11:05 |只看该作者

求救:system()无法正常调用exp命令备份oracle数据库

备份的源程序:
     sprintf(sCmdxxx, "exp test/test@orcl file=/export/home/backup/temp20040702 log=/export/home/backup/temp20040702.explog consistent=y owner=test ";
      if ((system_err=system(sCmdxxx)) != 0) {
        errcode = 150;
        sprintf(errmsg, "数据库导出错误!(%d)", system_err);
        throw "";
      }

现象是不管里面的备份路径正确与否,system()函数都返回 0,备份文件都没有生成。

还测试过:
sprintf(sCmdxxx, "ls -l >;test.txt;exp trade/hs0915@orcl file=/export/home/cstrade/backup/temp20030505 log=/export/home/cstrade/backup/temp20030505.explog consistent=y owner=trade;ls -l >;abc.txt";
两个输出文件的内容都正常,而exp还是没有能够备份出文件来。郁闷啊!!!

论坛徽章:
0
5 [报告]
发表于 2004-07-02 11:34 |只看该作者

求救:system()无法正常调用exp命令备份oracle数据库

You should transfer oracle user env to system.

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2004-07-02 11:55 |只看该作者

求救:system()无法正常调用exp命令备份oracle数据库

没有报错信息吗?

论坛徽章:
0
7 [报告]
发表于 2004-07-02 12:21 |只看该作者

求救:system()无法正常调用exp命令备份oracle数据库

最郁闷就是没有返回错误信息了

另外,该程序原本在多台IBM和SUN的机器上运行都是正常的,都能正常备份数据库。惟独这次碰到的这台SUN的机器不行,不知道是否会跟环境有关。也尝试过切换成C shell,B shell 和 k shell,但是也都不行。

论坛徽章:
0
8 [报告]
发表于 2004-07-02 12:25 |只看该作者

求救:system()无法正常调用exp命令备份oracle数据库

再补充一下,同样的环境下,调用system( imp xxxx )恢复备份,这样又是可以的,就是exp 不行

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2004-07-02 12:49 |只看该作者

求救:system()无法正常调用exp命令备份oracle数据库

你的exp出来的文件应该是多大啊?

要是超过2g的文件,只能是oracle for 64bit的database。。

论坛徽章:
0
10 [报告]
发表于 2004-07-02 13:07 |只看该作者

求救:system()无法正常调用exp命令备份oracle数据库

备份文件很小的,备份出来的文件才不到5M
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP