Kqrcmt write failed with error 604

Oracle database experience This blog is to share Oracle database administration experience about building complex systems, solving problems, and reviewing some technical methods that may be not so popular. This blog describes my thoughts about Oracle that can be not the same as the official Oracle inc. opinion. ORA-16000 while using collect function in […]

Содержание

  1. Oracle database experience
  2. This blog is to share Oracle database administration experience about building complex systems, solving problems, and reviewing some technical methods that may be not so popular. This blog describes my thoughts about Oracle that can be not the same as the official Oracle inc. opinion.
  3. ORA-16000 while using collect function in ADG environment (12.1.0.2)
  4. How to fix the Runtime Code 604 TurboTax Error 604
  5. Kqrcmt write failed with error 604
  6. Answered by:
  7. Question
  8. Answers
  9. All replies
  10. Yet Another Oracle Blog
  11. My experience with Oracle
  12. ORA-16000 from ADG standby via dblink to primary
  13. Русские Блоги
  14. ORA-00600 появляется после выполнения переключения под брокером DataGuard
  15. Интеллектуальная рекомендация
  16. IView CDN Загрузка значка шрифта нормальная, а значок шрифта не может быть загружен при локальной загрузке JS и CSS
  17. Критическое: ошибка настройки прослушивателя приложения класса org.springframework.web.context.ContextLoaderLis
  18. 1086 Не скажу (15 баллов)
  19. Pandas применяют параллельный процесс приложения, многоядерная скорость очистки данных
  20. PureMVC Learning (Tucao) Примечания

Oracle database experience

ORA-16000 while using collect function in ADG environment (12.1.0.2)

COLLECT takes as its argument a column of any type and creates a nested table of the input type out of the rows selected. To get the results of this function you must use it within a CAST function.

I do not think that it is highly reasonable using this this function to produce reports (we have admit that ADG mostly used for this). But some developers have his own way of thinking so lets try (at the finish of this article I’ll provide developer approach to solve this problem, but mine are lazy so I make it for them).

There is simple test case to reproduce this problem:

So what will happen if I repeat this on standby (flushing shared pool and turning on tracing is to cut long story short):

This is not what we expect, because no any mention that we are not allowed doing this. I’ve opened SR that leaded to: BUG 19359005 – ORA-16000 WHEN USING COLLECT ON STANDBY EVEN THOUGH ADT HAS BEEN CREATED. There is no one-off patch for this bug for my version and it is planed to be fixed in 12.2.

Let explore this more. Trace 10053 result:

What for does JPPD need any writing? Trying 10046 trace with level 12 and result is:

Here we have a little bit more infomation. Oracle trying update

CREATE TYPE “SYS”.”SYSTPLTq2ey8XPB3gU3LhbF/5LQ==” AS TABLE OF NUMBER

Is it possible to prevent Oracle doing this? What if we’ll have strong types for our need?
Good part of this is ability that Oracle allow creates our own aggregate function. So, there is a code:

Источник

How to fix the Runtime Code 604 TurboTax Error 604

This article features error number Code 604, commonly known as TurboTax Error 604 described as A corrupted tax return file.

Error Information

Error name: TurboTax Error 604
Error number: Code 604
Description: A corrupted tax return file.
Software: TurboTax
Developer: Intuit Inc.

This repair tool can fix common computer errors like BSODs, system freezes and crashes. It can replace missing operating system files and DLLs, remove malware and fix the damage caused by it, as well as optimize your PC for maximum performance.

About Runtime Code 604

Runtime Code 604 happens when TurboTax fails or crashes whilst it’s running, hence its name. It doesn’t necessarily mean that the code was corrupt in some way, but just that it did not work during its run-time. This kind of error will appear as an annoying notification on your screen unless handled and corrected. Here are symptoms, causes and ways to troubleshoot the problem.

Definitions (Beta)

Here we list some definitions for the words contained in your error, in an attempt to help you understand your problem. This is a work in progress, so sometimes we might define the word incorrectly, so feel free to skip this section!

  • File — A block of arbitrary information, or resource for storing information, accessible by the string-based name or path
  • Return — A return statement causes execution to leave the current subroutine and resume at the point in the code immediately after where the subroutine was called, known as its return address
  • Tax — a financial charge or other levy imposed upon a taxpayer an individual or legal entity by a state or the functional equivalent of a state to fund various public expenditures.
Symptoms of Code 604 — TurboTax Error 604

