内容如题。这是在网上收到的解决方案。
ORA-04052 error occurred when looking up remote object
Cause: An error has occurred when trying to look up a remote object.
Action: Fix the error. Make sure the remote database system has run KGLR.SQL to create necessary views used for querying/looking up objects stored in the database现在KGLR.SQL已经更名为catrep.sql了,而且必须以sys身份去执行它。问题是现在我的oracle 10g生产系统是在solaris上面的,如果我直接这些catrep.sql会不会影响现场应用??可以有替代的方法吗?
ORA-04052 error occurred when looking up remote object
Cause: An error has occurred when trying to look up a remote object.
Action: Fix the error. Make sure the remote database system has run KGLR.SQL to create necessary views used for querying/looking up objects stored in the database现在KGLR.SQL已经更名为catrep.sql了,而且必须以sys身份去执行它。问题是现在我的oracle 10g生产系统是在solaris上面的,如果我直接这些catrep.sql会不会影响现场应用??可以有替代的方法吗?
Compilation errors for PROCEDURE YGJ_REP.SP_ORCLError: PL/SQL: ORA-04052: 在查找远程对象 FL_PRO.T_TJH_REP@ORCL 时出错
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-02020: 过多的数据库链接在使用中
Line: 7
Text: from t_tjh_rep_2Error: PL/SQL: SQL Statement ignored
Line: 5
Text: SELECT c_name
网上搜索到的解决方案:
ORA-04052 error occurred when looking up remote object
Cause: An error has occurred when trying to look up a remote object.
Action: Fix the error. Make sure the remote database system has run KGLR.SQL to create necessary views used for querying/looking up objects stored in the database
现在KGLR.SQL已经更名为catrep.sql了,而且必须以sys身份去执行它。
问题2:现在我的oracle 10g生产系统是在solaris系统上面的,如果我直接这些catrep.sql会不会影响现场应用??可以有其他的替代方法解决不??
pl/sql命令窗口中执行时候用的是本地服务名,在plsql里面并不适用
如果想在plsql中用,要创建DATABASE LINK
下面是个sampleCREATE DATABASE LINK basement.tsumiki
CONNECT TO tsumiki IDENTIFIED BY tsumiki_pass
USING 'basement';SELECT * FROM [email protected];
关于dblink详见:http://blog.sina.com.cn/u/4ac46e02010007dx
create database link ORCL
connect to FL_PRO identified by xxx using 'orcl';在命令窗口执行:
select * from t_tjh_rep@orcl
结果:
c_id c_name
22 1
2 2
3 33
4 4
过程如下:
create or replace procedure sp_orcl( table_bslw out varchar2) is
var_sql varchar2(4000);
begin
SELECT c_name
into var_sql
from t_tjh_rep_2
where c_id = '1';
var_sql := 'aa'||var_sql;
table_bslw := var_sql;
end sp_orcl;编译就报错。不信可以试试。现在我的oracle 10g生产系统是在solaris系统上面的,我知道执行catrep.sql可能就可以解决这个问题。问题是现在这个是生产系统,不知道执行了catrep.sql后会对数据库有什么不利不。
所以不敢轻易执行。
2、编译时报的错误是什么。