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 [情報] データベース P0000083979 T0000000000000083979 libpmem のロードに失敗しました

検査した結果、そのような libpmen ファイルは実際には存在しません。最初は、使用したインストール パッケージに問題があるのではないかと思いましたが、後で問題の原因が権限の問題であることがわかりました。インストール ディレクトリ /home/dmdba/dmdbms/ にジャンプし、ls:ファイル グループを実行します。インストール ディレクトリ全体は、一般的な Linux 環境にある必要があります: dmdma dinstall 

 

コマンドchown dmdba:dinstall -R ./*フォルダー全体の属性グループを変更すると、データ ディレクトリの属性グループが dmdba ではなく root であることがわかります。

 

データディレクトリのグループを dmdba dinstall に変更すると、サービスが正常に起動できることがわかります。

このような問題が発生する理由は、データベース インスタンスの初期化時にデータベース インスタンス ディレクトリを指定する必要があるときに /home/dmdba/dmdbms/data/DAMENG/dm.ini が指定され、./dminit ツールが root によって実行されるためです。ツールの初期化は成功しましたが、データ ディレクトリは root ユーザーによって生成され、権限の問題が残ります。

 

  • 一般的な Linux 環境では、データベース関連のコマンドを扱う場合は、 su - dmdba 以降に操作するのが最適です。

おすすめ

転載: blog.csdn.net/yeyuningzi/article/details/130769630