Runtime errors happen without warning. The error message can come up the screen anytime TurboTax is run. In fact, the error message or some other dialogue box can come up again and again if not addressed early on.

There may be instances of files deletion or new files appearing. Though this symptom is largely due to virus infection, it can be attributed as a symptom for runtime error, as virus infection is one of the causes for runtime error. User may also experience a sudden drop in internet connection speed, yet again, this is not always the case.

(TurboTax Error 604) Repair Tool»/>
(For illustrative purposes only)

Causes of TurboTax Error 604 — Code 604

During software design, programmers code anticipating the occurrence of errors. However, there are no perfect designs, as errors can be expected even with the best program design. Glitches can happen during runtime if a certain error is not experienced and addressed during design and testing.

Runtime errors are generally caused by incompatible programs running at the same time. It may also occur because of memory problem, a bad graphics driver or virus infection. Whatever the case may be, the problem must be resolved immediately to avoid further problems. Here are ways to remedy the error.

Repair Methods

Runtime errors may be annoying and persistent, but it is not totally hopeless, repairs are available. Here are ways to do it.

If a repair method works for you, please click the upvote button to the left of the answer, this will let other users know which repair method is currently working the best.

Источник

Kqrcmt write failed with error 604

This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.

Answered by:

Question

Our Windows Server 2012 R2 (Web Server) are having a lot of errors from even viewer logs:

Windows was unable to save all the data for the file :$I30:$INDEX_ALLOCATION. The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere.

Can you please explain what’s causing the issue and how to resolve this?

Thank you so much.

Answers

Microsoft has released a hotfix for Windows Server 2012 for when you perform an IO stress test from WS2012 or Windows 8 clients against a WS2012 cluster and you experience «Delayed Write Failed» errors. This problem occurs because the client redirector does not calculate the SMB signature properly.

Please refer to the link below to check the cause and resolve it.

Hope it will be helpful to you

Please remember to mark the replies as an answers if they help and unmark them if they provide no help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

  • Edited by Carl Fan Microsoft contingent staff Thursday, September 8, 2016 2:50 AM
  • Proposed as answer by Carl Fan Microsoft contingent staff Tuesday, September 13, 2016 7:49 AM
  • Marked as answer by Teemo Tang Microsoft contingent staff Friday, September 16, 2016 9:38 AM

Microsoft has released a hotfix for Windows Server 2012 for when you perform an IO stress test from WS2012 or Windows 8 clients against a WS2012 cluster and you experience «Delayed Write Failed» errors. This problem occurs because the client redirector does not calculate the SMB signature properly.

Please refer to the link below to check the cause and resolve it.

Hope it will be helpful to you

Please remember to mark the replies as an answers if they help and unmark them if they provide no help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

  • Edited by Carl Fan Microsoft contingent staff Thursday, September 8, 2016 2:50 AM
  • Proposed as answer by Carl Fan Microsoft contingent staff Tuesday, September 13, 2016 7:49 AM
  • Marked as answer by Teemo Tang Microsoft contingent staff Friday, September 16, 2016 9:38 AM

Haven’t received your message a few days, was your issue resolved? Because the case may be closed few days later.
If you feel the suggestion could be helpful to you, please «mark it as answer» to help other community members who have same questions and find the helpful reply quickly.
If no, please feel free to post back and tell us the current situation in order to provide further help.
Best regards,
Carl Fan

Источник

Yet Another Oracle Blog

My experience with Oracle

ORA-16000 from ADG standby via dblink to primary

ORA-16000 on ADG standby via dblink to primary

Some day ago my collegues asked me about ORA-16000 error in application log.

Small deviation.
We have some service who has support perform I/O read operation (like select) on standby side. Client connections always occur on standby side and PL/SQL Packages to decide, what user want to reading or to changing data (insert,update).

So, from application log provided by our application administrators, i can see which exactly procedure performed.
Let’s try perform that procedure.

Inside that procedure call another procedure wich will decide need to go to primary via dblink or not. Try perform it.

But i see the same error. I’m don’t understand what happen. We should go to primary via dblink from standby and shouldn’t to see any error about read-only access.
Ok, let’s try to see error stack on standby.

Hmmm, i see attempt to update dictionary with objects. Now i’m understand why ORA-16000 error happened. Probably we have problem with shared_pool. Let’s try to flush it.

No effect. Hmmm, ok, let’s try perform that procedure on primary.

Wow. Timestamp of package is changed! Try to perform one more.

Errors gone. Let’s try to perform on standby side.

