posts | comments
11Jul

Oracle XE 间复制记录

No comments

环境
————————————————————-
A电脑配置为:
OS:Ubuntu Server 8.04.1
IP:192.168.0.2
Computer Name:Prod
Oracle SSID:XE
SYS Password: dbpw
B电脑配置为:
OS:win2k3
IP:192.168.0.3
Computer Name:Test
Oracle SSID:XE
SYS Password: dbpw
————————————————————-
要求:
从B电脑上的Oracle Xe复制某些表的记录到A电脑的Oracle XE中. 

过程:

一、修改B电脑的tnsnames.ora文件为这样:
XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Prod)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )


PXE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
二、然后在B电脑的终端下执行:
C:\>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 7月 11 16:34:24 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn sys as sysdba
输入口令:
已连接。
SQL> copy from compiere/compiere@XE to compiere/compiere@PXE replace AD_MENU_TRL
using select * from AD_MENU_TRL;

数组提取/绑定大小为 15。(数组大小为 15)
将在完成时提交。(提交的副本为 0)
最大 long 大小为 80。(long 为 80)
表 AD_MENU_TRL 已删除。

表 AD_MENU_TRL 已创建。

505 行选自 compiere@XE。
   505 行已插入 AD_MENU_TRL。
   505 行已提交至 AD_MENU_TRL (位于 compiere@PXE)。

SQL>

 

注意事项:

1,若从unix/linux环境下执行copy from命令,则目标记录为乱码。

2,tnsnames.ora文件里可以建立链接并命名,之后便可使用。

3,若记录操作类型不为replace,则可使用好东西dblink来完成。

Categories: Management, Note

Friday, July 11th, 2008 at 5:17 pm and is filed under Management, Note. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a reply