top oracle dba rac
経験豊富なプロフェッショナル向けの高度なトピックに関するOracleDBA、RAC、およびパフォーマンスチューニングに関する上位の質問:
前の記事の続きで、 Oracleの面接に関する上位の質問 、この記事には、データベースアーキテクチャ、データベースのバックアップ/リカバリ、パフォーマンスチューニングなど、Oracleの高度な概念をカバーする一連のインタビューの質問が含まれています。
Oracle Advanced Interview Questionsで取り上げられているトピック:
- OracleDBAの面接の質問
- OracleRACの面接の質問
- Oracle PerformanceTuningの面接の質問
ここでは、中級レベルの候補者や求職者が面接を無事にクリアするのに役立つ一連の質問を集めました。
Oracle DBA、RAC、およびパフォーマンスチューニングに関する主な質問
参加しているのは、高度なトピックに関する最も重要なOracleインタビューの質問とその回答です。
はじめましょう!!!
Q#1)テーブルやビューの代わりにマテリアライズドビューを使用するのはなぜですか?
回答: マテリアライズドビューは、クエリ結果を保持するデータベースオブジェクトです。複雑なクエリの実行でテーブルやビューの代わりにマテリアライズドビューを使用すると、クエリを繰り返すために再実行する必要がないため、パフォーマンスが向上します。
Q#2)クラスター化インデックスは非クラスター化インデックスとどのように異なりますか?
回答: インデックスはスキーマオブジェクトであり、テーブル内のデータを効率的に検索できます。
インデックスは、クラスター化または非クラスター化できます。違いは次のとおりです。
- クラスター化インデックスでは、テーブルレコードは物理的に並べ替えられ、特定の順序で格納されます。したがって、テーブルは単一のクラスター化インデックスのみを持つことができます。非クラスター化インデックスでは、レコードの物理的な順序と一致しない論理ソートが発生します。
- クラスター化インデックスのリーフノードはデータページを保持し、非クラスター化インデックスはインデックス行を保持します。
Q#3)DBAのさまざまな責任は何ですか?
回答: DBAは、すべての管理タスクを実行するデータベース管理者です。
管理タスクは次のとおりです。
- ユーザーレベルの管理。つまり、ユーザーの作成、既存のユーザーの削除、またはユーザー権限の変更。
- データベースのセキュリティを維持します。
- データベースストレージとオブジェクトを管理します。
- データベースのパフォーマンスを調整します。
- バックアップとリカバリのタスクを実行します。
Q#4)データベースの正規化とはどういう意味ですか?なぜそれが重要なのですか?
回答: 正規化手法は、データの冗長性と依存関係を防ぐためにリレーショナルデータベースを編成するために使用される一連のルールです。最初のデータベースオブジェクトが識別されると、正規化はスキーマオブジェクト間の関係を識別するのに役立ちます。
さまざまな正規化形式は次のとおりです。
- 第一正規形(1NF)
- 第2正規形(2NF)
- 第3正規形(3NF)
- ボイスコッド正規形(BCNF)
- 第4正規形(4NF)
- 5番目の通常の形式(5NF)
Q#5)物理データベース構造と論理データベース構造のさまざまなコンポーネントをリストアップできますか?
回答:以下に、さまざまなコンポーネントのリストを示します。
物理的構造には次のものが含まれます。
- テーブル、ビュー、インデックスなどのすべてのDBオブジェクトを保持するデータファイル。
- ユーザートランザクションの結果としてのデータベース変更の記録を保持するREDOログファイル。
- データベースのステータスと物理構造を維持する制御ファイル。
論理構造には次のものが含まれます。
- テーブルスペース。データベースオブジェクトが存在する論理ストレージユニットです。
- セグメントは論理ストレージユニットのみですが、テーブルスペース内にあります。
- エクステントは、さまざまな連続するデータブロックとエクステントが一緒になってセグメントを形成する論理ユニットです。
- データブロックは、データベース内の最小の論理ストレージユニットです。
Q#6)SYSTEMテーブルスペースとは何ですか?なぜそれが必要なのですか?
回答: システムテーブルスペースは、データベースの作成時に作成されます。このテーブルスペースはすべてのデータディクショナリテーブルを保持するため、さまざまなデータベースオブジェクトの作成に使用されます。データベースがスムーズに機能するには、システムテーブルスペースがオンラインのままである必要があります。
Q#7)SGAとはどういう意味ですか?PGAとどう違うのですか?
回答: SGAは、システムグローバル領域がインスタンスの起動時にOracleによって定義されるメモリ領域であることを意味します。この領域はシステムレベルのプロセスで共有できるため、共有グローバル領域とも呼ばれます。
PGAはプログラムグローバルエリアであり、プロセスまたはセッションに固有のメモリです。これは、Oracleプロセスが開始されたときに作成され、各プロセスには専用のPGAがあります。
Q#8)データベース内のパスワードファイルとは何ですか?データディクショナリテーブルを使用してユーザーを認証できるのになぜパスワードファイルが必要なのですか?
回答: データベースユーザーは、ユーザー名とパスワードを保存するため、データディクショナリテーブルを使用して認証できます。ユーザーが提供したパスワードがデータベースに保存されているパスワードと一致する場合、ユーザーはログインできます。ただし、これはデータベースが開いている場合にのみ発生します。
データベースがシャットダウンモードの場合、これらのテーブルにアクセスできないため、データベース管理者はパスワードファイルを使用してログインしてデータベースを開きます。
Q#9)Oracleで利用できるバックアップの種類は何ですか?
回答: より高いレベルでは、Oracleで使用可能な物理的および論理的な2種類のバックアップがあります。
物理バックアップ中に、物理データベースファイル(データファイル、制御ファイル、REDOログ、その他の実行可能ファイルなど)のコピーが作成され、将来のために保存されます。これは、オペレーティングシステムユーティリティまたはRMANのいずれかを使用して実現できます。
対照的に、論理バックアップでは、Oracleが提供するエクスポート/インポートユーティリティを使用して、テーブル、ビュー、インデックス、ストアドプロシージャなどのデータベースオブジェクトのバックアップを個別に作成できます。
Q#10)ホットバックアップとコールドバックアップとはどういう意味ですか?また、それらはどのように異なりますか?
回答: ホットバックアップは、データベースが実行モードのときにデータベースのバックアップを取るプロセスです。したがって、オンラインバックアップとも呼ばれます。コールドバックアップは、データベースがシャットダウンモードの場合にのみ実行できるため、オフラインバックアップとも呼ばれます。
銀行や取引のようなウェブサイトはほとんどなく、24時間稼働しているため、データベースのダウンをサポートできません。したがって、DBAはオンラインモードでのみバックアップを取る必要があります。
Q#11)データベースの復元とデータベースの回復の違いは何ですか?
回答: 復元プロセス中に、バックアップファイルがハードディスク、メディア、またはテープから復元場所にコピーされ、後でデータベースが操作可能になります。リカバリには、バックアップされていない変更をリカバリするために、REDOログを適用してこれらのデータファイルを更新する追加の手順があります。
シナリオの助けを借りてこれを理解しましょう。
- データベースの完全バックアップは金曜日の午後11時に行われます。
- データベースのクラッシュは土曜日の午前7時に発生しました
失われたファイルは、復元である午後11時の完全バックアップを使用して復元できます。ただし、データは金曜日の午後11時まで復元され、土曜日の午前7時まで復元されません。同じことを行うために、データベースを障害点にするREDOログを適用できます。
Q#12)REDOログファイルのミラーリングで何がわかりますか?
回答: REDOログは、データベースアーキテクチャの最も重要なコンポーネントであり、データファイルに移動する前でもデータベース内のすべてのトランザクションを記録します。
したがって、これらのファイルのミラーリングは、それらを保護するために行われます。 REDOログファイルのミラーリングにより、REDOログを異なるディスクに同時にコピーできます。そして、これはDataGuardおよびその他のユーティリティを使用して実現できます。
Q#13)増分バックアップと差分バックアップの違いは何ですか?
回答: 増分バックアップは、最後のバックアップ以降に変更されたデータファイルのみをバックアップすることで知られています。これは完全または増分の場合があります。 例えば、 増分/完全バックアップは金曜日の午前10時に実行され、次のバックアップは土曜日の午前10時に実行されます。 2番目の増分バックアップでは、トランザクションは金曜日の午前10時以降にのみ発生します。
一方、差分バックアップは、最後の完全バックアップ中に変更されたファイルをバックアップします。
金曜日の午前10時に完全バックアップを作成し、土曜日の午前10時に差分バックアップを作成すると、金曜日の午前10時以降に変更されたファイルのバックアップが作成されます。さらに、差分バックアップが日曜日の午前10時に実行される場合、金曜日の午前10時以降に変更されたファイルのバックアップが実行されます。
Q#14)フラッシュバッククエリとは何ですか?いつ使用する必要がありますか?
回答: Oracleは、データベースオブジェクトの過去の状態を回復するためのフラッシュバックテクノロジーを導入しました。コミットされた偶発的な変更も回復できます。リカバリーは、UNDO_RETENTIONパラメーターの指定された値に依存します。
例えば、 UNDO_RETENTIONパラメーターは2時間に設定されており、ユーザーがコミットを実行して午前11時に誤ってデータを削除した場合。次に、FLASHBACK QUERYを使用して、午後1時までのみこれらの行を取得できます。
Q#15)RMANは、ユーザー管理のバックアップリカバリプロセスよりも優れていますか?
回答: Recovery Manager(RMAN)は、データベースのバックアップとリカバリのプロセスを自動化し、バックアップ戦略を管理できるOracleの組み込みユーティリティです。ユーザー管理のバックアップでは、ユーザーは手動でバックアップを実行する必要があります。
RMANは中央リポジトリにすべてのメタデータを保持し、同じものをすばやく取得できるため、ユーザー管理のバックアップと比較すると、RMANのバックアップ時間は短くなります。
RMANは、ユーザー管理のバックアップによって実行される完全ファイルバックアップを作成するのではなく、増分バックアップを実行します。これにより、時間を節約できます。
RMANは、再利用およびスケジュールが可能で、手動による介入を必要としないバックアップおよびリカバリスクリプトを作成します。
RMANは、バックアッププロセス中に破損したデータブロックを自動的に検出して回復できますが、ユーザー管理のバックアップでは発生しません。
Q#16)リカバリカタログとは何ですか?
回答: リカバリカタログは、RMANが復元およびリカバリプロセスに使用するメタデータを保持するデータベーススキーマです。
それは基本的に情報を保存します
- データファイルとそのバックアップファイル。
- アーカイブされたREDOログとそのバックアップセット。
- 保存されたスクリプト
- 化身
- バックアップ履歴
RMANがバックアップを取るか、REDOログを切り替えるか、データファイルを変更すると、カタログが更新されます。
Q#17)失われた制御ファイルをどのように回復しますか?
回答: 制御ファイルの1つが失われたり破損したりした場合は、OSレベルで維持されている制御ファイルの別のコピーを使用できます。制御ファイルのすべてのコピーが失われた場合、またはユーザーが失われた制御ファイルのコピーを1つだけ維持している場合、ユーザーは次のことができます。
- 制御ファイルを手動で作成します。
- 以下のコマンドを使用して、バックアップ制御ファイルから復元します。
ALTER DATABASE BACKUP CONTROL FILE TO TRACE;
- 以下のコマンドを使用して、RMANバックアップを使用して復元します。
setdbid XX; restorecontrolfile;
Q#18)メディアリカバリとクラッシュリカバリの違いは何ですか?
回答: メディアリカバリは、ディスク障害が発生するたびにバックアップからデータベースをリカバリするプロセスです。データファイル、制御ファイル、サーバーパラメータファイルなどの物理ファイルは、メディアの回復中に回復されます。ただし、クラッシュリカバリは、データベースインスタンスに障害が発生するたびに実行されます。
メディアリカバリはDBAが実行する必要がありますが、クラッシュリカバリはSMONバックグラウンドプロセスを処理する自動化されたプロセスです。
Q#19)RACとは何ですか?RACアーキテクチャを使用することのさまざまな利点は何ですか?
回答: RACまたはRealApplication Clusterを使用すると、データベースを複数のサーバーにインストールしてクラスターを形成し、同時にストレージ構造を共有できます。これにより、一方または他方のインスタンスが障害を起こしても常に稼働し続けるため、データベースが単一障害点になるのを防ぎます。
RACの使用は
- システムの高可用性を維持します。
- 最小限の費用でワークロードを管理します。
- スケーラビリティと敏捷性。
Q#20)クラスターとグリッドをどのように区別しますか?
回答: クラスタリングはグリッドインフラストラクチャの不可欠な部分であり、特定の目的に焦点を合わせています。
グリッドは、複数のクラスターで構成されている場合とされていない場合がありますが、ストレージシステム、データリソース、その他の残りの部分を地理的に異なる場所で共有できる、より幅広いフレームワークを備えています。
クラスターは単一の所有権を持ちますが、グリッドは、それが保持するクラスターの数に基づいて複数の所有権を持つことができます。
Q#21)Cache Fusionから何を理解していますか?
回答: キャッシュフュージョンは、クラスター内で1つのインスタンスバッファーキャッシュから別のインスタンスバッファーキャッシュに非常に高速でデータを転送するプロセスです。遅いプロセスである物理ディスクからデータをフェッチする代わりに、キャッシュからデータブロックにアクセスできます。
例えば、 インスタンスAは、インスタンスBが所有するデータブロックにアクセスしようとしています。インスタンスBにアクセス要求を送信するため、他のインスタンスBのバッファキャッシュを使用して同じデータブロックにアクセスできます。
Q#22)単一インスタンス環境をRAC環境に変換するにはどうすればよいですか?また、それらはどのように異なりますか?
回答: 単一インスタンスは、以下のいずれかの方法を使用してRACに変換できます。
- Enterprise Manager
- DBCA、つまりデータベース構成アシスタント
- RCONFIGユーティリティ
シングルインスタンス環境とRAC環境
パラメーター | シングルインスタンス環境 | RAC環境 |
---|---|---|
インスタンス | インスタンス | 複数 |
記憶 | インスタンスには専用のSGAがあります | すべてのインスタンスには個別のSGAがあります |
へのアクセス 物理ファイル | 1つのインスタンスのみがデータファイルにアクセスします および制御ファイル。 | データファイルと制御ファイルは共有されます すべてのインスタンス。 |
フラッシュリカバリログ | 単一インスタンスからアクセスします。 | 複数のインスタンスで共有されます。 |
ログのやり直し | 単一インスタンス専用。 | 一度に書き込むことができるインスタンスは1つだけですが、他のインスタンスはリカバリ中にデータを読み取ることができます。 アーカイブプロセス。 |
Q#23)データベース内のスペース割り当てをどのように監視できますか?
回答: 以下のデータディクショナリテーブルを使用して、スペースの割り当てを監視できます。
- DBA_FREE_SPACE
- DBA_SEGMENTS
- DBA_DATA_FILES
Q#24)「DBのパフォーマンスチューニング」で何を理解していますか?また、チューニングを実行できるさまざまな領域は何ですか?
回答: これは、利用可能なリソースを最適に利用してデータベースのパフォーマンスを向上させるプロセスです。
以下の領域のいずれかを調整することにより、パフォーマンスを向上させることができます。
- データベース設計。
- メモリ割り当て。
- ディスクI / OS。
- データベースの競合。
- OSレベル(CPU)。
Q#25)パフォーマンスの監視を支援するためにオラクルが提供するさまざまなツールは何ですか?
回答: さまざまなツールが含まれます:
- AWR(自動ワークロードリポジトリ)
- ADDM(自動データベース診断モニター)
- TKPROF
- STATSPACK
- OEM(Oracle Enterprise Manager )
Q#26)データベースを最適化するために使用されるさまざまなオプティマイザーは何ですか?
回答: オプティマイザには次の2つのタイプがあります。
- ルールベースオプティマイザー(RBO) :参照されるオブジェクトが内部統計を維持していない場合は、RBOが使用されます。
- コストベースオプティマイザー(CBO): 参照されるオブジェクトが内部統計を維持している場合、CBOは可能なすべての実行プランをチェックし、コストが最も低いものを選択します。
Q#27)Explain Planとは何ですか?SQLクエリの最適化にどのように役立ちますか?
回答: Explainプランは、SELECT、INSERT、UPDATE、およびDELETEステートメントに対してOracleオプティマイザによって選択された実行プランを表示するステートメントです。この計画を見ると、Oracleによる適切なインデックスの選択、適切な結合とソートの操作などがわかります。
Q#28)さまざまなデータベースオブジェクトの統計を収集するにはどうすればよいですか?
回答: ANALYZEステートメントを使用して、テーブル、インデックス、パーティション、クラスター、オブジェクト参照などのさまざまなデータベースオブジェクトの統計を収集できます。このステートメントを使用して、テーブルまたはクラスター内の移行された行とチェーンされた行を識別することもできます。
Q#29)なぜインデックスを再構築する必要があるのですか?
回答: アプリケーションのパフォーマンスを向上させるには、インデックスの再構築が必要です。さまざまなINSERTおよびDELETE操作により、インデックスが断片化されて構造化されないため、アプリケーションの速度が低下します。これらのインデックス内のデータを再編成するために、再構築が実行されます。
Q#30)TKPROFとは何ですか?どのように使用できますか?
テクニカルサポート面接の質問と回答pdf
回答: TKPROFは、SQLトレースファイルを読み取り可能な形式に変換できる、Oracleが提供するチューニングユーティリティです。
SQLトレースユーティリティを使用してトレースファイルが生成されると、トレースファイルに対してTKPROFツールを実行し、出力を読み取ることができます。また、SQLステートメントの実行プランを生成することもできます。 TKPROFの実行可能ファイルは、ORACLE HOME / binディレクトリにあります。
Q#31)データベースのパフォーマンスを最適化するためにSQLクエリを調整するにはどうすればよいですか?
回答: SQLクエリを作成するためのベストプラクティスのいくつかを紹介します。
- SELECTステートメントでは、*の代わりに列名を指定する必要があります。
- サブクエリの代わりに結合を使用する必要があります。
- データの存在を確認するには、INの代わりにEXISTSを使用する必要があります。
- UNIONの代わりにUNIONALLを使用する必要があります。
- HAVINGは、SQLクエリから結果の行をフィルタリングするためにのみ使用する必要があります。
Q#32)調整が必要なSHARED_POOL_SIZEパラメータをどのように特定しますか?
回答: 以下は同じことの適応症です:
- ORA-04031エラーが発生します。
- 他のすべてのパラメーターがすでに最適化されている場合でも、パフォーマンスが低下します。
- ライブラリキャッシュ/データディクショナリのヒットが不十分です。
Q#33)行連鎖で何がわかりますか?
回答: 行が大きすぎてブロックに収まらない場合、結果として生じるブロックを使用することになり、行チェーンの概念につながります。これは、ストレージパラメータを適切な値に更新することで回避できます。
Q#34)テーブルのパーティション分割とは何ですか?なぜそれが必要なのですか?
回答: これは、データの取得を簡単かつ迅速にするために、テーブルを小さなチャンクに分割するプロセスです。各部分はパーティションと呼ばれ、個別にアクセスできます。テーブルとは別に、インデックスもパーティション化できます。
Q#35)セッションが待機しているリソースをどのように特定できますか?
回答: v $ session_waitsとv $ system_waitsを使用して見つけることができます。
結論
上記の一連の質問によって、Oracleの高度な概念のいくつかを十分に理解できたと思います。
面接に参加する前にこれらの質問に答えるだけで、成功はあなた次第です。
=> Oracleインタビューの質問をカバーするシリーズについては、ここをクリックしてください
次のパート3を読む: Oracle Forms andReportsの面接に関する上位の質問
あなたの幸せを祈ります!!!