I see other errors. Now standby like doesn’t know about our packages. I’m waited 10 min but nothing happened and i decided to restart instance 🙂

After that all packages work brilliant!

Obviously something happen in shared_pool. Our packages based on timestamp.
Unfortunately i can’t recompile packages on primary because we have lot of load system and i could catch latches on packages like (library cache pin).
But i think if i could recompile packages, this error can be resolved with recompile.

Источник

Русские Блоги

ORA-00600 появляется после выполнения переключения под брокером DataGuard

os: centos 7.4
db: oracle 12.1.0.2

При переключении под брокером DataGuard появился раздражающий ORA-00600

Просмотр журнала трассировки orclp

При просмотре /u01/app/oracle/diag/rdbms/orclp/orcl/trace/orcl_rsm0_1924.trc

После входа в oracle mos для поиска, по оценкам, это ошибка 12.1.0.2.0, которую нужно исправить.

Встречаются ли ошибки в базе данных Oracle?

ссылка:
ORA-600 [kcbz_zib_simulation_1] (Doc ID 1457527.1)

Интеллектуальная рекомендация

IView CDN Загрузка значка шрифта нормальная, а значок шрифта не может быть загружен при локальной загрузке JS и CSS

Используйте iview, чтобы сделать небольшой инструмент. Чтобы не затронуть другие платформы, загрузите JS и CSS CDN на локальные ссылки. В результате значок шрифта не может быть загружен. Просмо.

Критическое: ошибка настройки прослушивателя приложения класса org.springframework.web.context.ContextLoaderLis

1 Обзор Серверная программа, которая обычно запускалась раньше, открылась сегодня, и неожиданно появилась эта ошибка. Интуитивно понятно, что не хватает связанных с Spring пакетов, но после удаления п.

1086 Не скажу (15 баллов)

При выполнении домашнего задания друг, сидящий рядом с ним, спросил вас: «Сколько будет пять умножить на семь?» Вы должны вежливо улыбнуться и сказать ему: «Пятьдесят три». Это.

Pandas применяют параллельный процесс приложения, многоядерная скорость очистки данных

В конкурсе Algorith Algorith Algorith Algorith Algorith 2019 года используется многофункциональная уборка номера ускорения. Будет использовать панды. Но сама панда, кажется, не имеет механизма для мно.

PureMVC Learning (Tucao) Примечания

Справочная статья:Введение подробного PrueMVC Использованная литература:Дело UnityPureMvc Основная цель этой статьи состоит в том, чтобы организовать соответствующие ресурсы о PureMVC. Что касается Pu.

Источник

COLLECT takes as its argument a column of any type and creates a nested table of the input type out of the rows selected. To get the results of this function you must use it within a CAST function.

I do not think that it is highly reasonable using this this function to produce reports (we have admit that ADG mostly used for this). But some developers have his own way of thinking so lets try (at the finish of this article I’ll provide developer approach to solve this problem, but mine are lazy so I make it for them).

There is simple test case to reproduce this problem:

