使用copy出现的问题

博客介绍了数据库环境,包括客户端和两台服务器的系统及Oracle版本。展示了在服务A和客户端上使用SQL语句从服务器B复制数据到新表的操作,期间出现ORA - 01727错误,推测插入数字出错可能与客户端版本有关。

数据库环境:
客户端:winxp+oracle9.2.0.1客户端
服务器A:win2003+oracle9.2.0.5
服务器B:hp unix 11i+oracle9.2.0.5

init配置
客户端:连接服务器A-sid_name:pgjt
服务器A:连接服务器B-sid_name:pgjt1

在服务A上:
SQL>conn /as sysdba
SQL>copy from manager/system@pgjt1 create test_copy1 using select * from v$log;
数组读取/结合的大小为15。(数组大小为15)
将在完成时提交。(提交的复本为 0)
最长为80。(长度为80)
表TEST_COPY1已创建。

6行选自manager@pgjt1。
   6行被插入TEST_COPY1。
6行已提交至TEST_COPY1(位于DEFAULT HOST连接)。

在客户端上:
SQL>conn sys/sys@pgjt as sysdba;
SQL>copy from manager/system@pgjt1 create test_copy14 using select * from v$log;
数组读取/结合的大小为15。(数组大小为15)
将在完成时提交。(提交的复本为 0)
最长为80。(长度为80)

ERROR:
ORA-01727: numeric precision specifier is out of range (1 to 38)

-----------------------------------
#居然出错,不知道为什么                                            #
-----------------------------------

SQL> desc v$log;
 名称                                                  是否为空? 类型
 ----------------------------------------------------- -------- -------------
 GROUP#                                                         NUMBER
 THREAD#                                                        NUMBER
 SEQUENCE#                                                      NUMBER
 BYTES                                                          NUMBER
 MEMBERS                                                        NUMBER
 ARCHIVED                                                       VARCHAR2(3)
 STATUS                                                         VARCHAR2(16)
 FIRST_CHANGE#                                                  NUMBER
 FIRST_TIME                                                     DATE

SQL> copy from manager/system@pgjt1 create test_copy13 using select first_time f
rom v$log;

数组读取/结合的大小为15。(数组大小为15)
将在完成时提交。(提交的复本为 0)
最长为80。(长度为80)
表TEST_COPY13已创建。

6行选自manager@pgjt1。
   6行被插入TEST_COPY13。
6行已提交至TEST_COPY13(位于DEFAULT HOST连接)。

SQL> copy from manager/system@pgjt1 create test_copy14 using select status from
v$log;

数组读取/结合的大小为15。(数组大小为15)
将在完成时提交。(提交的复本为 0)
最长为80。(长度为80)
表TEST_COPY14已创建。

6行选自manager@pgjt1。
   6行被插入TEST_COPY14。
6行已提交至TEST_COPY14(位于DEFAULT HOST连接)。

SQL> copy from manager/system@pgjt1 create test_copy15 using select group# from
v$log;

数组读取/结合的大小为15。(数组大小为15)
将在完成时提交。(提交的复本为 0)
最长为80。(长度为80)

ERROR:
ORA-01727: numeric precision specifier is out of range (1 to 38)

-----------------------------------
#注意到只有插入数字的时候才出错,会不会是客户端版本问题呢          #
-----------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值