Kylin Principal 운영 체제에 설치된 Dameng 데이터베이스는 ./DmServiceDMSERVER로 처리하여 데이터베이스 인스턴스 서비스를 시작할 수 없습니다.

문제는 다음과 같습니다.

 그러나 ./dmserver path=xxx/dm.ini를 통해 정상적으로 시작할 수 있습니다.

로그를 확인하고 생성된 로그가 있는지 확인합니다: /home/dmdba/dmdbms/log/dm_unknown_yyyymm.log. 로그 내용은 다음과 같습니다.

libpmem.so, libpmem.so 로드 실패: 공유 개체 파일을 열 수 없음: 해당 파일 또는 디렉터리 없음

2023-05-19 19:16:17.546 [INFO] 데이터베이스 P0000083979 T0000000000000083979 libpmem 로드 실패

검사 후 실제로 그러한 libpmen 파일이 없습니다. 처음에는 사용하는 설치 패키지 의 문제인 줄 알았는데 나중에 보니 문제의 원인이 권한 문제인 것을 알게 되었습니다 . 전체 설치 디렉토리는 일반 Linux 환경에 있어야 합니다: dmdma dinstall 

 

다음 명령으로 데이터 디렉토리의 속성 그룹이 dmdba가 아닌 루트임을 확인할 수 있습니다. chown dmdba:dinstall -R ./* 전체 폴더의 속성 그룹 변경:

 

데이터 디렉토리의 그룹을 dmdba dinstall 로 변경한 후 정상적으로 서비스를 시작할 수 있음을 알 수 있다 .

이러한 문제가 발생하는 이유는 데이터베이스 인스턴스 초기화 시 데이터베이스 인스턴스 디렉터리를 지정해야 할 때 /home/dmdba/dmdbms/data/DAMENG/dm.ini를 지정하고 ./dminit 도구를 루트에서 실행하기 때문입니다. 도구가 초기화에 성공했지만 루트 사용자가 데이터 디렉토리를 생성하므로 권한 문제가 남습니다.

 

  • 일반적인 리눅스 환경에서는 데이터베이스 관련 명령어를 다룰 때 su - dmdba 이후에 동작하는 것이 가장 좋다.

Supongo que te gusta

Origin blog.csdn.net/yeyuningzi/article/details/130769630
Recomendado
Clasificación