안녕하세요.
오라클 초보라 모르는 것이 많습니다.
다름이 아니라 저희 회사 오라클 db 정기점검 script를 보면은 invalid object를 체크하던데요.
1. invalid object란 어떤 상태의 object를 뜻하는 것인지...
2. 그리고 대표적으로 어떤 이유로 발생하는 지
3. 정기점검시에 체크하면 어떤 좋은 점이 있는지 알고 싶습니다.
간단하게라도 꼭 답변 주시면 감사하겠습니다.
아직 초보라 개념이 부족해서요. ^^
=> procedure/ function /trigger 등은 스크립트 언어지만 작성후에
컴파일하게되어 있습니다. invalid 란 컴파일 상태가 해제된(?) 거라고 생각하시면 됩니다. 즉 실행이 안되는 스크립트지요.
=> object( table, sequence, view 등등 ) 이 alter , drop 되었을 경우
해당 object 를 사용하는 script 는 invalid 상태가 됩니다.
=> invalid 되면 실행이 안되니.. 정기적으로 체크하는게 좋겠죠?
다만 invalid 가 있는지 없는지 체크하는것도 좋지만
$ORACLE_HOME/rdbms/admin/utlirp.sql 를 실행해서
모든 script 를 일괄 compile 하는것도 좋은 방법이겠네요
왕만두님이 설명 잘해 주셨네요. 오타가 하나 있어서리... $ORACLE_HOME/rdbms/admin/utlirp.sql -> $ORACLE_HOME/rdbms/admin/utlrp.sql 실행방법은 os 상에서 cd $ORACLE_HOME/rdbms/admin sqlplus "/as sysdba" SQL> @utlrp 하시면 Invalid Object 를 일괄 Recompile 하실 수 있습니다.
답변들 정말 감사합니다. 많은 공부가 되었구요. 다음에도 또 많은 도움 부탁드립니다.