본문 바로가기

memo/몰랐던 것

ORACLE 설치, 계정 추가, 샘플 추가, ORA-02000, ORA-01935, ORA-65096, ORA-01843

하염없이 부족한 부분을 채우고자...

내 PC에 SQL Developer, DB를 세팅하고 두들겨 보기로 했다.

 

https://www.oracle.com/downloads/ 접속 후

- Developer Tools > SQL Developer > Windows 64-bit with JDK 8 included로 SQL Developer 다운
(로그인 필요)

- Database > 대충 여러 개 중 Express Edition 들어간 것 > 윈도우용으로 다운

(로그인 필요)

 

이렇게 두 개 받고 설치 진행.

 

cmd > sqlplus 접속후

system / Database설치 중 내가 설정한 비번

으로 접속

 

사용자 계정 하나 만들고 권한 grant 이후

샘플 데이터 받아서 CREATE&INSERT 하려는데 자꾸 

오류 : ORA-02000: missing ALWAYS keyword

에러 남ㅠ 뭔가 버전 문제 같아서 기 설치한 11g 지우고 18c로 다시 받음ㅠ

 

18c설치 후
cmd > sqlplus 접속 후 11g에서 했던 것처럼 다시
create user 유저 이름 identified by 비번;

이때 유저명, 비번을 싱글 쿼테이션으로 감싸면

ORA-01935: 누락된 사용자 혹은 롤 이름 에러..

 

ㅎ,, 싱글 쿼테이션 빼고 다시 해도 에러

ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다.

 

12c 이후부터는 계정 이름 앞에 c##을 붙여야 된다네,,

 

SQL developer에서 접속할 때도 앞에 c##붙여야 접속됨.

 

CREATE USER c##유저 IDENTIFIED BY 0000; 유저생성

grant connect, resource, dba to c##유저; 권한 부여

까지 완료.


오라클 튜토리얼 사이트

www.oracletutorial.com/getting-started/oracle-sample-database/
에서 샘플 sql 다운 받고

1. ot_schema 파일을 열어 f5 버튼으로 스키마 생성
2. ot_data 파일을 열어 스크립트 내용 중 'OT.'을 모두 빈칸으로 바꾸고(나는 OT계정으로 만들지 않았으니) F5로 실행

 

대충 데이터는 들어간 것 같은데 확인해보니 employees, orders 테이블에는 데이터가 없다.


employees 테이블에 INSERT 에러 난 부분은
to_date('26-OCT-16','DD-MON-RR')
ORA-01843: 지정한 월이 부적합합니다.
>> 뭔가 포맷이 맞지 않은 느낌?

숨쉬기와 같은 구글링

(출처 : https://moonslife.tistory.com/entry/ORA-01843-지정한-월이-부적합합니다-라는-오류메세지 [impossible is nothing])

 

DATA 타입은 영문 기준이지만 현재 설정이 국문이어서 오류.
('28-JUN-2020' != '28-6월 -2020')

alter session set nls_language='AMERICAN';
로 언어 셋 해주고
ot_data 스크립트 중 employees, orders 다시 돌려주니 데이터가 들어감!


드디어 뽀짝하게 select 정도 날려볼 수 있는 수준을 세팅함..ㅠㅠㅠ
회사에선.. 증말 쉬운 db접근인데
집에서 세팅이 이렇게 오래 걸릴 일이었을까? 학부생 때도 안 이랬던 것 같은데 ^_ㅠ

'memo > 몰랐던 것' 카테고리의 다른 글

백준 알고리즘 런타임 에러  (4641) 2020.06.25