shutdown이 된 상태에서 안전하세 startup시키는 절차이다.



1. 관리자모드(sys)로 접속한다.
2. startup
3. lsnrctl start
4. isqlplusctl start
5. emctl start dbconsole
순서로 실행하면된다!

오라클을 사용하다가 실수로 혹은 원치 않는 수정이나 삭제를 했는데
설상가상으로 커밋을 해버려서 당황할때가 있다.
이때 이를 복구 할 수 있는 명령이 있다.

100% 가능하진 않지만 빠른 처리시 대부분 복구가 된다.

시간을 과거로 되돌리는 방법이다.


flashback table (되돌리고싶은 테이블명) to timestamp sysdate-1/24/60;       
 : 플레쉬백을 사용하여 1분 전으로 되돌린 명령이다.
    2분 전으로 되돌리고싶다면 -1/24/60*2해주면되겠죠?

이때 row에 대한 에러가 발생하게 되는데 
alter table (테이블명) enable row mevement;
로 처리하고 재실행 해주면된다.


# u1라는 유저를 사용하다가 비번을 잃어 버렸을 경우
    1.  최고관리자(sys)로 접속 한다.
         *접속방법 : conn / as sysdba;
    2. alter user u1 identified by uu; 로 수정
     당연히 최고 관리자는 모든 권한이 있기 때문에 수정가능하다

# 자기 자신의 비번을 수정하는 법
    1. 자기자신으로 로그인하여 같은 방법으로 수정한다.
         alter user u1 identified by uu;
          * 자기자신의 비번 변경은 권한에 상관없이 가능하다.

# 비번 수정 시 Tip
    1. 대소문자 구분하지 않는다 (대문자로 입력해도 소문자로 로그인가능)
    2. 띄워쓰기 사용하고 싶을 때는 " "로 묶어 준다 (로그인시도 마찬가지로 로그인)

10g부터 테이블을 삭제하면 쓰레기 값이 남는다

깨끗이 제거해 보자!

purge를 사용하여 깔끔히 제거할 수 있다. 다만 rollback이 되지 않으니 주의하자!


drop table (삭제테이블명) purge;    휴지통 거치지 않고 테이블 삭제

purge recyclebin;     휴지통 비우기(쓰레기값 제거)

pk가 있어서 지워지지 않는 테이블의 pk와 테이블을 함께 지워보자!


deferrable initially deferred를 사용하면 pk, fk때문에 교차테이블을 만들어서 데이터를 입력할때
불편함을 덜 수 있다.
입력 순서에 상관없이 모든 값을 넣고 commit해 주면 끝!

이해를 위한 간단한 예시를 보자!


제약조건에 관계없이 입력이 가능해 지는 것을 확인!
처음에 이거 찾으려고 이래저래 검색하고 고생한적이 있다..

자주쓰기때문에 꼭 기억해 두기로...


콘솔창에 conn / as sysdba을 입력해 주면 끝!

+ Recent posts