[DB/Tibero] JDBC-8026:Invalid identifier 에러

IT_Engineer/Data Base|2020. 12. 22. 12:58
728x90

DB 작업을 하다가 y 컬럼만 조회하고 싶어서

 

SELECT y
FROM DATA_TABLE ;

 

라고 했는데 뜨는  " JDBC - 8026 : Invalid indentifier. at line 1, column 9 osfg null: SELECT y  ^ " 에러

 

찾아보니 컬럼 앞 뒤로 " " 표시를 해주었어야 했는데, 혹시나 나같은 경우가 있을까해서 정리한다.

 

" SQL 명령문 안에 적은 컬럼명과 실제 데이터 베이스 내 컬럼명이 다른 경우 발생(부적합한 식별자)하는 에러 "

 

> 해결방법 

 1) 해당 컬럼이 존재하는 지 확인

 2) 컬럼명 오타 확인 ( " " 로 묶인 경우는 대소문자도 구분)

 3) 컬럼명을 " " 혹은 ' ' 으로 감싸보기

   - 작은 따옴표(' ') : 값으로 취급 / 큰 따옴표 (" ") : 따옴표 내 그대로 문자 이름으로 처리

 4) 컬럼명에 첫 글자로 숫자 사용 혹은 특수 문자(기호) 를 사용하고 있는지 확인 → 수정

 5) 컬럼명에 Oracle 예약어를 사용하고 있는지 확인 → 수정

 

-- 수정 후

SELECT "y"
FROM data
;

 

이런 사소한 실수는 적어놓아야 시간을 아끼고, 다시 같은 실수를 안할 수 있다. ㅎㅎ

 

728x90

댓글()

[Tibero] 티베로 설치 및 DB 생성 예시

IT_Engineer/Data Base|2020. 10. 28. 09:00
728x90

! 기초 구축 환경

 - VM 접속 정보 : CentOS 7 64bit VM 사용

 

! 구축 내용

  1. Tibero 데모 라이선스 발급
  2. 준비된 VM 환경에서 CentOS 기반으로 Tibero 설치 및 테스트

1. Tibero Binary 다운로드 및 Technet (테크넷) 데모 라이선스 발급

