ORA-02063(ora02063错误解决方法)

http://www.itjxue.com  2023-02-15 17:28  来源:未知  点击次数: 

用db link远程查询表示提示ora-010107和02063错误

检查一下dblink的用户名是否变成大写了,如果是,那么把密码也改成大写试试

oracle,执行一个过程,失败,原因为ora-01652和ORA-02063,请大神帮忙解决

ORA-01652: unable to extend temp segment by 128 in tablespace TEMP

一般的解决方案 就是增大 temp表空间,如果你没有SQL性能的诊断能力的话 那么显然 增大 temp表空间是你唯一能做的

sql查询报ora_02063,ora_01722

area_eid 字段有不能转化成数字的数据,所以报错了。

因为数字优先级高,所以在运算前,area_id要转成数字。

Oracle连接DB2,Dblink报错 Ora-28500 Ora-02063

删了重新创建一个联邦吧。

DB2联邦数据库建立,相当于Oracle的Db-Link

|字号 订阅

在同一台机器上,用同一用户建立联邦数据库

一、环境:

本机:数据库 a

“远程”:数据库 b

用户实例:db2inst1

二、步骤:

1、在DB2命令窗口运行DB2 GET DBM CFG 来查看当前实例的配置参数,并确保FEDERATED参数设置为YES,您可以通过运行DB2 UPDATE DBM CFG USING FEDERATED YES来设置这个参数。修改这个参数后,必须重新启动实例才会生效(DB2STOP/DB2START)

2、

db2 catalog tcpip node node1 remote 192.168.0.50 server 48000

db2 catalog db b as bb at node node1

db2 TERMINATE (必须使用该命令否则可能导致catalog更新不能生效

测试连通性

db2 attach to node1 user db2inst1 using db2inst1

db2 connect to bb user db2inst1 using db2inst1 (若出现问题,修改当前用户主目录下sqllib/instance/db2rfe.cfg 文件,使其remote =connection 的 值为YES,ENABLE AUTHENICAION=YES,先要db2stop,再执行./db2rfe -f 使其生效)

db2connect reset

3、建立包装器

连接到本地数据库 db2 connect to a

(本地为unix环境)create wrapper DRDA;

(本地为windows环境) create wrapper "DRDA" LIBRARY 'db2drda.dll' OPTIONS( ADD DB2_FENCED 'N');

4、

建立服务器(此命令最好在db2 CLP 下执行,不能解析引号)

create server yj type db2/udb version 9.7 wrapper drda authorization "db2inst1" password "db2inst1" options(node 'node1',dbname 'bb')

此步骤options node 有疑问,待解决,好像Node 存在不存在都可以

5、

用户映射

db2 "create user mapping for "db2inst1" server yj options (add remote_authid 'db2inst1' ,add remote_password 'db2inst1')"

6、

建立别名

db2 "create nickname yj_test for yj.db2inst1.test"

CREATE NICKNAME remote_t_usertable FOR remoteserver_195.db2inst1.t_usertable;

(其中,wrapper使用DB2数据源的缺省名称DRDA server名称是remoteserver_195,t_usertable表在local_db数据库中的nickname是remote_t_usertable)

7、连接到本地数据库

db2 conncet to a

db2 "select * from db2inst1.yj_test"

db2 update dbm cfg using FEDERATED YES

db2 connect to mydb1

--这里需要注意的是这个语句不能使用db2 ""执行,而是需要进入到db2 Command Line Processor 交互模式。这点是进行了很多尝试才发现的问题,注意问题是在password后面的字符串必须是双引号

--drda是默认的适配器

db2

create server f_mydb2 type db2/udb version 9.7 wrapper drda authorization db2inst2 password "******" options(dbname 'mydb2')

db2 "create user mapping for "db2inst1" server f_mydb2 options (add remote_authid 'db2inst2' , add remote_password '******')"

--db2inst2中存在一个表tb2

db2 "create nickname mydb2_tb2 for f_mydb2.db2inst2.tb2"

db2 "select * from mydb2_tb2"

db2 "select * from tb1 a inner join mydb2_tb2 b on b.id = a.id"

(责任编辑:IT教学网)

更多

推荐3DMAX教程文章