私はプログラマーで、ウィルソンと名付けたバレーボールを持って一人でDBA/Sysadminアイランドに放り込まれています。私はここで生き残るためにしています。
アプリケーション用のデータベースを作成することになっています。これが以前に実行されるサーバーには、非常によく似たアプリのデータベースがありました。私はOracleについてよく知らないので、ZFSファイルシステムを再利用し、それらがどのように作成されたかを残しました(正直に言って、なぜそのように作成されたのかわかりませんでしたが、それは正当な理由によるものだと確信しています) 。
app/oradata_smart_ora1 858M 12.2G 858M /oradata/SMART/ora1
app/oradata_smart_ora2 7.18M 18.0G 7.18M /oradata/SMART/ora2
app/oradata_smart_ora3 7.18M 36.0G 7.18M /oradata/SMART/ora3
app/oradata_smart_ora4 60.6K 400G 60.6K /oradata/SMART/ora4
app/oradata_smart_redo1 400M 2.61G 400M /oradata/SMART/redo1
app/oradata_smart_redo2 200M 2.80G 200M /oradata/SMART/redo2
app/oradata_smart_redo3 200M 2.80G 200M /oradata/SMART/redo3
ファイルシステムを再利用したので、データベースを作成し、古いデータベースファイルと同じ場所(/ oradata/SMART/ora1、/ oradata/SMART/ora2、/ oradata/SMART/ora3)に制御ファイルを配置しました。 MySQLが機能するように思えて、私はapp/oradata_smart_ora4 60.6K 400G 60.6K /oradata/SMART/ora4
特にデータベースをそこに格納します。
データベースは問題なく起動およびマウントされます。今私が行き詰まっているところです。私は this 、 this 、 this 、 this 、 this などを読みましたより多くは、私はまだ疑問を持っています。
このサーバーは、その存続期間を通じて数百万/数十億のレコードを管理します。
私はこれらすべての質問に本当に申し訳ありませんが、Oracleのベストプラクティスに従って正しく実行したいのです。回答についてさらに情報が必要な場合はお知らせください。
オラクルの概要を理解するための1つの場所を逃しました: コンセプトガイド 。それはすべての主要なトピックをカバーしています(バックアップとリカバリを含みます。これは非常に重要であり、あなたが投稿したリンクのリストには表示されません)。
次のステップは?スキーマまたはテーブルスペースを作成しますか?
両方とも!それらは直交しています。ユーザーは、データベースにアクセスする論理エンティティです。テーブルスペースはストレージの概念です。ユーザーは複数のテーブルスペースにアクセスでき、テーブルスペースは複数のスキーマからのデータを格納できます。両方が必要であり、作成するユーザーに適切なテーブルスペースへのアクセスを許可する必要があります。 (ユーザーとスキーマの違いについては、たとえば ここ を参照してください。)
テーブルスペースデータファイルは、テーブルからの実際のデータが格納される場所ですか?
はい、データベースのすべてのデータとインデックスはテーブルスペースに保存されます。主なストレージ構造は次のとおりです。
(システムテーブルスペースは通常のテーブルスペースですが、何も格納しないでください。通常の使用ではOracleの内部およびオフリミットと見なしてください。)
さらに、 redoログファイル を十分に注意する必要があります。「データベースリカバリの最も重要な構造」です。それらは「ホット」(大量の書き込み)であり、独自のディスク/ LUN上にある必要があります。
[テーブルスペース/データファイル]はいくつ必要ですか?
あなたが必要なだけ。ここには一般的なルールはありません。データファイルの数は、格納する必要のあるデータの量、オペレーティングシステムの制限、Oracleデータファイルのサイズ制限、ストレージ(ハードディスク/ボリューム)の制約、バックアップ/リカバリの考慮事項(たとえば、巨大なBigfileデータファイルが1つしかない場合、最高のアイデア)、...
テーブルスペースをどのように構成するかはあなた次第です。テーブルスペース内の「アプリケーション」ごとにテーブルスペースを用意することは、開始するための優れたアプローチです。必要に応じて、後からいつでも追加のテーブルスペースを作成できます(ただし、オブジェクトをあるテーブルスペースから別のテーブルスペースに移動するには時間がかかり、ダウンタイムまたはかなり複雑な操作が必要になる場合があることに注意してください)。
デフォルトか一時的か?
両方とも!データを永続的に保存するためのスペースが必要です。また、データベースの操作のために一時的なストレージもいくらか必要です。
どれくらいのスペースが必要ですか?
数メガバイトから数テラバイトの間のどこでも–あなただけがここで知ることができます。テーブルに必要なスペースを見積もるには、同じ構造のテーブルを作成し、いくつかのサンプルデータ(多かれ少なかれ統計的に表に格納するものを表す必要があります)を入力して、スペース使用量を測定します。次に外挿します。必要なスペース(およびマテリアライズドビュー)を含めることを忘れないでください!
自動拡張?
はい、自動拡張機能を使用しますが、制限を設定します。おそらく、ファイルシステムで実際に使用可能なスペースを超えて自動拡張をOracleに試行させないでください。スペースの使用状況を監視します。 (データファイルの拡張には比較的コストがかかることに注意してください。自動拡張のサイズを小さくしすぎないでください。)
特にZFSの場合、Oracleはあなたが興味を持つかもしれないホワイトペーパーを持っています: Oracleデータベース用のZFSの構成 (270k PDF)。