본문 바로가기
Data & Programming/Oracle

[오라클-오류] ORA-01756: 사용자 정의 데이터 유형이 잘못되었습니다.

by 눈부셔™ 2023. 7. 15.
728x90

 

[Oracle-오류] ORA-01756: 사용자 정의 데이터 유형이 잘못되었습니다.

 

오라클오류 ora-01756

■ 원인
ORA-01756 오류가 발생하는 주요 원인은 다음과 같습니다:
  ▶ 너무 긴 식별자: 데이터베이스 객체의 이름이 Oracle의 식별자 제한을 초과하면 오류가 발생합니다. Oracle에서는 객체 이름에 최대 길이 제한이 있으며, 이를 초과할 경우 ORA-01756 오류가 발생합니다.
  ▶ 잘못된 식별자 형식: 식별자는 특정 형식을 따라야 합니다. 예를 들어, 대소문자, 숫자, 밑줄(_)로 구성되어야 하며, 특정 규칙을 따라야 합니다. 잘못된 식별자 형식을 사용할 경우 ORA-01756 오류가 발생할 수 있습니다.

 

 

■ 예제
아래는 ORA-01756 오류가 발생할 수 있는 몇 가지 예제입니다:

  ▶ 예제 1: 너무 긴 식별자

CREATE TABLE my_long_table_name_with_very_long_identifier (
  column1 NUMBER,
  column2 VARCHAR2(50)
);

위의 예제에서는 테이블 이름이 "my_long_table_name_with_very_long_identifier"로 지정되었습니다. 그러나 이 식별자가 Oracle의 식별자 길이 제한을 초과하면 ORA-01756 오류가 발생합니다.

[참고] 오라클 버전별로 식별자(Identifier) 길이 제한은 다음과 같습니다:

- Oracle 9i: 30자
Oracle 10g: 30자
Oracle 11g: 30자
Oracle 12c: 30자
Oracle 18c: 128자
Oracle 19c: 128자
Oracle 21c: 128자
오라클 9i부터 12c까지의 버전에서는 식별자 길이 제한이 30자입니다. 
그러나 오라클 18c부터 최신 버전인 오라클 21c까지는 식별자 길이 제한이 128자로 증가되었습니다. 
이는 테이블, 열, 제약 조건 등의 데이터베이스 객체 이름에 해당하는 식별자를 의미합니다.

  ▶ 예제 2: 잘못된 식별자 형식

CREATE TABLE 123_table (
  column1 NUMBER,
  column2 VARCHAR2(50)
);

위의 예제에서는 테이블 이름이 "123_table"로 시작합니다. 그러나 식별자는 숫자로 시작할 수 없으며, 특정 규칙을 따라야 합니다. 잘못된 식별자 형식을 사용하면 ORA-01756 오류가 발생합니다.

 

■ 해결 방법
ORA-01756 오류를 해결하기 위해 다음과 같은 조치를 취할 수 있습니다:

식별자 길이 제한 확인: 데이터베이스 객체의 이름을 지정할 때, Oracle의 식별자 길이 제한을 확인해야 합니다. 식별자 길이를 제한하거나, 보다 간결한 이름을 사용하도록 합니다.
올바른 식별자 형식 사용: 식별자는 대소문자, 숫자, 밑줄(_)로 구성되어야 하며, 특정 규칙을 따라야 합니다. 올바른 식별자 형식을 사용하도록 합니다.

 

 

ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes ORA-06512

 

[오류] ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes ORA-06512: "SYS.DBMS_OUTPUT"

당행의 코어뱅킹은 정책상 오라클 프로시저를 제한하고 있으나, 오래전 위성시스템에서 프로시저를 돌릴때, 발생했던 오류 이다. ■ 문제발생 : ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes ORA-

nunbu.tistory.com

 

728x90