본문 바로가기

DB

(16)
ORACLE 인스턴스 기동 시 ORA-16032 에러 해결 방법 sqlplus "/as sysdba" 접속 시 SQL > 이 표시되면서 로그인이 잘 된 것 처럼 보이지만 "connected to an idle instance"라고 뜸 -> db가 기동되지 않은 상태.. 처음엔 인스턴스 안뜬줄도 모르고 쿼리 입력했는데 에러발생 ORA-01034: ORACLE not available이 보인다 -> 이것도 db가 꺼져 있는 상태라는 의미.. -> 이 상태에서 "startup" 시도 했는데 새로운 에러가 보인다. ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated ORA-07286: sksagdi: cannot obtain device information. 이제사 문제가 뭔지 더 ..
ORACLE data pump (expdp, impdp) 에러 해결 zip 테이블 단위 백업 expdp / impdp 샘플 코드는 expdp 로그인할db계정아이디/패스워드 directory=디렉토리명 tables=백업할테이블 dumpfile=백업파일명지정 logfile=로그파일명지정 impdp 로그인할db계정아이디/패스워드 directory=백업파일이있는디렉토리명 tables=백업할테이블 dumpfile=백업할파일 logfile=로그파일명지정 이런식. 스키마를 다른 스키마로 한다거나, 테이블스페이스를 다른 스페이스로 바꿔서 할 수 있는 옵션들도 있음. exp 할 때 맞닥트린 첫 에러 ora-39002, ora-39070, ora-39087 요 세개는 지금 로그인 한 유저가 지정된 directory에 대한 권한이 없어서 발생하는 에러 세트임 (디비 내 해당 디렉토리는 이미 존재 ..
ORACLE 정적 리스너 설정시 에러 해결법 맥 환경이라 oracle을 docker에 띄어둔 상황 docker os는 linux다. 리스너를 구성하고 돌렸더니 첫번째로 뜬 에러 start 하면 TNS-01192가 뜬다. 알고보니 정적리스너 만들려고 SID태그?에 SID_DESCRIPTION 지정했는데, 태그를 SID_LIST_LISTENER 태그로 감싸주지 않아서, 정적 리스너 설정값으로 인식이 안된 상황. SID_LIST_LISTENER 로 감싸주고 나서 (여기서 마지막 단어인 LISTENER는 listener.ora 파일 내부에 정적리스너로 지정할 listener 이름이 와야함) TNS-01192는 해결 완 두번째로 뜬 에러는 TNS-01201 : listener cannot find executable /.../... for SID '...'..
MySQL 시간 -9:00 출력될때 설정 바꾸는 법 회사 다닐 적 mysql 때문에 고생 많이 했는데 (물론 dbms 자체 보단 sql 튜닝이 해결 방법이였지만,) 하나도 기록을 안했길래 기록해두려고 오랜만에 블로그 킴. 운영 시작하기 직전에 개발 화면에 고객 결제 시간이 이상하게 보이는걸 발견. 물론 랜덤 시간으로 돌릴 순 있지만 개발계 데이터도 실 데이터에서 패턴 적용할 몇 중요 데이터만 빼고는 그대로 들고 들어오니까 결제 시간은 실 데이터랑 같은데 결제 시간이 다 새벽 시간대였다. 검색 해보니 MySQL은 타임존 설정을 해주어야 한다는 것. UTC 시간대로 출력되고 있었던 것이다. 기존 타임존을 확인하려면 하단 쿼리로 기존 시스템 설정 타임존을 확인 할 수 있다. select @@global.time_zone, @@system_time_zone, @..
[개념정리] MSSQL VS ORACLE MSSQL VS ORACLE 0. 공통점 : 두 벤더사 모두 대용량 RDBMS 1. MSSQL 서버가 윈도우일경우 주로 사용 서버 하나에 여러(멀티)데이터 베이스 생성 가능 데이터 타입 ex) tinyint, smallint, int, bigint...datetime T-SQL(트랜잭션) -각 sql 명령이 자동 커밋되는 구조 2. ORACLE 서버 하나에 데이터 베이스 1개인 구조 데이터 타입 ex) Number, Date PL/SQL(프로시져) -처리 단위마다 명시적 commit이전엔 어떤 트랜잭션도 자동으로 커밋되지 않음 (MSSQL 보다개발자, DBA에게 트랜잭션 처리 책임이 더 요구되는)
[개념_퀴즈] 1-2 데이터 모델과 SQL 괄호 빈칸으로 만들어 풀어볼 것 정규화 제1 정규형 : 모든 속성은 반드시 ( 하나의 ) 값을 가져야 한다. 중복속성 분리, 로우 단위(전화번호 속성의 한 행에 여러 번호), 컬럼 단위(같은 의미의 컬럼이 한 테이블에 여러개) 중복도 1차 정규화의 대상. 제2 정규형 : 엔터티의 일반속성은 ( 주식별자 ) 전체에 ( 종속적 ) 이어야 한다. 함수 종속성은 데이터들이 어떤 기준값에 의해 종속되는 현상. 기준값을 ( 결정자 )라 하고 종속되는 값을 ( 종속자 )라 한다. 식별자 전체가 아닌 일부에만 종속적일 때 ( 부분종속 )라 한다. 제3 정규형 : 엔터티의 ( 일반속성 ) 간에는 서로 종속적이지 않는다. 반정규화는 성능을 위해 ( 데이터 중복 )을 허용. 조회 성능의 향상 대신 DML 성능이 저하 될 수..
[개념_퀴즈] 1-1 데이터 모델링의 이해 SQL 전문가 가이드 1과목 1장 정리 P.18 데이터 모델링 유의점 3가지 ( )( )( ) ( ) 을 유의해서 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 한다. 사소한 업무변화에 데이터 모델을 변경하지 않도록, 데이터 정의를 사용 프로세스와 분리함으로써 프로세스의 작은 변화가 데이터베이스에 중대 변화를 일으키지 않도록 ( )을 유의한다. 다른 데이터와 모순될 수 있다는 가능성을 배제한 체 데이터를 수정할 경우 연관된 데이터 사이에 ( )이 발생한다. 데이터 간 상호 연관 관계에 대한 명확한 정의는 이러한 위험을 사전에 예방할 수 있게 한다. 데이터 모델링의 3단계 진행 추상화 수준에 따라 ( )( )( )로 정리 ( )은 추상화 수준이 높고 업무 중심적, 포괄적 수준의 모델링. 엔터티 중심..
[개념 정리] 조인 튜닝 - 서브 쿼리 조인 쿼리 변환 옵티마이저는 SQL을 최적화에 유리한 형태로 변환, SQL을 의미적으로는 동일 하면서도 더 나은 성능이 기대되는 형태로 재작성 쿼리 블록 단위로(select 절 단위로) 최적화 수행 - 메인쿼리와 서브쿼리를 각각 최적화 하는 형식 -> 서브커리를 독립적으로 최적화 하는 작업이 전체 쿼리 실행에는 부조화 일 수도. 서브쿼리 조인 필터 오퍼레이션(중첩 서브쿼리-exists 해당) NL조인과 동일 처리 루틴(NL 처럼 부분 범위 처리도 가능) NL조인과 차이 메인쿼리 결과 집합이 서브쿼리쪽 집합 수준으로 확장되는 것을 방지하도록, 메인쿼리의 row가 서브쿼리의 한 row 와 조인에 성공하는 순간 진행 멈추고, 메인쿼리 다음 row 계속 처리. (Exists조건절일 때만 이겠지?) 캐싱 기능 : 쿼리..