1

バッチ スクリプトを使用してバイナリ ロードを介して 655 個のテーブルを、650 GB のハード ドライブに新しく作成されたデータベースにインポートしました。

Idxbuild はスレッドで実行されています。スレッドの最大数は 1 です。(13942) TMB 値は 8、TM 値は 8、SG 値は 48、パッキング係数は 100 です。(16141) 一時ソート ファイル: C:\Progress\ OpenEdge\bin は利用可能なディスク容量を使用します。(11443) システム エラー: エリア スキーマ エリア内でデータベースを拡張できません。(8897)

ドキュメントでこれに対する解決策が見つかりません。

Tom Bascom -- あなたがこれに対する解決策を知っていることは知っています。

ありがとうコミュニティ!

4

2 に答える 2

2

プログレスのバージョンは?

ティムが言うように、それは一時ファイルにとって非常に奇妙な場所です。どうしてこうなりました?私の推測では、作業ディレクトリは %DLC%\bin です。

スキーマ領域を拡張していますか? なんで?すべてのデータ、インデックス、および LOB をタイプ 2 ストレージに移動するのを忘れていませんか?

構造ファイルからすべての AREA 情報を削除すると、すべてがスキーマ領域に配置されます。

おそらく、複数のエクステントなどを含む構造ファイルも作成していませんか? したがって、最初のエクステントは 1 つだけです。

大きなファイルを有効にしていない可能性もあります。つまり、エクステントが 2GB に達すると、拡張できなくなります。

したがって、迅速かつ簡単な解決策はおそらく次のとおりです。

proutil dbName -C enablelargefiles

注: これは、データベースをセットアップするためのひどい方法です。実際のシステムに対しては行わないでください。しかし、私が理解しているように、CSV データとしてエクスポートできるように、このデータを一度だけロードしようとしているだけです。

于 2012-04-17T01:27:28.207 に答える
1

KB から:

この状況は、データベースのストレージ領域が次のいずれかの場合に発生します。

a.) 完全に固定長エクステントで構成され、最後のエクステントがいっぱいになった場合、b.) 可変長エクステントは、書き込みに対応するために 2Gig ファイル サイズ制限を超える必要があり、LargeFiles が有効になっていない場合、または c.)ユーザーは、.profile (UNIX) またはディスク クォータ制限 (Windows) で定義されている ulimit に達します。

上記のいずれの場合でも、PROGRESS の実行は中止され、回復を実行する必要があります。


また:

データベースを拡大するには、より多くのエクステントを利用可能にする必要があります。スペースを追加するには、prostrct ユーティリティを使用する必要があります。将来的には、エリア内の最後のエクステントの最高水位標を監視して、この発生を事前に警告できます。これが完了したら、データベースを再起動し、クラッシュ リカバリを実行できるようにします。

文書化されたドキュメントへの参照ProgressManuals への参照: データベース管理ガイドおよびリファレンス - 第 9 章「データベース構造の保守」


また、進行状況の bin ディレクトリでソートするために一時スペースを指定しているのはなぜですか? 代わりに、空の一時ディレクトリを指定してください。

一時ディレクトリー (-T) 始動パラメーターを使用して、スペースの問題をソートおよび処理するときに、PROUTIL ユーティリティーによって作成された一時ファイルを特定したり、指定されたディレクトリーにリダイレクトしたりします。

于 2012-04-16T23:52:13.247 に答える