! TechNet 에서 Tibero Binary 다운로드

  • TechNet 가입 및 로그인 (https://technet.tmaxsoft.com/)
  • TechNet > 다운로드 > 데이터베이스 > Tibero > Tibero6
  • Tibero6 > 다운로드 > Linux > Linux(x86) 64-bit > 463.08MB 크기 파일 다운로드

TechNet 바이너리 다운로드 화면

 

다운로드 버튼 클릭 클릭!!
linux64(tibero6-bin-FS07_CS_19-12-linux-64~.tar.gz) tar파일 다운로드

 

! 데모 라이선스 발급

  • HostName은 커널에서 uname n 명령어 확인 후 동일하게 작성
  • 제출하기 클릭 후 메일확인하여 첨부파일 xml
  • 파일질라를 통해 디렉토리 license로 보내기

TechNet 홈페이지 화면에서 데모 라이선스 신청 고고!
데모라이선스 발급 신청서 작성 후 제출


2. Tibero6 설치를 위한 환경 설정

! JDK 5.0 이상 설치

  • 설치 가능 확인 및 1.8버전 설치
# 설치 가능 리스트 확인
yum list java*jdk-devel 

# 
위 리스트 중 1.8.0 버전 설치
yum install java-1.8.0-openjdk-devel.x86_64 

# jdk 설치 확인 
rpm
qa java*jdk-devel 

# 설치된 버전 확인 ( 제대로 설치 되었다면, javac 1.8.0_101 라고 뜸)
javac
version 

! 커널 파라미터 설정

  • Linux 커널 파라미터 설정

  • kernel parameter 동적 변경 > kernel이 살아있는 동안만 변경 (일시적)

 

 

#커널 파라미너 확인
sysctl
확인 변경
sysctl -a | grep sem sysctl -w kernel.sem="10000 32000 10000 10000"
sysctl -a | grep shmmax sysctl -w kernel.shmmax=4090912768
sysctl -a | grep file-max sysctl -w fs.file-max=65536
sysctl -a | grep shmall sysctl -w kernel.shmall=2097152
sysctl -a | grep shmmni sysctl w kernel.shmmni=4096 #물리 메모리의 1/2
sysctl-a | grep ip_local_port_range sysctl-w net.ipv4.ip_local_port_range =“1024 65000”

 

  • 이후 nomount 모드로 변경할 때, kernel parameterVM 환경이 맞아야 동작
    ( top 명령어로 환경 확인해서 kernel.shmmni 를 물리 메모리의 1/2로 맞추기!)
  • kernel parameter 정적 변경 > 영구적인 변경
#시스템 환경파일을 vi 에디터로 편집
vi /etc/sysctl.conf

#kernel parameter 항목을 sysctl.conf 파일에 추가
#kernel.shmmax 값은 free kb로 확인한 memtotal 값의 1/2로 설정
fs.file-max = 65536kernel.sem = 10000 32000 10000 10000kernel.shmmax = 4090912768

#sysctl.conf
에 추가한 후 sysctl p 명령으로 동적 적용 가능

 

3. 호스트명/ 포트/ 계정 설정

! 호스트명과 포트 번호, 시스템 계정 확인

  • 라이선스를 요청할 때
uname n # 호스트 명 확인 > tibero6 라이선스 발급 시 필요!

 

  • 포트 번호 : Tibero 가 가동할 때 부여될 포트 번호 확인

 

  • 그룹 및 사용자 생성
groupadd dba #dba 이름의 그룹 추가
useradd md /home/tibero6 g dba p tibero s /bin/bash tibero6
# 기본 디렉토리를 /home/tibero6로 만들고(-md), dba그룹의(-g),
tibero라는 비밀번호로(-p), /bin/bash(-s) tibero6(맨 마지막)라는 사용자 생성

 

  • 사용자 환경변수 설정
    - 사용자 계정 홈 디렉토리에 있는 환경 파일 수정
# tibero6 계정으로 접속
su
tibero6 

 # 디렉토리 내 파일 확인
ls
al


# bash shell일 경우 .bash_profile로 환경파일 수정
# ---- vi.bash_profile 하단부터 #bash_profile 적용 전까지 수정 내용 -----

vi .bash_profile 


### JAVA ENV ###
export JAVA_HOME=/usr/java6
export JDK_HOME=$JAVA_HOME
export PATH=$JAVA_HOME/bin:/usr/local/bin:$PATH

######## TIBERO ENV ########
export TB_HOME=/home/tibero6/tibero6
export TB_SID=t6
export TB_PROF_DIR=$TB_HOME/bin/prof
export PATH=.:$TB_HOME/bin:$TB_HOME/client/bin:~/tbinary/monitor:$PATH
export LD_LIBRARY_PATH=$TB_HOME/lib:$TB_HOME/client/lib:$LD_LIBRARY_PATH
export SHLIB_PATH=$LD_LIBRARY_PATH:$SHLIB_PATH
export LIBPATH=$LD_LIBRARY_PATH:$LIBPATH

######## TIBERO alias ######## (alias는 안해도 됨!)
alias tbhome='cd $TB_HOME'
alias tbbin='cd $TB_HOME/bin'
alias tblog='cd $TB_HOME/instance/$TB_SID/log'
alias tbcfg='cd $TB_HOME/config'
alias tbcfgv='vi $TB_HOME/config/$TB_SID.tip'
alias tbcli='cd ${TB_HOME}/client/config'
alias tbcliv='vi ${TB_HOME}/client/config/tbdsn.tbr'
alias tbcliv='vi ${TB_HOME}/client/config/tbnet_alias.tbr'
alias tbdata='cd $TB_HOME/tbdata'
alias tbi='cd ~/tbinary'
alias clean='tbdown clean'
alias dba='tbsql sys/tibero'
alias tm='cd ~/tbinary/monitor;monitor;cd -'


# bash_profile 적용
. .bash_profile 

#티베로 계정으로 접속

echo $TB_HOME 

 

! Tibero Binary 업로드 및 설치

  • FileZilla를 통한 이동

 

  • shell에서 tibero6 디렉토리 접속 후 알집 풀기
# home/tibero6 디렉토리에 접속
cd /home/tibero6 

#알집 풀기
tar
xvzf tibero6-bin-FS07_CS_1912-linux64-174424-opt.tar.gz

 

  • License xml파일 업로드
    - hostname에 맞는 license.xml 파일을 발급 후 $TB_HOME/license 디렉토리 생성 후 FileZilla를 통한 이동

 

! 초기 환경파일 생성

  • $TB_SID.tip 파일 생성: Tibero 파라미터 파일
  • tbdsn.tbr 파일 생성 : Tibero Client 접속 설정 파일
  • psm_commands 파일 생성 : psm compile을 위한 command 파일 생성
cd $TB_HOME/config
./gen_tip.sh

 

! Tibero 파라미터 파일($TB_HOME/config/$TB_SID.tip) 수정 _ 생략

  • exit > root 계정에서 free kb 명령어(물리 메모리 byte 단위로 보는 명령어) ,
  • 물리 메모리를 확인 후 위에 설정한 config 상태의 2배가 맞는지 확인

  • Memtotal 확인 : 8181825536 이므로 kernel.shmmax = 4090912768

4. Tibero 데이터베이스 생성

  • Tiberonomount 모드로 부팅 및 system 유저로 접속
tbboot nomount # nomount(Tibero의 프로세스만 기동하는 모드) 모드로 부팅
tbsql sys/tibero # sys 계정으로 (비밀번호 tibero)tbsql 접속
  • DataBase 생성 스크립트
SQL> CREATE DATABASE “t6"
        USER sys IDENTIFIED BY tibero
        MAXDATAFILES 256 CHARACTER SET MSWIN949 -- UTF8, EUCKR, ASCII
        LOGFILE
            GROUP 0 ('log01.log','log02.log') SIZE 10M,
            GROUP 1 ('log11.log','log12.log') SIZE 10M,
            
GROUP 2 ('log21.log','log22.log') SIZE 10M
        MAXLOGFILES 100
        
MAXLOGMEMBERS 8
        
NOARCHIVELOG
        
DATAFILE 'system001.dtf' SIZE 10M
            AUTOEXTEND ON NEXT 8M MAXSIZE 3G
        DEFAULT TEMPORARY TABLESPACE TEMP
            
TEMPFILE 'temp001.dtf' SIZE 10M
            
AUTOEXTEND ON NEXT 8M MAXSIZE 3G
            
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
        
UNDO TABLESPACE UNDO
            
DATAFILE 'undo001.dtf' SIZE 10M
            
AUTOEXTEND ON NEXT 8M MAXSIZE 3G
            
EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

 

  • Tibero 재가동
tbdown # Tibero instance terminated (NORMAL mode).라는 말이 나와야 함
tbboot # tibero 부팅

 

  • Data Dictionary System 패키지 생성
cd $TB_HOME/scripts
sh system.sh # 모든 사항은 y로 답

# 첫 번째 패스워드 : tibero , 두 번째 패스워드 : syscat
# 패스워드 입력없이 한 번에 실행하는 방법 :
# sh system.sh 실행 전에 system.sh 파일을 다음과 같이 수정


$ sh system.sh << EOF
> tibero

 

728x90

댓글()