Database 26

[Oracle] ORA-12899: value too large for column

ORA-12899: value too large for column ORA-12899: "유저명"."테이블명"."컬럼명" 열에 대한 값이 너무 큼 (실제: 5, 최대값: 3) 위의 에러는 컬럼에 정의된 길이보다 큰 문자열을 입력하려할 때 발생하는 에러 입니다. 아래의 커리문처럼 NAME 이라는 컬럼에 NCHAR(3) 로 정의해주었으나, 3글자가 아닌 5글자를 입력하여 정의해준 문자열의 수 보다 많이 입력될 때에 발생 하기 때문에 NCHAR(3)를 NCHAR(5)와 같이 수정해주면 에러가 해결됩니다. - 수정 전 쿼리 중 문제가 된 부분 "MEMBERNAME" NCHAR(3) NOT NULL ENABLE - 수정 후 "MEMBERNAME" NCHAR(5) NOT NULL ENABLE 간혹 DB의 데이터 이..

Database/Oracle 2019.11.12

[Oracle] ORA-01722: 수치가 부적합합니다

"ORA-01722: 수치가 부적합합니다" 에러는 데이터 유형에 대한 에러 입니다. 1. 데이터 유형에 맞지 않는 값을 입력 (ex. NUMBER에 한글을 입력하려고 하는 경우 등) 2. 다른 데이터 유형끼리의 연산 (ex. 숫자와 한글을 연산 하려는 경우 등) 위의 예시처럼 테이블 생성 시 데이터 유형을 잘못 입력하여 한글을 입력해야하지만 NUMBER로 생성 하였다던가, 어떠한 값을 원하여 연산식을 짯는데 숫자와 한글을 빼거나 더하려는 식을 사용할 경우 발생 할 수 있습니다. ORA-01722 에러가 발생할 경우 쿼리문에서 연산식이나, 데이터 유형을 사용하는 부분을 자세히 확인할 필요가 있습니다.

Database/Oracle 2019.11.12

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

오라클 계정 생성 시 아래 사진처럼 "ORA-65096: 공통 사용자 또는 롤 이름이 부적합 합니다." 또는 "ORA-65096: invalid common user or role name" 에러가 발생하는것을 쉽게 볼 수 있습니다. 오라클이 12c로 넘어가면서 계정 생성을 할 때, 아래의 SQL문처럼 계정명 앞에 C##을 붙여줘야 공통 사용자 생성이 가능 합니다. CREATE USER "C##asdf" IDENTIFIED BY "1234"; 계정 생성할때마다 C##을 붙여주기 귀찮다면 아래 쿼리를 사용하시면 됩니다. ALTER SESSION SET "_ORACLE_SCRIPT"=true;

Database/Oracle 2019.11.12

[Oracle] Express Edition (XE) 18c 설치

오라클의 Express Edition은 무료 버전 인만큼 성능에는 한계가 있지만, 학습용으로 사용하기 좋습니다. 설치는 아래 링크에서 진행 하시면 되지만, 회원가입이 필요하니 회원가입 후 로그인하셔서 다운로드 하시면 됩니다. 설치 방법은 설치 중 계정 패스워드 설정만 하면 되고 next만 누르면 되어 어려운점이 없으니 생략하겠습니다. Oracle Express Edition (XE) 18c : https://www.oracle.com/database/technologies/xe-downloads.html

Database/Oracle 2019.11.12

[Oracle] Express Edition 18c HR 스키마(계정) 생성&설치

Oracle 18c 설치 후 HR 샘플 스키마를 UNLOCK하며 패스워드를 부여할 경우 아래와 같이 계정이 존재하지 않아 에러가 발생합니다. SQL PLUS 에서 아래 명령어를 사용하여 HR 스키마를 설치해야 하기 때문에, 아래 명령어를 따라서 타이핑 해주세요. SQL> ALTER SESSION SET "_ORACLE_SCRIPT"=true; SQL> @?/demo/schema/human_resources/hr_main.sql specify password for HR as parameter 1: Enter value for 1: hr specify default tablespace for HR as parameter 2: Enter value for 2: users specify temporary ta..

Database/Oracle 2019.11.12