Oracle 데이터베이스 오류 코드

오라클 가져오기 절차, 기능 등 생성 후 아래와 같은 오류가 발생하여 프로시저나 함수를 수정할 수 없는 경우가 있습니다.

이 경우 오브젝트의 Op를 변경하여 변경할 수 있습니다.

에러 코드: ORA-38824
설명: CREATE OR REPLACE 명령은 기존 객체의 EDITIONABLE 속성을 변경할 수 없습니다.


원인: 기존 개체를 EDITIONABLE 속성의 다른 값으로 바꾸려고 했습니다.


행동: REPLACE 문의 EDITIONABLE 속성을 전환하거나 REPLACE 문의 EDITIONABLE 속성과 일치하는 EDITIONABLE 속성을 갖도록 기존 개체를 변경합니다.

에러 코드: ORA-38824
설명: CREATE OR REPLACE 명령은 기존 개체의 EDITIONABLE 속성을 변경해서는 안 됩니다.


원인: 기존 개체를 EDITIONABLE 속성의 다른 값으로 바꾸려고 했습니다.


행동: REPLACE 문의 EDITIONABLE 속성을 전환하거나 REPLACE 문의 EDITIONABLE 속성과 일치하는 EDITIONABLE 속성을 갖도록 기존 개체를 변경합니다.

320×100

ALTER PROCEDURE 유저.프로시저명 NONEDITIONABLE;

ALTER FUNCTION 유저.펑션명 NONEDITIONABLE;

수정할 수 없는 프로시저나 함수에 대해 위의 쿼리를 실행하면 수정할 수 있도록 옵션이 변경됩니다.

그러나 수정할 개체가 많을 경우 일일이 찾아 입력해야 하는 번거로움이 있습니다.

이 경우 즉시 변경할 수 없는 개체를 검색하는 쿼리를 생성하고 검색 결과를 복사, 붙여넣기 및 실행할 수 있습니다.

select 
'ALTER ' || OBJECT_TYPE || ' ' || owner || '.' || object_name || ' NONEDITIONABLE;'  as sql
from ALL_OBJECTS 
where lower(owner) = '유저' 
	and editionable="Y";


Oracle 데이터베이스 오류 코드 1
위의 쿼리를 실행하면 다음과 같은 결과가 생성됩니다.

반응형