Oracle XE 间复制记录

环境
————————————————————-
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来完成。

2 Replies to “Oracle XE 间复制记录”

  1. 博主,我请教一下,oracle xe的rpm包,在安装后,是不是还要手工建立compiere用户和密码:compiere呢?

    是不是还要手工建库呢?是否还需要手工建立分区表,数据文件呢?

    1. 无需。在运行compiere_setup.sh设置安装compiere服务器的时候,需要指定数据库类型和系统密码,以及数据库名称和数据帐号。compiere_setup.sh会自动建立相关数据库。

Leave a Reply

Your email address will not be published. Required fields are marked *