On the primary:
CREATE TABLE "TBL_COLLECT_TEST"
(    "C1" NUMBER,
"C2" NUMBER
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ;

insert into "TBL_COLLECT_TEST" values(1,    6);
insert into "TBL_COLLECT_TEST" values(1,    7);
insert into "TBL_COLLECT_TEST" values(2,    1);
insert into "TBL_COLLECT_TEST" values(2,    2);
insert into "TBL_COLLECT_TEST" values(2,    3);
insert into "TBL_COLLECT_TEST" values(2,    4);
insert into "TBL_COLLECT_TEST" values(2,    5);

commit;

create or replace type     t_table_of_number as table of number;

--Works fine on primary every time:
select c1, cast(collect(c2) as t_table_of_number) from tbl_collect_test group by c1;
1  T_TABLE_OF_NUMBER(6, 7)
2  T_TABLE_OF_NUMBER(1, 5, 4, 3, 2)

So what will happen if I repeat this on standby (flushing shared pool and turning on tracing is to cut long story short):

SQL> oradebug setmypid
Statement processed.
SQL> ORADEBUG TRACEFILE_NAME
/opt/oracle/base/diag/rdbms/*/*/trace/*_ora_10467.trc

SQL> alter system flush shared_pool;
System altered.

SQL> ALTER SESSION SET EVENTS '10053 trace name context forever, level 1';
Session altered.

SQL> select c1, cast(collect(c2) as t_table_of_number) from tbl_collect_test group by c1;
select c1, cast(collect(c2) as t_table_of_number) from tbl_collect_test group by c1
*
ERROR at line 1:
ORA-16000: database or pluggable database open for read-only access

This is not what we expect, because no any mention that we are not allowed doing this. I’ve opened SR that leaded to: BUG 19359005 – ORA-16000 WHEN USING COLLECT ON STANDBY EVEN THOUGH ADT HAS BEEN CREATED. There is no one-off patch for this bug for my version and it is planed to be fixed in 12.2.

Let explore this more. Trace 10053 result:

/*
JPPD:  Considering Cost-based predicate pushdown from query block SEL$1 (#1)
************************************
Cost-based predicate pushdown (JPPD)
************************************
kkqctdrvTD-start on query block SEL$1 (#1)
kkqctdrvTD-start: :
call(in-use=11112, alloc=97872), compile(in-use=119160, alloc=131104), execution(in-use=3392, alloc=4032)

kkqctdrvTD-cleanup: transform(in-use=0, alloc=0) :
call(in-use=11112, alloc=97872), compile(in-use=119648, alloc=131104), execution(in-use=3392, alloc=4032)

kkqctdrvTD-end:
call(in-use=11112, alloc=97872), compile(in-use=119848, alloc=131104), execution(in-use=3392, alloc=4032)

JPPD: Applying transformation directives
query block SEL$1 (#1) unchanged
KQRCMT: Write failed with error=604 po=0x2596e03350 cid=8
diagnostics : cid=8 hash=808b698f flag=2a
*/

What for does JPPD need any writing? Trying 10046 trace with level 12 and result is:

/*
PARSING IN CURSOR #46912563779976 len=68 dep=1 uid=0 oct=77 lid=0 tim=1922947732394 hv=3711500305 ad='2aaaaeb23c00' sqlid='f3x5u4mfmk00j'
CREATE TYPE "SYS"."SYSTPLTq2ey8XPB3gU3LhbF/5LQ==" AS TABLE OF NUMBER
END OF STMT
PARSE #46912563779976:c=0,e=184,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,plh=0,tim=1922947732393
=====================
PARSING IN CURSOR #46912564419368 len=70 dep=2 uid=0 oct=3 lid=0 tim=1922947733143 hv=1853064805 ad='273b55bda8' sqlid='5hrvvu1r771m5'
 SELECT VALUE$ FROM SYS.PROPS$ WHERE NAME = 'OGG_TRIGGER_OPTIMIZATION'
END OF STMT
PARSE #46912564419368:c=1000,e=603,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=4,plh=415205717,tim=1922947733142
EXEC #46912564419368:c=0,e=13,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=4,plh=415205717,tim=1922947733248
FETCH #46912564419368:c=0,e=52,p=0,cr=3,cu=0,mis=0,r=0,dep=2,og=4,plh=415205717,tim=1922947733314
STAT #46912564419368 id=1 cnt=0 pid=0 pos=1 obj=98 op='TABLE ACCESS FULL PROPS$ (cr=3 pr=0 pw=0 time=52 us cost=2 size=28 card=1)'
=====================
PARSING IN CURSOR #46912564411896 len=1694 dep=2 uid=57 oct=47 lid=57 tim=1922947733676 hv=3297032771 ad='275d1dfc80' sqlid='b8an9b7289fk3'
declare
 error boolean;
  st_syn_detected EXCEPTION;
   PRAGMA EXCEPTION_INIT(st_syn_detected, -995);
 BEGIN
   if((sys.dbms_standard.dictionary_obj_type!='SYNONYM')or(sys.dbms_standard.dictionary_obj_owner!='PUBLIC'))
   then
     return;
   end if;
   error :=
      CASE sys.dbms_standard.dictionary_obj_name
         WHEN 'ST_GEOMETRY' THEN TRUE
         WHEN 'ST_SURFACE' THEN TRUE
...
PARSING IN CURSOR #46912564390648 len=292 dep=2 uid=0 oct=6 lid=0 tim=1922947737895 hv=71628033 ad='26d63e8c68' sqlid='8zc85a8249x81'
update obj$ set obj#=:4, type#=:5,ctime=:6,mtime=:7,stime=:8,status=:9,dataobj#=:10,flags=:11,oid$=:12,spare1=:13,spare2=:14,spare3=:15,signature=:16,spare7=:17,spare8=:18,spare9=:19 where owner#=:1 and name=:2 and namespace=:3 and remoteowner is null and linkname is null and subname is null
END OF STMT
PARSE #46912564390648:c=0,e=389,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=4,plh=0,tim=1922947737895
KQRCMT: Write failed with error=604 po=0x26fe008e30 cid=8
diagnostics : cid=8 hash=808b698f flag=2a
EXEC #46912563779976:c=6000,e=7030,p=0,cr=12,cu=0,mis=0,r=0,dep=1,og=4,plh=0,tim=1922947739467
ERROR #46912563779976:err=604 tim=1922947739484
*/

Here we have a little bit more infomation. Oracle trying update

update obj$ set

as a result of:

CREATE TYPE “SYS”.”SYSTPLTq2ey8XPB3gU3LhbF/5LQ==” AS TABLE OF NUMBER

Is it possible to prevent Oracle doing this? What if we’ll have strong types for our need?
Good part of this is ability that Oracle allow creates our own aggregate function. So, there is a code:

create or replace TYPE           T_NUMBER_TBL as table of number;

create or replace type           CollectNumberImpl as object
(
  res t_number_tbl,
  static function ODCIAggregateInitialize(actx IN OUT CollectNumberImpl) return number,
  member function ODCIAggregateIterate(self IN OUT CollectNumberImpl, value IN number)  return number,
  member function ODCIAggregateTerminate(self IN CollectNumberImpl, ctx2 OUT t_number_tbl, flags IN number)  return number,
  member function ODCIAggregateMerge(self IN OUT CollectNumberImpl, ctx2 IN CollectNumberImpl)  return number
);

create or replace type body           CollectNumberImpl is
static function ODCIAggregateInitialize(actx IN OUT CollectNumberImpl)
return number is
begin
  actx := CollectNumberImpl(t_number_tbl());
  return ODCIConst.Success;
end;

member function ODCIAggregateIterate(self IN OUT CollectNumberImpl, value IN number) return number is
begin
  self.res.extend;
  self.res(self.res.last) := value;
  return ODCIConst.Success;
end;

member function ODCIAggregateTerminate(self IN CollectNumberImpl, ctx2 OUT t_number_tbl, flags IN number) return number is
begin
  ctx2 := self.res;
  return ODCIConst.Success;
end;

member function ODCIAggregateMerge(self IN OUT CollectNumberImpl, ctx2 IN CollectNumberImpl) return number is
begin

  FOR i IN ctx2.res.FIRST .. ctx2.res.LAST
  LOOP
    self.res.extend;
    self.res(self.res.last) := ctx2.res(i);
  END LOOP;

  return ODCIConst.Success;
end;
end;



create or replace FUNCTION           CollectNumber (input NUMBER) RETURN t_number_tbl PARALLEL_ENABLE AGGREGATE USING CollectNumberImpl;

Trying this on standby:

SQL> select c1, collectnumber(c2) from tbl_collect_test group by c1;

        C1
----------
COLLECTNUMBER(C2)
--------------------------------------------------------------------------------
         1
T_NUMBER_TBL(6, 7)

         2
T_NUMBER_TBL(1, 5, 4, 3, 2)

That it is. Problem solved.

ORA-16000 on ADG standby via dblink to primary

Some day ago my collegues asked me about ORA-16000 error in application log.

[22/04/2013:13:42:40] xxxxxxxxxxxxxxxxx:sql execute error: ORA-16000: database open for read-only access

Small deviation.
We have some service who has support perform I/O read operation (like select) on standby side. Client connections always occur on standby side and PL/SQL Packages to decide, what user want to reading or to changing data (insert,update).

So, from application log provided by our application administrators, i can see which exactly procedure performed.
Let’s try perform that procedure.

SQL> begin user.Package1.Procedure1(1130000010449084,null,null,null); end;
 2 /
begin user.Package1.Procedure1(1130000010449084,null,null,null); end;
*
ERROR at line 1:
ORA-04053: error occurred when validating remote object
user.user@PRIMARY.SERVER
ORA-00604: error occurred at recursive SQL level 1
ORA-16000: database open for read-only access

Inside that procedure call another procedure wich will decide need to go to primary via dblink or not. Try perform it.

SQL> begin user.Package2.Procedure1(1130000010449084,null,null,null); end;
 2 /
begin user.Package2.Procedure1(1130000010449084,null,null,null); end;
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-16000: database open for read-only access

But i see the same error. I’m don’t understand what happen. We should go to primary via dblink from standby and shouldn’t to see any error about read-only access.
Ok, let’s try to see error stack on standby.

SQL> alter system set events '16000 trace name errorstack level 3';

System altered.

SQL> begin user.Package1.Procedure1(1130000010449084,null,null,null); end;
 2 /
begin user.Package1.Procedure1(1130000010449084,null,null,null); end;
*
ERROR at line 1:
ORA-04053: error occurred when validating remote object
user.user@PRIMARY.SERVER
ORA-00604: error occurred at recursive SQL level 1
ORA-16000: database open for read-only access

In trace.

*** 2013-04-22 16:33:52.444
*** SESSION ID:(2274.5) 2013-04-22 16:33:52.444
*** CLIENT ID:() 2013-04-22 16:33:52.444
*** SERVICE NAME:() 2013-04-22 16:33:52.444
*** MODULE NAME:(sqlplus@some.SERVER (TNS V1-V3)) 2013-04-22 16:33:52.444
*** ACTION NAME:() 2013-04-22 16:33:52.444

Managed Recovery: Real Time Apply enabled.
Managed Recovery: THROUGH ALL SWITCHOVER posted.
Managed Recovery: DISCONNECT posted.
Managed Recovery: Startup posted.

*** 2013-04-22 16:42:09.455
Managed Recovery: Cancel posted.

*** 2013-04-22 16:42:46.890
Managed Recovery: Real Time Apply enabled.
Managed Recovery: THROUGH ALL SWITCHOVER posted.
Managed Recovery: DISCONNECT posted.
Managed Recovery: Startup posted.

*** 2013-04-22 16:47:45.544
KQRCMT: Write failed with error=604 po=0x196d592118 cid=8
diagnostics : cid=8 hash=808b698f flag=2a

*** 2013-04-22 16:56:39.421
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=3, mask=0x0)
----- Error Stack Dump -----
ORA-16000: database open for read-only access
----- Current SQL Statement for this session (sql_id=4yyb4104skrwj) -----
update obj$ set obj#=:4, type#=:5,ctime=:6,mtime=:7,stime=:8,status=:9,dataobj#=:10,flags=:11,oid$=:12,spare1=:13, spare2=:14 where owner#=:1 and name=:2 and namespace=:3 and remoteowner is null and linkname is null and subname is null

