oracle159 다른 스키마(유저) Database link 삭제하기 public database link가 아니고 개별 스키마에 생성된 database link의 경우에는 다른 스키마에서 삭제가 불가능 합니다. (그 유저가 dba 권한을 가진 유저라고 할지라도..) 실제 문서를 통해 해당 내용을 확인해보겠습니다. drop database link에 대한 내용을 확인해보면, "데이터베이스 링크 이름에 "."이 허용되므로 다른 사용자의 스키마에서 데이터베이스 링크를 삭제할 수 없으며 스키마 이름으로 dblink를 한정할 수 없습니다" 라고 해석할 수 있습니다. 즉 DB link 이름이 aaa.aaa.aaa이런식으로도 가능하기 때문에 앞에 다른 스키마에서 스키마명.aaa.aaa.aaa 이런식으로 삭제 할 수 없다는 이야기인것 같네요. 테스트를 통해 해당내용 확인해보겠습니다. .. 2021. 10. 27. Unusable Index를 Skip하고 scan하는 파라미터 skip_ususable_indexes 운영 중 상황이 발생하였습니다. 테이블에 row를 삭제할 일이 있는데 DML작업 시 ORA-01502 에러가 발생하였습니다. ORA-01502: index 'TEST.EMP_PK' or partition of such index is in unusable state 에러의 내용은 INDEX가 UNUSABLE 상태여서 테이블작업에 에러가 발생하는 것이었습니다. 관련된 내용을 해결하기 위해서 찾아보다 해당 파라미터의 존재에 대해서 알게되었습니다. 비록 이 파라미터가 해당 에러를 해결하기 위한 방법은 아니었지만, 관련이 있는 파라미터인것 같아 찾아본 후 정리하고자 합니다. 해당 파라미터는 바로 Unusable 상태의 Index를 무시(Skip)하는 것입니다. 테이블의 조회나 DML의 경우 인덱스와 연관이 있게.. 2021. 10. 26. 다른 유저 테이블 Truncate 시키는 권한 일반적인 DML(INSERT,UPDATE,DELETE,SELECT)권한은 Oracle의 권한을 부여해서 제어가 가능합니다. 하지만 Truncate의 경우에는 일반적인 권한부여로는 제어할 수가 없는데요, 아래의 문구를 보시면 해당스키마의 테이블이거나 DROP ANY TABLE의 권한이 있어야 Truncate가 가능하다고 나와 있습니다. Truncate는 DML이 아닌 DDL로 분류되고 사용되기 때문에 이러한 권한부여가 필요하겠죠. To truncate a table, the table must be in your schema or you must have the DROP ANY TABLE system privilege. grant truncate~~가 아니라 DROP ANY TABLE 권한이 필요하다는 사.. 2021. 10. 25. Recyclebin사용하여 테이블 복구하기 Drop table 명령어는 DDL 명령어이기 때문에 rollback이 되지 않아 데이터 복구가 다른 방법으로 진행되어야 합니다. Oracle에는 휴지통(recyclebin)라고 불리는 공간이 존재하며 drop table 된 오브젝트는 BIN$~~ 이름으로 된 이름으로 바뀌며 recyclebin 영역으로 넘어갑니다. flashback 기능 중 하나로써 UNDO 영역을 사용하여 복구를 수행하는 방법입니다. 아래의 글에 개념적인 부분이 잘 정리가 되어있어서 주소 첨부합니다. 참고 : https://goalker.tistory.com/111 Flashback Flashback 기능은 사용자의 논리적인 오류를 아주 빠르게 복구할 수 있는 방법 Flashback 명령어 3가지 (LEVEL) 방법 1. Row Le.. 2021. 9. 1. 이전 1 ··· 18 19 20 21 22 23 24 ··· 40 다음