본문 바로가기

전체 글78

[Oracle]Profile 오라클 프로파일 [Oracle]Profile 오라클 프로파일 사용자를 만들때 프로파일을 만들어서 적용시켜주면 이에맞는유저가 만들어지는데요. 프로파일에는 사용자가 아무런 반응없이 접속해있을경우접속을 자동으로 해지해주는것, 한 user당 몇개의 세션이 붙을 수 있는지등....다양한 설정값들을 제공합니다. 잘 사용한다면 관리할때 유용하겠죠 DBA_PROFILES를 조회해보면 어떤 프로파일이 있는지 볼 수 있습니다. DBA_USER테이블에는 어떤 유저가 어떤 PROFILE을 사용하고있는지 볼 수 있습니다. 이번에는 프로파일을 만들어 보겠습니다. sessions_per_user는 한 계정당 몇명이 붙을 수 있는지를 나타냅니다.1로 설정했으니 하나의 계정에 한명밖에 접속을 못하겠죠connect_time 10은 10분동안만 작업을 .. 2014. 7. 15.
[Oracle]User 관리(Account lock, expire) [Oracle]User 관리(Account lock, expire) 유저관리에서 꼭 필요한 명령어이죠 expire와 lock,unlock을 알아보겠습니다. 위처럼 EXPIRE을 해주면 사용자는 다시 비밀번호를 설정할 수 있습니다. scott으로 접속했더니 다시 비밀벌호를 설정할 수 있네요~ 이번엔 LOCK을 해보겠습니다. 의심스러운사용자가 있다면 LOCK으로 계정을 잠가버릴수 있겠죠 접속이 안되는것을 볼 수 있습니다. UNLOCK으로 다시 접속이 가능하게 해보겠습니다. 다시 이상없이 접속하는 모습을 볼 수 있습니다. 2014. 7. 15.
[Oracle]Temp tablespace group 임시테이블그룹 [Oracle]Temp tablespace group 임시테이블그룹 Temp테이블도 다른것과 마찬가지로 하나만 있을경우 여러사용자가 붙었을때성능저하 현상이 올 수 있는데요. 그래서 각각 유저마다 하나씩 temp tablespace를할당해주는 것을 권장합니다. 하지만 A유저는 임시테이블을 20% 밖에 사용하지않고B유저는 임시테이블을 많이사용해서 공간이 부족하다면 하나씩 할당하는것도 비효율적이겠죠이럴경우 A와B의 임시테이블을 그룹으로 묶어 같이 사용할 수 있게 할 수 있습니다.이렇게되면 훨씬 효율적이겠죠 먼저 temp01이라는 테이블 스페이스를 group1로 지정해서 만들었습니다. DBA_TABLESPACE_GROUPS를 조회해보시면 확인해 보실 수 있습니다. 이번엔 기존에 있던 TEMP를 GROUP1으로 .. 2014. 7. 15.
[Oracle]User tablepace설정 설계 관리 [Oracle]User tablepace설정 설계 관리 사용자관리 전체문장CREATE USER 유저이름IDENTIFIED BY 비밀번호DEFAULT TABLESPACE 테이블스페이스이름TEMPORARY TABLESPACE 템프테이블스페이스이름QUOTA mb ON 테이블스페이스이름PASSWORD EXPIRE;ACCOUNT (LOCK or UNLOCK)PROFILE (PROFILE or DEFAULT) 테이블을 만들때 테이블 스페이스를 지정하지않으면 default로 유저를 생성할때 지정했던테이플스페이스로 지정이 됩니다. 유저에서 테이블스페이스를 설정해주는것도 좋지만그래도 테이블을 만들때 정확히 테이블스페이스를 명시해주는것을 추천합니다. table space설계 시 주의사항1. striping한다. (분할한다.. 2014. 7. 15.
[Oracle]Flashback 플래시백, Flashback drop [Oracle]Flashback, Flashback drop 플래시백 실수로 중요한 데이터를 변경하고 커밋을 눌러버렸다...이럴때 일시적으로 되돌아갈 수 있는 방법이 바로 플래시백 flashback입니다.일시적으로 돌아가는것이기 때문에 돌아간뒤 데이터를 다른테이블에 저장해놓고돌아와서 실제 테이블에 적용시켜주면 복구를 할 수 있죠 ㅎ주의할점을 플래시백은 4시간정도 뒤 시간으로 돌아갈수 있지 하루정도 지나면 안됩니다. ㅎ 실습을 위해서 empno가 7839인 사원의 sal를 확인해보겠습니다. 20000이네요 돌아가기위해서 현재시간을 확인해보겠습니다. sal을 반값으로 줄여버리고 커밋을 해버렸습니다.이제 7839 사원은 연봉이 반절로 줄었네요 ㅋㅋㅋ 조회해보니 반절로 줄었습니다 ㅜ 플래시백을 사용하기위해선 이.. 2014. 7. 14.
[Oracle]Row chaining, Row migration 로우체이닝 로우마이그레이션 [Oracle]Row chaining, Row migration 로우체이닝 로우마이그레이션 row chaining , row migration 성능에대해 고려하기위해 꼭 알아야될중요한 단어입니다. Row chaining로우 체이닝은 하나의 값이 여러블락에 거쳐 저장될때를 말한다.저장엔문제가없지만 셀렉트할 때 한블럭만 읽어도될걸 여러블락을 읽어야하므로 성능이떨어진다. Row migration최초로 저장된 블락에 프리스페이스가 없어서 새로운블락을 할당받아서 거기로 옮긴뒤수정하는것을 마이그레이션이 일어난다고한다.이러한 현상을 최소화 하기위해서 pct_free, pct_used를 설정해 줘야하는데요 PCT_FREEPCTFREE 10을 주면 데이터를 저장할 때 블락내에 10%공간만큼 비워놓는 것입니다.업데이트가있.. 2014. 7. 14.
[Oracle]UNDO SEGMENT 관리 언두세그먼트 [Oracle]UNDO SEGMENT 관리 언두세그먼트 UNDO SEGMENT는 UPDATE DELETE할 때 변경전 데이터를 저장하는 역할을 합니다.ROLLBACK을 위해서 필수적인 데이터이죠~메모리영역에서는 UNDO BLOCK이있고 FILE부분에 UNDO SEGMENT가 있습니다.UNDO SEGMENT의 종류는 SYSTEM UNDO-SEGMENT와PRIVATE UNDOE-SEGMENT가있습니다. PRIVATE 가 사용자쓰는 세그먼트이고SYSTEM세그먼트는 시스템이 변경될때 서버가 알아서 작업하는곳입니다. 한명의 사용자가 세션에 붙게되면 하나의 언두세그먼트를 할당받습니다.언두세그먼트가 부족해지면 DML문처리가 느려질수있으니 주의해야합니다. UNDOSEGMENT관리는수동관리, 자동관리두가지입니다. 이것은.. 2014. 7. 14.
[Oracle]Log file 관리 archive mode [Oracle]Log file 관리 archive mode Log file의 백업을 관리할때 archive라는 용어가 있습니다. 1. NO ARCHIVE MODELOG FILE이 3개가 있다면 첫 번째 로그파일이 다차서 두 번째로 넘어갈 때두 번째에 원래 저장되어있던 파일들은 없어지게 됩니다. 이 처럼 되는것이 NO ARCHIVE MODE입니다. 2.ARCHIVE MODELOG SWITCH가 발생할 때 ARCH라는 백그라운드 서비스에 의해서 두 번째파일에 있던 데이터를 다른 곳에 복사해두는것이 ARCHIVE MODE입니다. 이렇게 될경우 원래 저장되어있던 두번째파일의 LOG데이터는 좀더오래 보관할 수 있겠죠. ARCHIVE MODE를 확인하는 방법은ARCHIVE LOG LIST라는 명령어로 확인 가능합니.. 2014. 7. 14.
[Oracle]Log miner 패키지 사용법 [Oracle]Log miner 패키지 사용법 실행했던 쿼리에 대한 로그가 LOG FILE에 기록되는데요그럼 실제로 기록된 LOG FILE을 확인하려면 어떻게 해야할까요LOG MINER라는 패키지를 이용하면 쉽게 확인할 수 있습니다. V$DATABASE테이블에서 위와같이 조회를 해보면LOG MINER패키지가 사용가능상태인지 아닌지 확인 할수 있습니다.현재는 NO로 사용불가능상태네요 YES로 변경을 해주면 이제 사용하실 수 있습니다. 실습을위해서 dept테이블을 하나 만들어서 쿼리를 날려보겠습니다. 로그파일은 디폴트로 3개가 있습니다.1번째 그룹인 redo01.log파일은 DBMS_LOGMNR.NEW로 만들어주고나머지는 DMBS_LOGMNR.ADDFILE을 해줍니다. 마지막으로 이러한 쿼리를 날려주면 로그.. 2014. 7. 14.