Hmmm, i see attempt to update dictionary with objects. Now i’m understand why ORA-16000 error happened. Probably we have problem with shared_pool. Let’s try to flush it.

SQL> alter system flush shared_pool;

System altered.

No effect. Hmmm, ok, let’s try perform that procedure on primary.

SQL> begin user.Package2.Procedure1(1130000010449084,null,null,null); end;
 2 /
begin user.Package2.Procedure1(1130000010449084,null,null,null); end;
*
ERROR at line 1:
ORA-04062: timestamp of Package1 "user.Package1" has been changed
ORA-06512: at "user.Package2", line 72
ORA-06512: at line 1

Wow!!! Timestamp of package is changed! Try to perform one more.

SQL> begin user.Package2.Procedure1(1130000010449084,null,null,null); end;
 2 /

PL/SQL procedure successfully completed.

SQL> begin user.Package1.Procedure1(1130000010449084,null,null,null); end;
 2 /

PL/SQL procedure successfully completed.

Errors gone. Let’s try to perform on standby side.

SQL> begin user.Package2.Procedure1(1130000010449084,null,null,null); end;
 2 /
begin user.Package2.Procedure1(1130000010449084,null,null,null); end;
 *
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00201: identifier 'user.Package2' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
SQL> begin user.Package1.Procedure1(1130000010449084,null,null,null); end;
 2 /
begin user.Package1.Procedure1(1130000010449084,null,null,null); end;
 *
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00201: identifier 'user.Package1' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

I see other errors. Now standby like doesn’t know about our packages. I’m waited 10 min but nothing happened and i decided to restart instance 🙂

SQL> begin user.Package2.Procedure1(1130000010449084,null,null,null); end;
 2 /

PL/SQL procedure successfully completed.
SQL> begin user.Package1.Procedure1(1130000010449084,null,null,null); end;
 2 /

PL/SQL procedure successfully completed.

After that all packages work brilliant!

Obviously something happen in shared_pool. Our packages based on timestamp.
Unfortunately i can’t recompile packages on primary because we have lot of load system and i could catch latches on packages like (library cache pin).
But i think if i could recompile packages, this error can be resolved with recompile.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Kovi koreavista коды ошибок
  • Kotlin internal error
  • Kotlin error running class not found in module
  • Korting kdi 60175 ошибка e4 как устранить
  • Korting kdi 4540 коды ошибок

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии