我的任务是通过互联网将 Oracle 数据库中的大型表拉到 SQL 数据库或 SQL 转储中。源数据库 (Oracle) 位于企业环境中,我通过 Cisco VPN 访问该数据库(不允许使用拆分隧道)。
我尝试过一个工具智能转换器:进展非常缓慢,这似乎是一个潜伏问题(8 小时内提取了 84MB),按照这个速度我需要 60 多天。
表本身非常简单(没有视图、存储生产者、索引、标识等)。选项受到 VPN 的限制,不允许拆分隧道:连接建立时,连接的机器上没有互联网连接,因此我需要物理访问。
答案1
为什么不创建数据库转储使用 expdp,使用 bzip2/gzip 压缩,然后通过 scp 传输?
我假设 Oracle 托管在基于 *nix 的操作系统上
答案2
尝试实验一下Oracle TCP相关参数Nagle 算法(TCP_NODELAY)。
您还可以调整发送/接收数据缓冲区(SDU/TDU/RECV_BUF_SIZE/SEND_BUF_SIZE)tnsnames.ora或在操作系统级别。