Informixデータベースのファイル拡張子とは何ですか?

Informixデータベースのファイル拡張子とは何ですか?

クライアントからハードドライブのイメージファイルを受け取り、このファイルからデータベースを抽出したいと思います。クライアントは、イメージが生成されたサーバーにデータベースがインストールされていること以外に、どのような詳細も知りません。

Informix DBSがインストールされているUNIXシステムであることがわかりましたが、データベースファイルが見つかりませんでした。 Informixのバージョンが何であるかはわかりませんが、インストールされてから15年ほどかかったようです。

イメージから起動できません。ファイルだけ見ています。

informixデータベースファイルに拡張子がありますか?何ができたのか?データベースファイルを識別する方法に関する他のヒントはありますか?

答え1

ここには多くの質問があります。お客様の状況に応じて、重要な順番でご回答いたします。

  1. ハードドライブイメージからデータベースを抽出する私はあなたが実際のデータ、つまりさまざまなテーブル、その行と列などに興味があると思います。informix最新のデータベースシステムは、データをフラットファイルやASCII形式で保存しないため、実際にソフトウェア自体がなければほとんど不可能です。単一informixのインスタンスには多数のデータベースがあり、各データベースにはデータを含む多数のテーブルがあり、すべて独自のバイナリ形式で保存されます。単一のテーブルを分割して複数の「ファイル」に保存することも珍しくありません。そのため、データを含む関連ファイルを見つけても、すべてのデータを取得できない可能性があります。あなたが尋ねるべき質問は、この運動の究極の目標が何であるかです。

  2. ファイル名と拡張子のデータベースは、informix「空白」という用語で知られているストレージブロックファイル内にバイナリ形式で保存されますinformix。これらのファイルには拡張子が必要なく、ファイル名はユーザー(データベース管理者)によって指定されます。したがって、ユーザーが拡張子を指定した場合や指定しなかった可能性があります。

  3. ファイルの検索のヒント ファイルを検索する方法はいくつかあります。informixソフトウェアバイナリ/実行ファイルと設定ファイルの場所を決定することから始めます。インストールinformixディレクトリは技術的に$ INFORMIXDIRと呼ばれますinformix。ドライブからoninitまたはというバイナリファイルを検索しますonstat。このファイルはユーザーのルートまたはに所有する必要がありますinformix$INFORMIXDIR/bin今私たちは場所を知っています$INFORMIXDIR。行く$INFORMIXDIR/etc。ここにインスタンス設定ファイルがあります。設定ファイルは特定の名前や拡張子を持つ必要はありませんが、ファイル名をまたはonconfig同様にしておくのが一般的ですoncfg。また、forROOTNAMEおよび inside を介してROOTPATH設定$INFORMIXDIR/etcファイルとルートを見つけることもできます。dbspace: grep -rn 'ROOTNAME\|ROOTPATH' * ルートdbspaceは、システムデータベースが生成されるブロックファイルであり、ユーザーデータベースが生成されるデフォルトファイルでもあります(明示的に別のものに設定されていない場合)dbspace。プロフィールを確認したら、さらに深く掘り下げることができます。

答え2

Pradeepの答えを完成させるには、$INFORMIXDIR/etcが何であるかを見つけたら、onconfigファイルとoncfgファイルの2つのファイルが必要です。両方を混同しないでください。

onconfig は Informix データベース構成ファイルです。残念ながら、このファイルは何でも呼び出すことができます。通常、onconfig.DBSERVERNAMEと呼ばれます。このファイルには、DBSERVERNAME(インスタンスの識別名)とSERVERNUM(インスタンスの識別番号)の2つの構成があります。

oncfg_*.* ファイルには、インスタンスで使用される dbspace、ブロック、および論理ログに関する情報が含まれています。このファイルは、データベース内のdbspace、ブロック、およびログが変更されたときにデータベースインスタンスが初期化および更新されたときに生成されます。このファイルの命名規則はoncfg_DBSERVERNAME.SERVERNUMであり、従ってください。すべてのoncfg_ *に対してlsを実行すると、サーバー上のすべてのインスタンスの潜在的なリストが表示されます。

oncfg_*ファイルを含む特定のインスタンスのデータファイル(チャンク)を取得するには、次のコマンドを実行します。

grep "^Chunk " $INFORMIXDIR/etc/oncfg_DBSERVERNAME.SERVERNUM | awk '{ print $12 }'

このリストの最初のファイルは、上でPradeepが述べたROOTDBSです。

サーバーで実行されているインスタンスの構成ファイル(onconfigファイル)をインポートするには、次のようにします。

grep ^DBSERVERNAME * | grep DBSERVERNAME

これが役に立つことを願っています。 ^_^

PS DBSERVERNAME または SERVERNUM は環境変数ではないため、前に「$」を入れませんでした。これはonconfigファイルの構成パラメーターです。ファイルの実際の値に置き換えます。乾杯!

関連情報