需要在Oracle中利用作业将局域网上另外一台机子上Oracle中的某张表导出为.txt文件.   不知能否实现?  网上找了很久都没有找到相应解决方案.

解决方案 »

  1.   

    我原来在有这个需求时是用PB来做的,很容易。但是不知道oracle怎么做,不知道job里是否支持spool。
      

  2.   

    可以的,如果你会JAVA的话,你可以用JAVA来实现,不过授权这一块会比较复杂些
      

  3.   

    Oracle92010 + windows定时备份的部署   ---不过不是txt文件的,是oracle的.dmp文件通过oracle的管理服务器(oracle management server,oms)可以方便的实现定时备份,实际它是走oracle命令exp,imp来实现的。使用Enterprise Manager Console登陆的时候,会有两个选项:独立启动和登陆到Oracle Management Server。前者可以让我们执行一些普通的管理工作,比如管理帐户、数据库对象等,只有后者才能为我们提供备份的功能。不过在登陆到oms之前,你必须首先安装oms服务。启动oracle universal installer,查看已安装产品,展开oracle主目录--oraHome92,如果没有oracle9i management and integration,表示你尚未安装。安装方法是:
    在oracle universal installer的可用产品列表中,选择安装oracle 9i management and integration ' oracle management server即可。 
    选择安装oracle 9i management and integration
     
    选择安装oracle management server 
    需要配置一个新的资料库注意:安装过程中,要求停掉Oracle所有服务。
     
    选择[典型] 系统将会创建一个名为oemrep的数据库,保存管理信息,其中你需要指定sys和system帐号的密码。服务必须是启动的,windows下你可以到后台服务中直接启动,它的名字是OracleOraHome92ManagementServer。同时请保证其他自动启动的oracle服务也是启动的。 安装完成后,启动manage server服务,然后可以用Enterprise Manaer Console登陆了,帐号sysman 密码oem_temp。第一次登陆后系统会要求你输入新的sysman密码。
     
    登录manage server服务 
    更改管理员口令如果在登陆的时候出现"身份证明不正确"的提示,请确认你使用的登陆帐号是sysman,如果帐号无误却始终出现该错误,请删除刚才建立的资料库,重新建一个。如果你使用windows,备份数据之前,首先需要建立一个操作系统的用户,专门用于oracle备份,比如建立用户oracle_back,隶属于Administrator组和ora_dba组。 
    建立用户 
    建立用户oracle_back 
    隶属于Administrator组和ora_dba组然后需要在本地策略中给该用户赋一个批处理权限。方法是:[控制面板]'[管理工具]'[本地安全策略]'[本地策略]'[用户权利指派]'[作为批处理作业登陆],在该权限下面增加刚才建立的oracle_back用户。回到Enterprise Manager Console,打开[配置]'[首选项]
     首选身份证明,在目标名中找到你的机器名,同时它的目标类型为节点,在下面的身份证明中输入oracle_back和它的密码。
     
    然后找到你要备份的数据库名,它的目标类型是数据库,在身份证明中输入dba帐号。
     
    Ok,现在你可以备份数据了。在任意一张表中点右键,选择[数据管理]'[导出],你就可以在作业中看到这个任务。  
     
    选择要备份的用户 
    设置备份时间 
    作业任务列表,双击可查看
      

  4.   

    SPOOL是可以的,你写个脚本,然后用操作系统定时调用就可以
      

  5.   

    spool 导出来的.txt文件中怎么祛除查询结果以外的信息?比如某次导出的.txt文件内容为:
    select * from ODM.whitelist;
    13005710001
    已选择 1 行。
    spool off;怎么才能让它只显示:13005710001 这个查询结果呢?