반응형

OS version : Rocky Linux release 9.3 (Blue Onyx)

 

sqlplus 를 사용하는 도중 나온 에러이다.

[abc@hostname instantclient_12_2]$ ./sqlplus 
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

[abc@hostname instantclient_12_2]$ ./sqlplus 
Segmentation fault (core dumped)

 

원인 : ORACLE_HOME 을 못찾는다.

 

그래서 ORACLE_HOME 을 보았다.

[abc@hostname ~]$ echo $ORACLE_HOME
/home/abc/oracle_client/instantclient_12_2

ORACLE_HOME을 .bash_profile 에 잘 설정해 놓았다.

그런데 왜 안될까를 확인해보았다.

 

본인의 환경에 따라 다를꺼같다.

필자는 아래 파일을 $ORACLE_HOME에다가 풀었다.

  • instantclient-basic-linux.x64-12.2.0.1.0.zip

그리고 .bash_profile 이다.

export ORACLE_HOME=/home/abc/oracle_client/instantclient_12_2
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME:$ORACLE_HOME/bin:$PATH
export NLS_LANG=KOREAN_KOREA.AL32UTF8
export TNS_ADMIN=/home/abc/oracle_client

필자는 LD_LIBRARY_PATH 에 lib 로 설정을 해놓았다.

LD_LIBRARY_PATH 에 .so 파일을 참조하는데 이 .so 파일은

oracle client 를 설치할 때 instantclient-basic-linux.x64-12.2.0.1.0.zip 이 파일에 있다.

 

이 파일을 $ORACLE_HOME/lib 디렉토리 밑에다가 풀던지

아니면 LD_LIBRARY_PATH에 $ORACLE_HOME을 추가하던지 하면 된다.

이후 sqlplus 를 실행하면 잘 작동할 것이다.

 

밑에 stackoverflow 를 참고하였다.

https://stackoverflow.com/questions/6013508/error-6-initializing-sqlplus

 

Error 6 Initializing SQL*Plus

When i open sqlplus it shows Error 6 Initializing SQL*Plus Message file sp1<Lang>.msb not found SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

stackoverflow.com

 

요약 :  *.so 파일들이 LD_LIBRARY_PATH 에 있는지 확인해라.

반응형

'에러 > Oracle' 카테고리의 다른 글

[Oracle Pro*C Error] build error  (0) 2024.03.04
[sqlplus] -bash : event not found  (0) 2024.02.22
반응형

sqlite 설치 환경

linux version : Rocky Linux release 8.7 (Green Obsidian)

kernel version : 4.18.0-425.10.1.el8_7.x86_64

 

sqlite 를 처음 설치하고, 테스트하려고 테스트 명령어를 날려봤다.

sqlite3 test.db

sqlite3 test.db 라는 명령어를 처음 수행하였으나, error 가 발생하였다. 

$ sqlite3 test
sqlite3: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by sqlite3)
sqlite3: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by sqlite3)
sqlite3: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by sqlite3)

 

일단 내가 해석해보자면, sqlite3 를 사용할때 필요한 library 들 中 libm.so.6 과 libc.so.6 라이브러리에 GLIBC_2.29, 2.33, 2.34 버전을 찾을 수 없다는 에러 메시지인거 같다.

 

우선 ldd 명령어로 라이브러리 의존성을 확인했다.

./sqlite3: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by ./sqlite3)
	linux-vdso.so.1 (0x00007ffc239c9000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f0c4cc00000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f0c4c9e8000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f0c4c622000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f0c4cf82000)

libm.so.6, libc.so.6 이 버젓이 있다.

결국 라이브러리를 업데이트를 해줘야할것같다.

 

google에 "version glibc_2.29' not found centos" 로 검색해보았다.

참고 : https://www.deok.me/entry/CentOS-6x-%EC%97%90%EC%84%9C-version-GLIBC214-not-found-%EC%97%90%EB%9F%AC%EA%B0%80-%EB%B0%9C%EC%83%9D%ED%95%A0%EB%95%8C

 

CentOS 6.x 에서 version 'GLIBC_2.14' not found 에러가 발생할때

CentOS 6.x 에서 version 'GLIBC_2.14' not found 와 같이 에러가 날 경우 처리 방법 입니다. 제 경우 docker-compose 를 사용하려는데 아래와 같이 에러가 나네요. $ docker-compose -v docker-compose: /lib64/libc.so.6: version `

www.deok.me

 

결국 위의 블로그를 참고해 없는 버전에 대해 glibc 를 직접 받아주었다.

나는 2.29, 2.33, 2.34 버전이 없다고 했으니 받아보았다.

linux 서버이니까 다운받아서 filezilla는 번거로우니 wget 으로 설치해보겠다.

wget https://ftp.gnu.org/gnu/glibc/glibc-2.29.tar.gz
wget https://ftp.gnu.org/gnu/glibc/glibc-2.33.tar.gz
wget https://ftp.gnu.org/gnu/glibc/glibc-2.34.tar.gz

 

압축 푼 뒤 설치하였다.

 $ tar zxvf glibc-2.29.tar.gz
 $ cd glibc-2.29
 $ mkdir build; cd build;
 $ ../configure --prefix=/opt/glibc-2.29
 $ make -j4
 $ sudo make install
 $ export LD_LIBRARY_PATH=/opt/glibc-2.29/lib

LD_LIBRARY_PATH 는 재로그인하면 셋팅이 안될꺼기 때문에

.bash_profile 에 아래와 같이 저장하였다.

export LD_LIBRARY_PATH=/opt/glibc-2.29/lib:$LD_LIBRARY_PATH

 

저장 후에 다시 sqlite3 testdb 를 날려보았다.

결과는?? 똑같았다.... 무엇이 문제인가 생각해보니 /lib64 에 있던 libm.so.6이 링크였고, libm.so-2.28을 물고있어서 링크를 교체해 주었다.

# libm.so.6 이 있는 위치로 이동
cd /lib64
# 기존 링크 삭제
sudo rm libm.so.6
# 삭제후 재 2-29 버전의 libm 으로 교체
sudo ln -s /opt/glibc-2.29/lib/libm-29.so libm.so.6

 

libc.so.6 같은경우는 조심해야한다... 링크 삭제시에 기본 명령어들을 사용할수없다.

 

이후 sqlite 재실행 해보았다.

$ sqlite3 testdb
sqlite3: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by sqlite3)
sqlite3: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by sqlite3)

드디어 2.29 버전은 사라졌다!!

2.33 과 2.34를 이제 나머지 셋팅을 해주어야하는데 libc.so.6은 다른 방법이 있는 것 같다...

 

반응형
반응형

notion 에서 memaid 작성 시에 짤리는 현상이 있다.

위와 같이 밑에부분이 짤리는 현상이 있다.

그럴때는 해당 영역에 `` 를 붙혀주면 된다.

func_2 부분에 " " 안에 `` 를 넣어 표시해주니 바뀐 것을 알 수 있다.

반응형
반응형

ssd mount  도중나온 error 메세지

mount: /datfs: unknown filesystem type 'ntfs'.

 

ntfs 의 파일시스템 타입이 없다...

당연히 nfs 를 설치를 안하여 나오는 현상이였으나 순간 당황하였다...

 

nfs 를 설치를 하자!!

아래와 같이 설치하면 된다.

# 확인 명령어
rpm -qa | grep nfs

# 결과값이 없을 경우 설치
# 아래 명령어로 설치할수있는 패키지 확인
yum search nfs 

# 그 중에 nfs-utils.x86_64 설치 (nfs-util을 설치하면 된다. 그 뒤는 각자 설정에 따라)
yum install -y nfs-utils.x86_64

이후 mount 시 정상작동 된다!! 

반응형

+ Recent posts