1 データベース管理スタート・ガイド
データベース管理を開始するには、データベース・ユーザーのタイプ、データベース・セキュリティ、権限など、データベースの基本概念を理解する必要があります。データベースへのコマンドとSQLの送信やパスワード・ファイルの作成などの基本タスクを実行できる必要もあります。
- Oracle Databaseユーザーのタイプ
ユーザーのタイプとその役割および責任は、データベース・サイトによって異なります。小規模のサイトでは、1名のデータベース管理者を配置して、アプリケーション開発者およびユーザー向けのデータベースを管理できます。大規模なサイトでは、データベース管理者の役割を複数の人および複数の専門グループに分割する必要があります。 - データベース管理者のタスク
Oracle Databaseを設計、実装およびメンテナンスするには、いくつかの特定のタスクを完了する必要があります。 - SQL文
Oracle Databaseとのやり取りは主にSQL文を発行して行います。 - Oracle Databaseソフトウェアのリリースの識別
リリースを完全に識別するには、5つもの番号が必要な場合があります。 - データベース管理者のセキュリティと権限について
Oracle Database管理者の管理タスクを実行するには、データベース内部、およびお場合によってはそのデータベースが稼働するサーバーのオペレーティング・システムで特定の権限が必要です。データベース管理者のアカウントへのアクセスは厳しく管理する必要があります。 - データベース管理者の認証
DBAは、データベースの起動や停止などの特別な操作を実行します。これらの操作はDBAのみが実行するため、DBAのユーザー名には安全性の高い認証方式が必要です。 - データベース・パスワード・ファイルの作成とメンテナンス
パスワード・ファイル作成ユーティリティORAPWD
を使用して、データベース・パスワード・ファイルを作成できます。一部のオペレーティング・システムでは、標準インストール時にこのファイルを作成できます。 - データ・ユーティリティ
Oracle Databaseのデータのメンテナンスに役立つOracleユーティリティが用意されています。
親トピック: 基本データベース管理
1.1 Oracle Databaseユーザーのタイプ
ユーザーのタイプとその役割および責任は、データベース・サイトによって異なります。小規模のサイトでは、1名のデータベース管理者を配置して、アプリケーション開発者およびユーザー向けのデータベースを管理できます。大規模なサイトでは、データベース管理者の役割を複数の人および複数の専門グループに分割する必要があります。
- データベース管理者
各データベースには、少なくとも1名のデータベース管理者(DBA)が必要です。Oracle Databaseシステムは規模が大きく、多数のユーザーによって使用される可能性があります。したがって、1名の担当者ではデータベースを管理できないため、複数のDBAでグループを編成して役割を分担します。 - セキュリティ管理者
サイトによっては、データベースに1名以上のセキュリティ管理者が必要です。セキュリティ管理者は、ユーザーの登録、データベースに対するユーザー・アクセスの制御と監視およびシステム・セキュリティのメンテナンスを実施します。 - ネットワーク管理者
サイトによっては、1名以上のネットワーク管理者がいる場合があります。たとえば、ネットワーク管理者は、Oracle Net ServicesなどのOracleネットワーク製品を管理します。 - アプリケーション開発者
アプリケーション開発者は、データベース・アプリケーションを設計し、実装します。 - アプリケーション管理者
Oracle Databaseのサイトでは、特定のアプリケーションを管理するために1名以上のアプリケーション管理者が必要な場合があります。アプリケーションごとに専門の管理者を置く場合があります。 - データベース・ユーザー
データベース・ユーザーは、アプリケーションまたはユーティリティを介してデータベースと対話します。
親トピック: データベース管理スタート・ガイド
1.1.1 データベース管理者
各データベースには、少なくとも1名のDBAが必要です。Oracle Databaseシステムは規模が大きく、多数のユーザーによって使用される可能性があります。したがって、1名の担当者ではデータベースを管理できないため、複数のDBAでグループを編成して役割を分担します。
データベース管理者が担当するタスクは次のとおりです。
-
Oracle Databaseサーバーとアプリケーション・ツールをインストールおよびアップグレードします。
-
データベース・システムにシステム記憶域を割り当て、将来の記憶域要件を計画します。
-
アプリケーション開発者がアプリケーションを設計した後、プライマリ・データベースの記憶域構造(表領域)を作成します。
-
アプリケーション開発者がアプリケーションを設計した後、プライマリ・オブジェクト(表、ビュー、索引)を作成します。
-
アプリケーション開発者から得た情報に基づき、必要に応じてデータベース構造を修正します。
-
ユーザーを登録し、システム・セキュリティをメンテナンスします。
-
Oracleのライセンス契約に従っていることを確認します。
-
データベースに対するユーザー・アクセスを制御し、監視します。
-
データベースのパフォーマンスを監視し、最適化します。
-
データベース情報のバックアップおよびリカバリの計画を立てます。
-
テープ上のアーカイブ済データをメンテナンスします。
-
データベースをバックアップおよびリストアします。
-
技術サポートについてOracleサポート・サービスに連絡します。
親トピック: Oracle Databaseユーザーのタイプ
1.1.2 セキュリティ管理者
サイトによっては、データベースに1名以上のセキュリティ管理者が必要です。セキュリティ管理者は、ユーザーの登録、データベースに対するユーザー・アクセスの制御と監視およびシステム・セキュリティのメンテナンスを実施します。
したがって、サイトにセキュリティ管理者が別にいる場合、DBAはこれらの業務に対する役割を持ちません。
セキュリティ管理者の業務の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
親トピック: Oracle Databaseユーザーのタイプ
1.1.3 ネットワーク管理者
サイトによっては、1名以上のネットワーク管理者がいる場合があります。たとえば、ネットワーク管理者は、Oracle Net ServicesなどのOracleネットワーク製品を管理します。
ネットワーク管理者の業務の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
関連項目:
分散環境でのネットワーク管理の詳細は、「分散データベースの管理」を参照してください。
親トピック: Oracle Databaseユーザーのタイプ
1.1.4 アプリケーション開発者
アプリケーション開発者は、データベース・アプリケーションを設計し、実装します。
アプリケーション開発者が担当するタスクは、次のとおりです。
-
データベース・アプリケーションを設計、開発します。
-
アプリケーションのためのデータベース構造を設計します。
-
アプリケーションに対する記憶域要件を見積ります。
-
アプリケーションのためのデータベース構造の変更を指定します。
-
データベース管理者にこのような情報を伝えます。
-
開発中にアプリケーションをチューニングします。
-
開発中にアプリケーションに対するセキュリティ手段を確立します。
アプリケーション開発者は、これらのタスクの一部をDBAと協力して実施する場合があります。アプリケーション開発タスクの詳細は、『Oracle Database開発ガイド』を参照してください。
親トピック: Oracle Databaseユーザーのタイプ
1.1.5 アプリケーション管理者
Oracle Databaseのサイトでは、特定のアプリケーションを管理するために1名以上のアプリケーション管理者が必要な場合があります。アプリケーションごとに専門の管理者を置く場合があります。
親トピック: Oracle Databaseユーザーのタイプ
1.1.6 データベース・ユーザー
データベース・ユーザーは、アプリケーションまたはユーティリティを介してデータベースと対話します。
一般ユーザーが担当するタスクは、次のとおりです。
-
許された範囲でデータを入力、修正および削除します。
-
データのレポートを作成します。
親トピック: Oracle Databaseユーザーのタイプ
1.2 データベース管理者のタスク
Oracle Databaseを設計、実装およびメンテナンスするには、いくつかの特定のタスクを完了する必要があります。
ノート:
新しいリリースにアップグレードする場合は、既存の本番環境(ソフトウェアとデータベースの両方)のバックアップを作成してからインストールしてください。既存の本番データベースの保存方法については、『Oracle Databaseアップグレード・ガイド』を参照してください。
- タスク1: データベース・サーバー・ハードウェアの評価
使用可能なコンピュータ・リソースを、Oracle Databaseとそのアプリケーションで最大限に活用するための評価を行います。 - タスク2: Oracle Databaseソフトウェアのインストール
データベース管理者は、Oracle Databaseサーバーのソフトウェアとすべてのフロントエンド・ツール、およびデータベースにアクセスするデータベース・アプリケーションをインストールします。 - タスク3: データベースの計画
データベース管理者は、データベースの論理記憶域構造、全体的なデータベース設計、データベースのバックアップ戦略を計画する必要があります。 - タスク4: データベースの作成とオープン
データベース設計が完了した後、データベースを作成し、通常使用のためにオープンできます。 - タスク5: データベースのバックアップ
データベース構造の作成後、データベースに対して予定していたバックアップ計画を実行します。 - タスク6: システム・ユーザーの登録
データベース構造のバックアップが完了した後、Oracleのライセンス契約に従ってデータベースのユーザーを登録し、登録したユーザーに対して適切な権限とロールを付与できます。 - タスク7: データベース設計の実装
データベースを作成して起動し、システム・ユーザーを登録した後、必要なすべての表領域を作成して、計画したデータベースの論理構造を実装できます。表領域の作成を完了すると、データベース・オブジェクトを作成できます。 - タスク8: 実行データベースのバックアップ
データベースがすべて実装されたときに、再度バックアップを作成します。定期的にバックアップを作成するようにスケジュールし、また、データベース構造の変更を実装した直後にも必ずデータベースのバックアップを作成するようにします。 - タスク9: データベースのパフォーマンス・チューニング
データベースのパフォーマンスの最適化は、DBAの日常的な作業の1つです。Oracle Databaseでは、各種ユーザー・グループへのリソースの割当てを制御できるよう、データベース・リソース管理機能が提供されています。 - タスク10: リリース更新とリリース更新リビジョンのダウンロードとインストール
データベースのインストール後、定期的に、Oracleソフトウェアのリリース更新(Update)とリリース更新リビジョン(Revision)をダウンロードしてインストールします。 - タスク11: 追加ホストへのロール・アウト
Oracle Databaseのインストールを正しく構成し、チューニングし、パッチを適用してテストした後、そのインストールを他のホストにロール・アウトする必要がある場合があります。
親トピック: データベース管理スタート・ガイド
1.2.1 タスク1: データベース・サーバー・ハードウェアの評価
使用可能なコンピュータ・リソースを、Oracle Databaseとそのアプリケーションで最大限に活用するために評価します。
この評価では、次のような情報を明らかにする必要があります。
-
Oracle製品に使用可能なディスク・ドライブ数
-
Oracle製品に使用可能な専用テープ・ドライブ数(テープ・ドライブがある場合)
-
Oracle Databaseインスタンスで使用可能なメモリーの量(システムの構成マニュアルを参照)
親トピック: データベース管理者のタスク
1.2.2 タスク2: Oracle Databaseソフトウェアのインストール
データベース管理者は、Oracle Databaseサーバーのソフトウェアとすべてのフロントエンド・ツール、およびデータベースにアクセスするデータベース・アプリケーションをインストールします。
分散処理環境インストールでは、データベースが中核になるコンピュータ(データベース)によって制御され、データベース・ツールとアプリケーションがリモート・マシン(クライアント)で実行される場合があります。このような場合は、Oracle Databaseを実行するコンピュータに、リモート・システムを接続するために必要なOracle Netコンポーネントもインストールする必要があります。
インストールするソフトウェアの詳細は、「Oracle Databaseソフトウェアのリリースの識別」を参照してください。
関連項目:
インストールの特定の要件や指示の詳細は、次のマニュアルを参照してください。
-
使用しているオペレーティング・システム固有のOracleマニュアル
-
フロントエンド・ツールおよびOracle Netドライバのインストレーション・ガイド
親トピック: データベース管理者のタスク
1.2.3 タスク3: データベースの計画
データベース管理者は、データベースの論理記憶域構造、全体的なデータベース設計、データベースのバックアップ戦略を計画する必要があります。
重要なことは、データベースの論理記憶域構造が、システムのパフォーマンスと様々なデータベース管理操作にどのように影響を及ぼすかについて計画することです。たとえば、データベースの表領域を作成する前に、表領域を構成するデータファイルの数、各表領域に格納される情報のタイプ、およびデータファイルが物理的に格納されるディスク・ドライブについて把握しておく必要があります。データベース構造の論理記憶域全体を計画する際は、実際にデータベースを作成し、稼働したときに、この構造によって生じる影響を考慮します。次の項目について、データベースの論理記憶域構造が及ぼす影響を検討してください。
-
Oracle Databaseを実行しているコンピュータのパフォーマンス
-
データ・アクセス操作中のデータベースのパフォーマンス
-
データベースのバックアップおよびリカバリの手順の効率
データベース・オブジェクトのリレーショナル設計と、各オブジェクトの記憶特性について計画します。オブジェクトを作成する前に、オブジェクトと各オブジェクトの物理記憶域間の関連について計画を立てることによって、1つの単位としてのデータベースのパフォーマンスを直接制御できます。データベースの拡張計画についても必ず検討してください。
分散データベース環境では、この計画段階が非常に重要です。頻繁にアクセスされるデータの物理的な位置が、アプリケーションのパフォーマンスに大きな影響を及ぼします。
計画段階中に、データベースのバックアップ計画を作成します。バックアップの効率を改善するために、必要に応じて論理記憶域やデータベースの設計を変更します。
リレーショナル・データベース設計および分散データベース設計については、このマニュアルでは取り扱っていません。このような設計上の問題は、業界標準として認められている資料を参照してください。
データベースの論理記憶域構造、オブジェクトおよび整合性制約の作成方法は、「Oracle Databaseの構造と記憶域」および 「スキーマ・オブジェクト」を参照してください。
親トピック: データベース管理者のタスク
1.2.4 タスク4: データベースの作成とオープン
データベース設計が完了すると、データベースを作成し、オープンできます。
データベースを作成するには、Database Configuration Assistantを使用してインストール時に作成する方法と、データベースを作成するためのスクリプトを用意する方法があります。
データベースの作成方法については「Oracle Databaseの作成および構成」を、データベース起動時のガイドラインについては「起動と停止」を参照してください。
親トピック: データベース管理者のタスク
1.2.5 タスク5: データベースのバックアップ
データベース構造の作成後、データベースに対して予定していたバックアップ計画を実行します。
追加のREDOログ・ファイルを作成し、データベース全体の最初のバックアップ(オンラインまたはオフライン)を作成して、その後の定期的なデータベース・バックアップをスケジュールします。
1.2.6 タスク6: システム・ユーザーの登録
データベース構造のバックアップが完了した後、Oracleのライセンス契約に従ってデータベースのユーザーを登録し、登録したユーザーに対して適切な権限とロールを付与できます。
このタスクのガイドラインについては、「ユーザーの管理とデータベースのセキュリティ保護」を参照してください。
親トピック: データベース管理者のタスク
1.2.7 タスク7: データベース設計の実装
データベースを作成して起動し、システム・ユーザーを登録した後、必要なすべての表領域を作成して、計画したデータベースの論理構造を実装できます。表領域の作成を完了すると、データベース・オブジェクトを作成できます。
データベースの論理記憶域構造とオブジェクトの作成方法は、「Oracle Databaseの構造と記憶域」および 「スキーマ・オブジェクト」を参照してください。
親トピック: データベース管理者のタスク
1.2.8 タスク8: 実行データベースのバックアップ
データベースがすべて実装されたときに、再度バックアップを作成します。定期的にバックアップを作成するようにスケジュールし、また、データベース構造の変更を実装した直後にも必ずデータベースのバックアップを作成するようにします。
親トピック: データベース管理者のタスク
1.2.9 タスク9: データベースのパフォーマンス・チューニング
データベースのパフォーマンスの最適化は、DBAの日常的な作業の1つです。Oracle Databaseでは、各種ユーザー・グループへのリソースの割当てを制御できるよう、データベース・リソース管理機能が提供されています。
データベース・リソース・マネージャについては、「Oracle Database Resource Managerを使用したリソースの管理」を参照してください。
関連項目:
データベースとアプリケーションのチューニング方法の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。
親トピック: データベース管理者のタスク
1.2.10 タスク10: リリース更新とリリース更新リビジョンのダウンロードとインストール
データベースのインストール後、定期的に、Oracleソフトウェアのリリース更新(Update)とリリース更新リビジョン(Revision)をダウンロードしてインストールします。
Oracle Database18c以降では、リリース更新(Update)およびリリース更新リビジョン(Revision)の形式で四半期ごとに更新が提供されています。パッチ・セットはリリースされなくなりました。インストールに必要な更新は、My Oracle SupportのWebサイトで確認してください。
関連項目:
-
リリース更新(Update)とリリース更新リビジョン(Revision)をダウンロードしてインストールする手順は、使用しているプラットフォームのOracle Databaseインストレーション・ガイドを参照してください。
- My Oracle Supportノート2285040.1
親トピック: データベース管理者のタスク
1.2.11 タスク11: 追加ホストへのロール・アウト
Oracle Databaseのインストールを正しく構成し、チューニングし、パッチを適用してテストした後、そのインストールを他のホストにロール・アウトする必要がある場合があります。
ロール・アウトは、次のような場合に行います。
-
複数の本番データベース・システムがある場合。
-
本番システムと同じ開発システムやテスト・システムを作成する場合。
追加の各ホストでインストール、チューニングおよびパッチ適用を実行するかわりに、テスト済のOracle Databaseインストールを他のホストにクローニングすると、時間を節約でき、不整合をなくすことができます。次の2種類のクローニングを使用できます。
-
Oracleホームのクローニング—Oracleホーム・ディレクトリとサブディレクトリの構成済およびパッチ適用済バイナリのみが宛先のホストにコピーされ、新しい環境にあわせて調整されます。その後、このクローニングしたホームを使用してインスタンスを起動し、データベースを作成できます。
Oracle Enterprise Manager Cloud Controlを使用すると、Oracleホームを1つ以上の宛先ホストにクローニングできます。提供されているスクリプトのセットとOracle Universal Installerを使用して、Oracleホームを手動でクローニングできます。
-
データベースのクローニング—データベース・ファイルや初期化パラメータなどのチューニング済のデータベースが、既存のOracleホーム(おそらくクローニングしたホーム)にクローニングされます。
Cloud Controlを使用すると、Oracle Databaseインスタンスを既存のOracleホームにクローニングできます。
関連項目:
親トピック: データベース管理者のタスク
1.3 SQL文
Oracle Databaseとのやり取りは主にSQL文を発行して行います。
- データベースに対するコマンドとSQLの発行
SQL文やコマンドをOracle Databaseに発行する方法は複数あります。 - SQL*Plusについて
SQL*PlusはOracle Databaseへの主要なコマンドライン・インタフェースです。SQL*Plusは、データベースの起動と停止、データベース初期化パラメータの設定、ユーザーの作成と管理、データベース・オブジェクト(表や索引など)の作成と変更、データの挿入と更新、SQL問合せの実行などを行うために使用します。 - SQL*Plusを使用したデータベースへの接続
SQL*Plusを使用してOracle Databaseインスタンスに接続します。
親トピック: データベース管理スタート・ガイド
1.3.1 データベースに対するコマンドとSQLの発行
これらのSQL文やコマンドをOracle Databaseに発行する方法は複数あります。
-
SQL*Plusのコマンドライン・インタフェースを使用する直接的な方法
-
Oracle Enterprise Manager Database Express (EM Express)やOracle Enterprise Manager Cloud Control (Cloud Control)などのグラフィカル・ユーザー・インタフェース使用する間接的な方法
これらのツールを使用すると、使いやすいグラフィカル・インタフェースを使用してデータベースを管理できます(SQL文やコマンドは、ツールが内部的に発行します)。
詳細は、『Oracle Database 2日でデータベース管理者』およびツールのオンライン・ヘルプを参照してください。
-
SQL Developerを使用する直接的な方法
開発者はSQL Developerを使用してデータベース・スキーマとアプリケーションの作成およびテストをしますが、SQL Developerはデータベースの管理作業にも使用できます。
詳細は、『Oracle SQL Developerユーザーズ・ガイド』を参照してください。
Oracle Databaseでは、データベースの起動と停止およびデータベース設定の変更などのコマンドを含む、SQLのスーパーセットもサポートされています。
親トピック: SQL文
1.3.2 SQL*Plusについて
SQL*PlusはOracle Databaseへの主要なコマンドライン・インタフェースです。SQL*Plusは、データベースの起動と停止、データベース初期化パラメータの設定、ユーザーの作成と管理、データベース・オブジェクト(表や索引など)の作成と変更、データの挿入と更新、SQL問合せの実行などを行うために使用します。
SQL文とコマンドを発行する前に、データベースに接続する必要があります。SQL*Plusでは、ローカル接続またはリモート接続が可能です。ローカル接続とは、SQL*Plusを実行しているのと同じコンピュータで動作しているOracle Databaseに接続することです。リモート接続とは、リモート・コンピュータで動作しているOracle Databaseにネットワークを介して接続することです。そのようなデータベースはリモート・データベースと呼ばれます。Oracle Databaseの完全インストール、Oracle ClientのインストールまたはInstant Clientのインストールを行うと、ローカル・コンピュータにSQL*Plus実行可能ファイルが提供されます。
親トピック: SQL文
1.3.3 SQL*Plusを使用したデータベースへの接続
SQL*Plusを使用してOracle Databaseインスタンスに接続します。
- SQL*Plusを使用したデータベースへの接続について
Oracle Databaseには、プロセスとメモリーのコレクションであるOracle Databaseインスタンスと、ユーザー・データとシステム・データを含むディスク・ファイルのセットのコンポーネントが含まれます。 - ステップ1: コマンド・ウィンドウのオープン
プラットフォームで必要な処理を実行して、オペレーティング・システムのコマンドを入力できるウィンドウを開きます。 - ステップ2: オペレーティング・システムの環境変数の設定
プラットフォームによっては、SQL*Plusを起動する前に、環境変数を設定するか少なくとも正しく設定されていることを確認することが必要な場合があります。 - ステップ3: SQL*Plusの起動
Oracle Databaseに接続するには、次のいずれかのオプションを使用してSQL*Plusを起動します。 - ステップ4: SQL*PlusのCONNECTコマンドの発行
最初にOracle Databaseインスタンスに接続する、または任意の時点で別のユーザーとして再接続するには、SQL*PlusのCONNECT
コマンドを発行します。
親トピック: SQL文
1.3.3.1 SQL*Plusを使用したデータベースへの接続について
Oracle Databaseには次のコンポーネントが含まれています。プロセスとメモリーの集まりであるOracle Databaseインスタンス、およびユーザー・データとシステム・データを含むディスク・ファイルのセットです。
それぞれのインスタンスには、システムID(SID)とも呼ばれるインスタンスIDがあります。ホスト・コンピュータ上に複数のOracleインスタンスが存在し、各インスタンスがそれぞれのデータファイル・セットを持つ可能性があるため、接続先のインスタンスを特定する必要があります。ローカル接続の場合は、オペレーティング・システムの環境変数を設定してインスタンスを識別します。リモート接続では、ネットワーク・アドレスとデータベース・サービス名を指定して、インスタンスを識別します。ローカル接続とリモート接続のいずれの場合も、環境変数を設定して、SQL*Plusの実行可能ファイルをオペレーティング・システムが検出できるようにし、実行可能ファイルにサポート・ファイルとスクリプトへのパスを設定する必要があります。
関連項目:
Oracleインスタンスに関するバックグラウンド情報は、『Oracle Database概要』を参照してください。
親トピック: SQL*Plusを使用したデータベースへの接続
1.3.3.2 ステップ1: コマンド・ウィンドウのオープン
プラットフォームで必要な処理を実行して、オペレーティング・システムのコマンドを入力できるウィンドウを開きます。
-
コマンド・ウィンドウを開きます。
親トピック: SQL*Plusを使用したデータベースへの接続
1.3.3.3 ステップ2: オペレーティング・システムの環境変数の設定
プラットフォームによっては、SQL*Plusを起動する前に、環境変数を設定するか少なくとも正しく設定されていることを確認することが必要な場合があります。
たとえば、ほとんどのプラットフォームでは、環境変数ORACLE_SID
およびORACLE_HOME
を設定する必要があります。さらに、ORACLE_HOME/bin
ディレクトリを含めるようにPATH
環境変数を構成する必要があります。一部のプラットフォームでは、さらに環境変数の設定が必要な場合があります。
-
UnixおよびLinuxでは、必要に応じてオペレーティング・システムのコマンドを入力して環境変数を設定します。
-
Microsoft Windowsでは、インストーラはWindowsレジストリ内の
ORACLE_HOME
とORACLE_SID
に値を自動的に割り当てます。LD_LIBRARY_PATHを変更します
インストール時にデータベースを作成しなかった場合、インストーラはレジストリ内のORACLE_SID
を設定しないため、後でデータベースを作成するときに、ORACLE_SID
環境変数をコマンド・ウィンドウから設定する必要があります。
UnixおよびLinuxのインストールには、oraenv
とcoraenv
の2つのスクリプトが含まれています。これらのスクリプトを使用すると、環境変数を容易に設定できます。
いずれのプラットフォームでも、異なるOracleホームを使用するインスタンス間で切り替える場合は、ORACLE_HOME
環境変数を変更する必要があります。同じOracleホームを複数のインスタンスで共有している場合は、インスタンスを切り替えるときにORACLE_SID
のみを変更する必要があります。
例1-1 Unixの環境変数の設定(Cシェル)
setenv ORACLE_SID orcl
setenv ORACLE_HOME /u01/app/oracle/product/database_release_number/dbhome_1
setenv LD_LIBRARY_PATH $ORACLE_HOME/lib:/usr/lib:/usr/dt/lib:/usr/openwin/lib:/usr/ccs/lib
例1-2 Linuxの環境変数の設定(Bashシェル)
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/database_release_number/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/dt/lib:/usr/openwin/lib:/usr/ccs/lib
例1-3 Microsoft Windowsの環境変数の設定
SET ORACLE_SID=orawin2 setenv LD_LIBRARY_PATH $ORACLE_HOME/lib:/usr/lib:/usr/dt/lib:/usr/openwin/lib:/usr/ccs/lib:$LD_LIBRARY_PATH
このMicrosoft Windowsの例では、ORACLE_HOME
およびORACLE_SID
がレジストリに設定されているが、別のインスタンスに接続するにはORACLE_SID
のレジストリ値を上書きする必要があると仮定しています。
Microsoft Windowsでは、コマンド・プロンプト・ウィンドウで設定した環境変数値でレジストリの値が上書きされます。
親トピック: SQL*Plusを使用したデータベースへの接続
1.3.3.4 ステップ3: SQL*Plusの起動
Oracle Databaseに接続するには、次のいずれかのオプションを使用してSQL*Plusを起動します。
親トピック: SQL*Plusを使用したデータベースへの接続
1.3.3.5 ステップ4: SQL*PlusのCONNECTコマンドの発行
最初にOracle Databaseインスタンスに接続する、または任意の時点で別のユーザーとして再接続するには、SQL*PlusのCONNECT
コマンドを発行します。
-
SQL*Plusで、
CONNECT
コマンドを発行します。
例1-4 ローカル・データベース・ユーザーへの接続
次の簡単な例では、ユーザーSYSTEM
でローカル・データベースに接続します。SQL*Plusによって、ユーザーSYSTEM
のパスワードの入力が求められます。
connect system
例1-5 SYSDBA権限でのローカル・データベース・ユーザーへの接続
次の例では、SYSDBA
権限のユーザーSYS
でローカル・データベースに接続します。SQL*Plusによって、ユーザーSYS
のパスワードの入力が求められます。
connect sys as sysdba
ユーザーSYS
として接続するときには、AS SYSDBA
を指定して接続する必要があります。
例1-6 SYSBACKUP権限でのローカル・データベース・ユーザーへの接続
次の例では、SYSBACKUP
権限のユーザーSYSBACKUP
でローカル・データベースに接続します。SQL*Plusによって、ユーザーSYSBACKUP
のパスワードの入力が求められます。
connect sysbackup as sysbackup
ユーザーSYSBACKUP
として接続するときには、AS SYSBACKUP
を指定して接続する必要があります。
例1-7 オペレーティング・システム認証によるSYSDBA権限でのローカルな接続
次の例では、オペレーティング・システム認証を使用してSYSDBA
権限でローカルに接続します。
connect / as sysdba
例1-8 簡易接続構文による接続
この例では、簡易接続の構文を使用し、ユーザーsalesadmin
として、ホストdbhost.example.com
で動作するリモート・データベースに接続します。Oracle Netリスナー(リスナー)は、デフォルト・ポート(1521)でリスニングしています。データベース・サービスは、sales.example.com
です。SQL*Plusによって、ユーザーsalesadmin
のパスワードの入力が求められます。
connect salesadmin@"dbhost.example.com/sales.example.com"
例1-9 サービス・ハンドラ・タイプを指定した簡易接続構文による接続
この例は、サービス・ハンドラ・タイプが指定されていることを除き、簡易接続構文によるデータベースへの接続と同じです。
connect salesadmin@"dbhost.example.com/sales.example.com:dedicated"
例1-10 デフォルト以外のリスナー・ポートを使用した簡易接続構文による接続
この例は、デフォルト以外のポート番号1522でリスナーがリスニングしていることを除き、簡易接続構文によるデータベースへの接続と同じです。
connect salesadmin@"dbhost.example.com:1522/sales.example.com"
例1-11 ホストIPアドレスを使用した簡易接続構文による接続
この例は、ホスト名のかわりにホストのIPアドレスが使用されている点を除き、簡易接続構文によるデータベースへの接続と同じです。
connect salesadmin@"192.0.2.5/sales.example.com"
例1-12 IPv6アドレスによる接続
この例では、IPv6アドレスを使用して接続します。角括弧で囲まれている点に注意してください。
connect salesadmin@"[2001:0DB8:0:0::200C:417A]/sales.example.com"
例1-13 インスタンスの指定による接続
次の例では、接続先のインスタンスを指定し、データベース・サービス名を省略します。インスタンスのみを指定する場合はサービス・ハンドラのタイプを指定できないことに注意してください。
connect salesadmin@"dbhost.example.com//orcl"
例1-14 ネット・サービス名による接続
次の例では、ユーザーsalesadmin
として、ネット・サービス名sales1
によって指定されたデータベース・サービスにリモート接続します。SQL*Plusによって、ユーザーsalesadmin
のパスワードの入力が求められます。
connect salesadmin@sales1
例1-15 外部認証による接続
次の例では、外部認証を使用して、ネット・サービス名sales1
によって指定されたデータベース・サービスにリモート接続します。
connect /@sales1
例1-16 SYSDBA権限と外部認証による接続
次の例では、外部認証を使用してSYSDBA
権限で、ネット・サービス名sales1
によって指定されたデータベース・サービスにリモート接続します。
connect /@sales1 as sysdba
例1-17 サービス名を使用したユーザーとしての接続
次の例では、ユーザーsalesadmin
として、ネット・サービス名sales1
によって指定されたデータベース・サービスにリモート接続します。データベース・セッションは、rev21
エディションで開始されます。SQL*Plusによって、ユーザーsalesadmin
のパスワードの入力が求められます。
connect salesadmin@sales1 edition=rev21
ノート:
SYSDBA
権限を持つユーザーとしてデータベースに接続しているときに問題が発生した場合は、My Oracle Supportノート69642.1、233223.1、18089.1および747456.1を参照してください。
- SQL*PlusのCONNECTコマンドの構文
Oracleインスタンスに初めて接続するか、Oracleインスタンスに再接続するには、SQL*PlusCONNECT
コマンドを使用します。
親トピック: SQL*Plusを使用したデータベースへの接続
1.3.3.5.1 SQL*PlusのCONNECTコマンドの構文
Oracleインスタンスに初めて接続するか、Oracleインスタンスに再接続するには、SQL*Plus CONNECT
コマンドを使用します。
構文
CONN[ECT] [logon] [AS {SYSOPER | SYSDBA | SYSBACKUP | SYSDG | SYSKM | SYSRAC}]
logon
の構文は、次のとおりです。
{username | /}[@connect_identifier] [edition={edition_name | DATABASE_DEFAULT}]
username
を入力すると、パスワードの入力を求めるプロンプトがSQL*Plusによって表示されます。パスワードは入力しても画面には表示されません。
次の表で、CONNECT
コマンドの構文の構成要素を説明します。
構文の構成要素 | 説明 |
---|---|
|
接続要求の外部認証を呼び出します。このタイプの認証では、データベース・パスワードは使用しません。最も一般的な外部認証方式はオペレーティング・システム認証で、この方式では、特定のホスト・ユーザー・アカウントを使用してホスト・オペレーティング・システムにログインすることで、データベース・ユーザーの認証を行います。また、Oracleウォレットまたはネットワーク・サービスを使用して、外部認証を実行することもできます。詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。「オペレーティング・システム認証の使用」も参照してください。 |
|
データベース・ユーザーが管理権限で接続していることを示します。この権限で接続できるのは、事前定義された特定の管理ユーザーまたはパスワード・ファイルに追加されているユーザーのみです。詳細は、「管理権限」を参照してください。 |
|
有効なデータベース・ユーザー名。 |
|
リモート接続用のOracle Net接続識別子。正確な構文はOracle Netの構成によって異なります。省略すると、SQL*Plusはローカル・インスタンスへの接続を試みます。 一般的な接続識別子はnet service nameです。この識別子は、Oracle Net接続記述子(ネットワーク・アドレスとデータベース・サービス名)の別名です。通常、この別名はローカル・コンピュータの 接続識別子の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。 |
|
別の方法として、接続識別子で簡易接続の構文も使用できます。簡易接続では、クライアント(ローカル)コンピュータでOracle Net Servicesを設定しなくても、すぐにTCP/IP接続が可能になります。 接続識別子用の簡易接続の構文は次のとおりです(前後の二重引用符も必要です)。 "host[:port][/service_name][:server][/instance_name]" ここで:
簡易接続の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。 |
|
新規のデータベース・セッションを開始するエディションを指定します。エディションを指定した場合はそのエディションが必ず存在する必要があり、また、エディションに対する エディションおよびエディションに基づく再定義の詳細は、『Oracle Database開発ガイド』を参照してください。 |
関連項目:
-
データベース・サービスの詳細は、「データベース・サービスでのアプリケーション・ワークロードの管理」 を参照してください
-
CONNECT
コマンドの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。 -
ネット・サービス名の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
-
listener.oraでのデフォルトのサービスの定義方法は、『Oracle Database Net Servicesリファレンス』
を参照してください。
1.4 Oracle Databaseソフトウェアのリリースの識別
特定のリリースを完全に識別するには、5つの番号が必要です。
Oracle Databaseは継続的に開発が進められ、メンテナンスが必要なため、定期的に新リリースが作成されています。すべての顧客が、新リリースを最初に利用したり、既存のリリースに対する特定のメンテナンスを必要とするわけではありません。この結果、複数の製品リリースが同時に存在することになります。
- Oracle Databaseのリリース番号について
Oracle Databaseリリースは、リリース情報を示す5つの数値セグメントによって分類されます。 - 現行のリリース番号のチェック
現在インストールされているOracle Databaseのリリースを識別し、使用している他のデータベース・コンポーネントのリリース・レベルを確認するには、データ・ディクショナリ・ビューPRODUCT_COMPONENT_VERSION
を問い合せます。
親トピック: データベース管理スタート・ガイド
1.4.1 Oracle Databaseのリリース番号について
Oracle Databaseリリースは、リリース情報を示す5つの数値セグメントによって分類されます。
ノート:
四半期ごとの更新は、リリース更新(UpdateまたはRU)およびリリース更新リビジョン(RevisionまたはRUR)の形式で提供されています。パッチ・セットまたはバンドル・パッチ・セットはリリースされなくなりました。詳細は、My Oracle SupportのNote 2285040.1を参照してください。
Oracle Databaseリリースは、version
とversion_full
のリリースでリリースされます。
version
リリースは、メジャー・リリース・バージョン.0.0.0.0
の形式で指定されます。メジャー・リリース・バージョンは、Oracle Databaseのバージョンがリリースされた最初の年の最後の2桁に基づいています。たとえば、2018年に最初にリリースされたOracle Databaseバージョンのメジャー・リリース・バージョンは18で、そのversion
リリースは18.0.0.0.0
になります。
version_full
リリースはversion
リリースの更新で、メジャー・リリース・バージョン、四半期ごとのリリース更新バージョン(Update)、および四半期ごとのリリース更新リビジョン(Revision)に基づいて指定されます。version_full
リリースは、次の例に示すように、ピリオドで区切られた5つの数値セグメントで分類されます。
-
1番目の数字: この数字はメジャー・リリース・バージョンを示します。これは、Oracle Databaseのバージョンがリリースされた最初の年の最後の2桁でもあります。
-
2番目の数字: この数字はリリース更新バージョン(UpdateまたはRU)を示します。
-
3番目の数字: この数字はリリース更新リビジョン・バージョン(RevisionまたはRUR)を示します。
-
4番目の数字: この数字は将来使用するために予約されています。現在は常に0に設定されています。
-
5番目の数字: 最初の3つのフィールドのみが一般的に使用されますが、5番目のフィールドには19.7.0.0.200414など、リリース更新(RU)のリリース日を冗長に明確にする数値を表示できます。
ノート:
最初の3つの数字は、主にOracle Databaseのリリースを識別します。
注意:
アップグレードを開始する前およびダウングレードを開始する前に、ターゲット・データベースに最新のリリース更新を適用することをお薦めします。可能な場合は、ソース環境にパッチが適用されていることも確認します。リリースの更新は累積されます。Oracle Grid Infrastructure環境も更新する場合は、Oracle Database Oracleホームを更新する前に、必ず最新のリリース更新をGrid環境に適用します。更新の詳細は、My Oracle Supportノート2118136.2を参照してください。
1.4.2 現行のリリース番号のチェック
現在インストールされているOracle Databaseのリリースを識別し、使用している他のデータベース・コンポーネントのリリース・レベルを確認するには、データ・ディクショナリ・ビューPRODUCT_COMPONENT_VERSION
を問い合せます。
問合せの例を次に示します。他の製品のリリース・レベルは、データベース・サーバーと関係なく増加する場合があります。
COL PRODUCT FORMAT A38 COL VERSION FORMAT A10 COL VERSION_FULL FORMAT A12 COL STATUS FORMAT A12 SELECT * FROM PRODUCT_COMPONENT_VERSION; PRODUCT VERSION VERSION_FULL STATUS -------------------------------------- ---------- ------------ ------------ NLSRTL 19.0.0.0.0 19.2.0.0.0 Production Oracle Database 19c Enterprise Edition 19.0.0.0.0 19.2.0.0.0 Production PL/SQL 19.0.0.0.0 19.2.0.0.0 Production ...
オラクル社にソフトウェアの問題を報告する際は、この問合せの結果を伝えることが重要です。
ノート:
V$VERSION
ビューを問い合せて、現在インストールされているすべてのOracle Databaseコンポーネントに関するコンポーネント・レベル情報を表示することもできます。
1.5 データベース管理者のセキュリティと権限について
Oracle Database管理者の管理タスクを実行するには、データベースとそのデータベースが稼働するサーバーのオペレーティング・システムで特定の権限が必要です。データベース管理者のアカウントへのアクセスは厳しく管理する必要があります。
- データベース管理者のオペレーティング・システム・アカウント
データベースに対する管理業務の多くを実行するには、オペレーティング・システム・コマンドを実行できる必要があります。 - 管理ユーザー・アカウント
Oracle Databaseでは、管理権限に関連付けられている複数の管理ユーザー・アカウントが用意されています。
親トピック: データベース管理スタート・ガイド
1.5.1 データベース管理者のオペレーティング・システム・アカウント
データベースに対する管理業務の多くを実行するには、オペレーティング・システム・コマンドを実行できる必要があります。
Oracle Databaseが稼働するオペレーティング・システムによって異なりますが、オペレーティング・システムにアクセスするには、オペレーティング・システム・アカウント(ID)が必要になります。その場合、そのオペレーティング・システム・アカウントに対しては、他のデータベース・ユーザーには不要なオペレーティング・システム権限やアクセス権(Oracle Databaseソフトウェアのインストールの実行など)が必要になります。Oracle Databaseファイルを自分のアカウント内に格納する必要はありませんが、それらに対するアクセス権は必要です。
関連項目:
使用しているオペレーティング・システム固有のOracleマニュアルを参照してください。データベース管理者のアカウントの作成方法は、オペレーティング・システムによって異なります。
親トピック: データベース管理者のセキュリティと権限について
1.5.2 管理ユーザー・アカウント
Oracle Databaseでは、管理権限に関連付けられている複数の管理ユーザー・アカウントが用意されています。
- 管理ユーザー・アカウントについて
管理ユーザー・アカウントには、CREATE ANY TABLE
権限やALTER SESSION
権限、SYS
スキーマが所有するパッケージのEXECUTE
権限のような、データベースの領域の管理に必要となる特別な権限があります。 - SYS
Oracleデータベースを作成すると、すべての権限を持つユーザーSYS
が自動的に作成されます。 - SYSTEM
Oracleデータベースを作成すると、ユーザーSYSTEM
も自動的に作成され、DBA
ロールが付与されます。 - SYSBACKUP、SYSDG、SYSKMおよびSYSRAC
Oracleデータベースを作成すると、データベース管理者の業務の分離を容易にするために、SYSBACKUP
、SYSDG
、SYSKM
およびSYSRAC
の各ユーザーが自動的に作成されます。 - DBAロール
事前に定義されたDBA
ロールは、Oracle Databaseのインストールで自動的に作成されます。このロールには、ほとんどのデータベース・システム権限が含まれています。このため、DBAロールは実際のDBAにのみ付与してください。
親トピック: データベース管理者のセキュリティと権限について
1.5.2.1 管理ユーザー・アカウントについて
管理ユーザー・アカウントには、CREATE ANY TABLE
権限やALTER SESSION
権限、SYS
スキーマが所有するパッケージのEXECUTE
権限のような、データベースの領域の管理に必要になる特別な権限があります。
Oracle Databaseのインストール時には、次の管理ユーザー・アカウントが自動的に作成されます。
-
SYS
-
SYSTEM
-
SYSBACKUP
-
SYSDG
-
SYSKM
-
SYSRAC
少なくとも1人の管理ユーザーを追加作成し、日常的な管理タスクを実行するための適切な権限を付与することをお薦めします。これらの目的のためにSYS
およびSYSTEM
を使用しないでください。
ノート:
Oracle Universal Installer (OUI)およびDatabase Configuration Assistant (DBCA)では、SYS
およびSYSTEM
のパスワードの入力が要求され、デフォルトのパスワードは受け入れられません。
関連項目:
-
データベースの構成のためのセキュリティ・チェックリストについては、Oracle Databaseセキュリティ・ガイドを参照してください。
親トピック: 管理ユーザー・アカウント
1.5.2.2 SYS
Oracle Databaseを作成すると、すべての権限を持つユーザーSYS
が自動的に作成されます。
データベースのデータ・ディクショナリの実表とビューはすべて、SYS
スキーマに格納されます。これらの実表とビューは、Oracle Databaseの操作にとって重要です。データ・ディクショナリの整合性を保持するには、SYS
スキーマ内の表をデータベースのみで操作します。ユーザーやデータベース管理者はそれらの表を修正したり、ユーザーSYS
のスキーマ内に表を作成しないでください。(ただし、必要に応じてデータ・ディクショナリ設定の記憶域パラメータを変更することは可能です。)
ほとんどのデータベース・ユーザーに対して、SYS
アカウントによるOracle Databaseへの接続を禁止する必要があります。
親トピック: 管理ユーザー・アカウント
1.5.2.3 SYSTEM
Oracle Databaseを作成すると、ユーザーSYSTEM
も自動的に作成され、DBA
ロールが付与されます。
このユーザー名SYSTEM
を使用して、管理情報を表示する追加表とビュー、および各種のOracle Databaseのオプションとツール製品で使用される内部表とビューが作成されます。管理ユーザー以外のユーザーに関係する表の格納に、SYSTEM
スキーマを使用しないでください。
親トピック: 管理ユーザー・アカウント
1.5.2.4 SYSBACKUP、SYSDG、SYSKMおよびSYSRAC
Oracle Databaseを作成すると、データベース管理者の業務の分離を容易にするために、SYSBACKUP
、SYSDG
、SYSKM
およびSYSRAC
の各ユーザーが自動的に作成されます。
これらのユーザーは次の方法で業務を分離します。
-
SYSBACKUP
によって、RMANまたはSQL*PlusからのOracle Recovery Manager (RMAN)バックアップおよびリカバリ操作が容易になります。 -
SYSDG
によって、Data Guardの操作が容易になります。ユーザーは、Data Guard BrokerまたはDGMGRL
コマンドライン・インタフェースを使用して操作を実行できます。 -
SYSKM
によって、透過的データ暗号化キーストア操作が容易になります。 -
SYSRAC
によって、SRVCTLなどのOracle RACユーティリティにかわってClusterwareエージェントでデータベースに接続することで、Oracle Real Application Clusters (Oracle RAC)操作が容易になりますSYSRAC
管理権限はデータベース・ユーザーに付与できず、パスワード・ファイルでサポートされません。SYSRAC
管理権限は、オペレーティング・システム認証を使用してデータベースに接続するためにOracle ClusterwareのOracleエージェントによってのみ使用されます。
これらの各アカウントには、新しい管理権限のために指定された、同じ名前を持つ1つのユーザーがあります。具体的には、SYSBACKUP
アカウントには、SYSBACKUP
管理権限に対して指定されたユーザーがあります。SYSDG
アカウントには、SYSDG
管理権限に対して指定されたユーザーがあります。SYSKM
アカウントには、SYSKM
管理権限に対して指定されたユーザーがあります。
ユーザーを作成し、そのユーザーに、日常的な管理タスクを実施するときに使用する、適切な管理権限を付与します。これにより、各ユーザー・アカウントを個別に管理し、各ユーザー・アカウントに個別のパスワードを割り当てることができます。SYSBACKUP
、SYSDG
またはSYSKM
ユーザー・アカウントはこれらの目的のために使用しないでください。
これらの管理権限のいずれかを使用するには、データベースに接続するときに、権限(たとえば、AS SYSBACKUP
、AS SYSDG
またはAS SYSKM
)を指定して権限を使用する必要があります。認証が成功すると、ユーザーは、管理権限が有効になっているセッションでデータベースに接続されます。この場合、セッション・ユーザーは対応する管理ユーザー・アカウントになります。たとえば、ユーザーbradmin
がAS
SYSBACKUP
管理権限で接続した場合、セッション・ユーザーはSYSBACKUP
になります。
ノート:
- これらのユーザー・アカウントは削除できません。
- これらのユーザー・アカウントはスキーマ専用アカウントです(つまり、パスワードなしで作成される)。これらのユーザー・アカウントには、認証する必要が生じたらいつでもパスワードを割り当てることができます。
親トピック: 管理ユーザー・アカウント
1.5.2.5 DBAロール
事前に定義されたDBA
ロールは、Oracle Databaseのインストールで自動的に作成されます。このロールには、ほとんどのデータベース・システム権限が含まれています。このため、DBAロールは実際のDBAにのみ付与してください。
ノート:
DBAロールには、SYSDBA
、SYSOPER
、SYSBACKUP
、SYSDG
またはSYSKM
システム権限は含まれていません。これらは、データベースとインスタンスの起動や停止など、基本的なデータベース管理タスクの実行を管理者に許可する特別な管理権限です。これらの管理権限の詳細は、「管理権限」を参照してください。
関連項目:
-
管理ユーザー・アカウントの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
親トピック: 管理ユーザー・アカウント
1.6 データベース管理者の認証
DBAは、データベースの起動や停止などの特別な操作を実行します。これらの操作はDBAのみが実行するため、DBAのユーザー名には安全性の高い認証方式が必要です。
- 管理権限
管理者が基本的なデータベース操作を実行するために必要な管理権限は、特別なシステム権限によって付与されます。 - 管理権限で認可されている操作
各管理権限は、操作の特定のセットを認可します。 - データベース管理者の認証方法
データベース管理者は、アカウント・パスワード、オペレーティング・システム(OS)認証、パスワード・ファイル、またはOracle Internet Directoryなどのディレクトリベースの認証サービスを使用した強力な認証によって認証できます。 - オペレーティング・システム認証の使用
特別なオペレーティング・システム・グループにメンバーシップがあると、DBAは、データベースのユーザー名とパスワードを使用するかわりに、オペレーティング・システムを経由してデータベースに対する認証を行うことができます。このことはオペレーティング・システム認証と呼ばれます。 - パスワード・ファイル認証の使用
Oracle DatabaseインスタンスおよびOracle Automatic Storage Management (Oracle ASM)インスタンスのパスワード・ファイル認証を使用できます。Oracle Databaseのパスワード・ファイルはデータベース・パスワード・ファイルと呼ばれ、Oracle ASMのパスワード・ファイルはOracle ASMパスワード・ファイルと呼ばれます。
親トピック: データベース管理スタート・ガイド
1.6.1 管理権限
管理者が基本的なデータベース操作を実行するために必要な管理権限は、特別なシステム権限によって付与されます。
これらの権限を次に示します。
-
SYSDBA
-
SYSOPER
-
SYSBACKUP
-
SYSDG
-
SYSKM
-
SYSRAC
SYSRAC
権限を除き、必要な認可レベルに応じてこれらの権限がユーザーに付与されます。SYSRAC
権限は、オペレーティング・システム認証を使用してデータベースに接続するためにOracle ClusterwareのOracleエージェントによってのみ使用されるため、ユーザーに付与できません。
Oracle Database 12cリリース1 (12.1)からは、SYSBACKUP
、SYSDG
およびSYSKM
管理権限を使用できるようになりました。Oracle Database 12cリリース2 (12.2)からは、SYSRAC
管理権限を使用できます。それぞれの新しい管理権限によって、管理の各領域におけるタスクを完了するのに必要な最小限の権限が付与されます。新しい管理権限を使用すると、数多くの一般的なタスクに対してSYSDBA
管理権限を付与することを回避できます。
ノート:
これらの管理権限を使用すると、データベースがオープンしていなくてもデータベース・インスタンスにアクセスできます。これらの権限の制御は、完全にデータベース機能の範囲外にあります。これらの権限を持つデータベース管理者を認証する方式には、オペレーティング・システム(OS)認証、パスワード・ファイルおよびディレクトリベースの認証サービスによる強力な認証があります。
また、これらの権限は、他の方法では権限を付与できない特定のデータベース操作を実行可能にする接続のタイプと考えることもできます。たとえば、SYSDBA
権限がある場合はCONNECT
コマンドのAS SYSDBA
句を指定してデータベースに接続し、STARTUP
およびSHUTDOWN
操作を実行できます。「データベース管理者の認証方法」を参照してください。
親トピック: データベース管理者の認証
1.6.2 管理権限で許可されている操作
各管理権限は、操作の特定のセットを認可します。
次の表に、各管理権限で許可されている操作を示します。
管理権限 | 許可される操作 |
---|---|
|
この管理権限を使用すると、ユーザー・データの表示を含め、ほとんどの操作を実行できます。これは最も強力な管理権限です。 |
|
この権限を使用すると、ユーザー・データの表示を除く基本操作を実行できます。 |
|
この権限を使用すると、Oracle Recovery Manager (RMAN)またはSQL*Plusからバックアップおよびリカバリ操作を実行できます。 この管理権限で許可される操作の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。 |
|
この権限を使用すると、Data Guard操作を実行できます。Data Guard Brokerまたは この管理権限で許可される操作の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。 |
|
この権限を使用すると、透過的データ暗号化キーストア操作を実行できます。 この管理権限で許可される操作の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。 |
|
この権限により、Oracle ClusterwareのOracleエージェントはOracle Real Application Clusters (Oracle RAC)操作を実行できます。 この管理権限で許可される操作の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。 |
これらの権限の使用を許可する方法は、使用する認証方式によって異なります。
管理権限で接続すると、通常ユーザー名に関連付けられていない現行スキーマで接続が確立されます。SYSDBA
の場合、現行スキーマはSYS
です。SYSOPER
の場合、現行スキーマはPUBLIC
です。SYSBACKUP
、SYSDG
およびSYSRAC
の場合、現行スキーマは名前解決のためのSYS
です。ただし、SYSKM
の現行スキーマはSYSKM
です。
また、管理権限で接続すると、特定のセッション・ユーザーを使用して接続が確立されます。SYSDBA
として接続した場合、セッション・ユーザーはSYS
となります。SYSOPER
の場合、セッション・ユーザーはPUBLIC
となります。SYSBACKUP
、SYSDG
、SYSKM
、SYSRAC
の場合、セッション・ユーザーはそれぞれSYSBACKUP
、SYSDG
、SYSKM
、SYSRAC
となります。
関連項目:
-
現行スキーマおよびセッション・ユーザーの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。
例1-18 AS SYSDBA接続時の現行スキーマ
この例では、ユーザーがSYSDBA
管理権限で接続したときに、他のスキーマ(SYS
)に割り当てられることを説明します。SYSDBA
管理権限を付与されているサンプル・ユーザーmydba
が、次のコマンドおよび文を発行したと想定します。
CONNECT mydba CREATE TABLE admin_test(name VARCHAR2(20));
後で、ユーザーmydba
が次のコマンドおよび文を発行します。
CONNECT mydba AS SYSDBA SELECT * FROM admin_test;
ユーザーmydba
は次のエラー・メッセージを受け取ります。
ORA-00942: table or view does not exist
SYSDBA
で接続しているため、ユーザーmydba
は現在SYS
スキーマを参照していますが、表はmydba
スキーマに作成されています。
例1-19 AS SYSBACKUP接続時の現行スキーマおよびセッション・ユーザー
この例では、ユーザーがSYSBACKUP
管理権限で接続したときに、他のスキーマ(SYS
)および他のセッション・ユーザー(SYSBACKUP
)に割り当てられることを説明します。SYSBACKUP
管理権限を付与されているサンプル・ユーザーmydba
が、次のコマンドおよび文を発行したと想定します。
CONNECT mydba AS SYSBACKUP SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') FROM DUAL; SYS_CONTEXT('USERENV','CURRENT_SCHEMA') -------------------------------------------------------------------------------- SYS SELECT SYS_CONTEXT('USERENV', 'SESSION_USER') FROM DUAL; SYS_CONTEXT('USERENV','SESSION_USER') -------------------------------------------------------------------------------- SYSBACKUP
親トピック: データベース管理者の認証
1.6.3 データベース管理者の認証方法
データベース管理者は、アカウント・パスワード、オペレーティング・システム(OS)認証、パスワード・ファイル、またはOracle Internet Directoryなどのディレクトリベースの認証サービスを使用した強力な認証によって認証できます。
- データベース管理者の認証方法について
データベース管理者を認証する方法は複数あります。 - セキュリティで保護されていないリモート接続
セキュリティで保護されていない接続で、権限を持つユーザーとしてOracle Databaseに接続するには、パスワード・ファイルによる認証を受ける必要があります。 - ローカル接続およびセキュリティで保護されたリモート接続
ローカル接続またはセキュリティで保護されたリモート接続で、権限を持つユーザーとしてOracle Databaseに接続できます。
親トピック: データベース管理者の認証
1.6.3.1 データベース管理者の認証方法について
データベース管理者を認証する方法は複数あります。
Oracleデータベースは、他のユーザーと同様に(アカウント・パスワードを使用して)、データ・ディクショナリを介してデータベース管理者を認証できます。データベース・パスワードでは、大/小文字が区別されることに注意してください。データベース・パスワードの大/小文字区別の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
通常のデータ・ディクショナリ認証に加えて、SYSDBA
、SYSOPER
、SYSBACKUP
、SYSDG
またはSYSKM
権限を持つデータベース管理者の認証には、次の方式を使用できます。
-
オペレーティング・システム(OS)認証
-
パスワード・ファイル(KerberosおよびSSL認証サービスを含む)
-
Oracle Internet Directoryなどのディレクトリ・ベースの認証サービスによる強力な認証
ノート:
SYSRAC
権限は、Oracle ClusterwareのOracleエージェントによるOS認証のみ許可します。パスワード・ファイルおよび強力な認証は、SYSRAC
権限では使用できません。
これらの方式は、データベースが起動していない場合や使用できない場合にデータベース管理者を認証する際に必要になります。(データベースが使用可能な場合にも使用できます。)
ここからは、オペレーティング・システム認証とパスワード・ファイル認証について説明します。ディレクトリベースの認証を使用してデータベース管理者を認証する方法の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
ノート:
オペレーティング・システム認証は、パスワード・ファイル認証より優先されます。オペレーティング・システム認証の要件を満たしている場合は、パスワード・ファイルを使用している場合でもオペレーティング・システム認証によって認証されます。
データベースと同じシステム上でデータベースをローカルで管理するか、または単一のリモート・クライアントから複数の異なるデータベースを管理するかによって、選択が決まります。次の図は、データベース管理者用に選択できる認証方式を示しています。
リモート・データベース管理の場合は、Oracle Net関連マニュアルを参照して、セキュリティで保護された接続を使用しているかどうかを判断してください。TCP/IPやDECnetなどの最も一般的な接続プロトコルは、セキュリティによって保護されていません。
関連項目:
-
ディレクトリベースの認証を使用してデータベース管理者を認証する方法の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
親トピック: データベース管理者の認証方法
1.6.3.2 セキュリティで保護されていないリモート接続
セキュリティで保護されていない接続で、権限を持つユーザーとしてOracle Databaseに接続するには、パスワード・ファイルによる認証を受ける必要があります。
パスワード・ファイル認証を使用すると、SYSDBA
、SYSOPER
、SYSBACKUP
、SYSDG
またはSYSKM
管理権限を付与されたデータベース・ユーザー名を追跡管理するために、データベースでは、パスワード・ファイルを使用します。この認証方式については、「パスワード・ファイル認証の使用」を参照してください。
親トピック: データベース管理者の認証方法
1.6.3.3 ローカル接続およびセキュリティで保護されたリモート接続
ローカル接続またはセキュリティで保護されたリモート接続で、権限を持つユーザーとしてOracle Databaseに接続できます。
接続には、次の2つの方法があります。
-
データベースにパスワード・ファイルがあり、ユーザーがシステム権限を付与されている場合は、パスワード・ファイルを使用して接続し、認証を受けることができます。
-
サーバーでパスワード・ファイルを使用していない場合や、ユーザーにシステム権限が付与されていないためにパスワード・ファイルにアクセスできない場合は、オペレーティング・システム認証を使用できます。ほとんどのオペレーティング・システムでは、データベース管理者の認証には、データベース管理者のオペレーティング・システム・ユーザー名を特別なグループに配置する必要があります。
たとえば、OSDBAグループのユーザーには、
SYSDBA
管理権限が付与されます。同様に、OSOPERグループはユーザーにSYSOPER
管理権限を付与するために使用され、OSBACKUPDBAグループはユーザーにSYSBACKUP
管理権限を付与するために使用され、OSDGDBAグループはユーザーにSYSDG
管理権限を付与するために使用され、OSKMDBAグループはユーザーにSYSKM
管理権限を付与するために使用され、OSRACDBAグループはユーザーにSYSRAC
管理権限を付与するために使用されます。
親トピック: データベース管理者の認証方法
1.6.4 オペレーティング・システム認証の使用
特別なオペレーティング・システム・グループにメンバーシップがあると、DBAは、データベースのユーザー名とパスワードを使用するかわりに、オペレーティング・システムを経由してデータベースに対する認証を行うことができます。このことはオペレーティング・システム認証と呼ばれます。
- オペレーティング・システム・グループ
オペレーティング・システム・グループは、データベース・インストール・プロセスの一貫として作成され、特定の名前を割り当てられます。 - オペレーティング・システム認証を使用するための準備
DBAは、データベース・ユーザー名およびパスワードを使用するのでなく、オペレーティング・システムを通じてデータベースに対して認証できます。 - オペレーティング・システム認証を使用した接続
ユーザーは、オペレーティング・システム認証を使用してデータベースに接続できます。
親トピック: データベース管理者の認証
1.6.4.1 オペレーティング・システム・グループ
オペレーティング・システム・グループは、データベースのインストール・プロセスで作成され、特定の名前が割り当てられます。
オペレーティング・システム・グループのデフォルトの名前は、次の表に示すようにオペレーティング・システムによって異なります。
オペレーティング・システム・グループ | UNIXまたはLinuxユーザー・グループ | Windowsユーザー・グループ |
---|---|---|
OSDBA |
|
|
OSOPER |
|
|
OSBACKUPDBA |
|
|
OSDGDBA |
|
|
OSKMDBA |
|
|
OSRACDBA |
|
|
Windowsユーザー・グループ名では、HOMENAMEをOracleホーム名で置き換えます。
Oracle Universal Installerではデフォルトの名前が使用されますが、UNIXまたはLinuxではこの名前は上書きできます。UNIXまたはLinuxで、上書きする理由の1つは、異なるOracleホームの同じホスト・コンピュータ上で複数のインスタンスが実行されている場合です。各インスタンスのプリンシパルDBAを異なるユーザーにする場合は、各インスタンスに対して異なるグループを作成することによって、各インスタンスのセキュリティを高めることができます。
たとえば、異なるOracleホームの同じUNIXまたはLinuxホスト上の2つのインスタンスについて、1つ目のインスタンスのOSDBAグループの名前をdba1
とし、2つ目のインスタンスのOSDBAの名前をdba2
にできます。1人目のDBAはdba1
のみのメンバーとし、2人目のDBAはdba2
のみのメンバーとします。これにより、オペレーティング・システム認証を使用すると、各DBAは割り当てられたインスタンスに対してのみ接続できます。
Windowsでは、デフォルトのユーザー・グループ名は変更できません。HOMENAMEプレースホルダを使用すると、同じホストWindowsコンピュータ上で複数のインスタンスが実行されている場合に異なるユーザー・グループ名を指定できます。
グループのメンバーシップは、データベースへの接続に次のように影響します。
-
データベースへの接続時に、OSDBAグループに属するユーザーが
AS SYSDBA
を指定した場合、そのユーザーは、SYSDBA
管理権限でデータベースに接続します。 -
データベースへの接続時に、OSOPERグループに属するユーザーが
AS SYSOPER
を指定した場合、そのユーザーは、SYSOPER
管理権限でデータベースに接続します。 -
データベースへの接続時に、OSBACKUPDBAグループに属するユーザーが
AS SYSBACKUP
を指定した場合、そのユーザーは、SYSBACKUP
管理権限でデータベースに接続します。 -
データベースへの接続時に、OSDGDBAグループに属するユーザーが
AS SYSDG
を指定した場合、そのユーザーは、SYSDG
管理権限でデータベースに接続します。 -
データベースへの接続時に、OSKMDBAグループに属するユーザーが
AS SYSKM
を指定した場合、そのユーザーは、SYSKM
管理権限でデータベースに接続します。 -
データベースへの接続時に、OSRACDBAグループに属するユーザーが
AS SYSRAC
を指定した場合、そのユーザーは、SYSRAC
管理権限でデータベースに接続します。 -
これらのオペレーティング・システム・グループのいずれにも属していないユーザーが
SYSDBA
、SYSOPER
、SYSBACKUP
、SYSDG
、SYSKM
またはSYSRAC
として接続しようとした場合、CONNECT
コマンドを発行するとエラーが発生します。
関連項目:
OSDBAおよびOSOPERグループの作成方法の詳細は、使用しているオペレーティング・システム固有のOracleマニュアルを参照してください。
親トピック: オペレーティング・システム認証の使用
1.6.4.2 オペレーティング・システム認証を使用するための準備
DBAは、データベース・ユーザー名およびパスワード以外のオペレーティング・システムを通じてデータベースに対して認証できます。
オペレーティング・システムを使用して管理ユーザーを認証するには、次の手順を実行する必要があります。
- ユーザーのオペレーティング・システム・アカウントを作成します。
- 適切なオペレーティング・システムで定義されたグループにアカウントを追加します。
親トピック: オペレーティング・システム認証の使用
1.6.4.3 オペレーティング・システム認証を使用した接続
ユーザーは、オペレーティング・システム認証を使用してデータベースに接続できます。
オペレーティング・システム認証は、次のいずれかのアクションを実行することで使用できます。
-
次のどちらかのSQL*Plusコマンドを入力すると、ユーザーが管理ユーザーとして認証され、ローカル・データベースに接続できます。
CONNECT / AS SYSDBA CONNECT / AS SYSOPER CONNECT / AS SYSBACKUP CONNECT / AS SYSDG CONNECT / AS SYSKM
-
セキュリティで保護された接続を介したリモート・オペレーティング・システム認証がサポートされているのは、Windowsプラットフォームのみです。リモート・データベースのネット・サービス名を指定する必要があります。
CONNECT /@net_service_name AS SYSDBA CONNECT /@net_service_name AS SYSOPER CONNECT /@net_service_name AS SYSBACKUP CONNECT /@net_service_name AS SYSDG CONNECT /@net_service_name AS SYSKM
クライアント・コンピュータとデータベース・ホスト・コンピュータの両方がWindowsドメイン上にあることが必要です。
ノート:
SYSRAC
管理権限は、オペレーティング・システム認証を使用してデータベースに接続するためにOracle ClusterwareのOracleエージェントによってのみ使用されます。
関連項目:
-
CONNECT
コマンドの構文は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください
親トピック: オペレーティング・システム認証の使用
1.6.5 パスワード・ファイル認証の使用
Oracle DatabaseインスタンスおよびOracle Automatic Storage Management(Oracle ASM)インスタンスのパスワード・ファイル認証を使用できます。Oracle Databaseのパスワード・ファイルはデータベース・パスワード・ファイルと呼ばれ、Oracle ASMのパスワード・ファイルはOracle ASMパスワード・ファイルと呼ばれます。
- パスワード・ファイル認証を使用するための準備
パスワード・ファイル認証を準備するには、パスワード・ファイルを作成し、REMOTE_LOGIN_PASSWORDFILE
初期化パラメータを設定し、権限を付与する必要があります。 - パスワード・ファイル認証を使用した接続
パスワード・ファイル認証を使用すると、管理ユーザーは、SQL*PlusのCONNECT
コマンドによりローカルまたはリモート・データベースに接続して認証を受けることができます。デフォルトでは、パスワードは大/小文字が区別されます。
関連項目:
Oracle ASMパスワード・ファイルの作成の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。親トピック: データベース管理者の認証
1.6.5.1 パスワード・ファイル認証を使用するための準備
パスワード・ファイル認証を準備するには、パスワード・ファイルを作成し、REMOTE_LOGIN_PASSWORDFILE
初期化パラメータを設定し、権限を付与する必要があります。
パスワード・ファイル認証を使用して管理ユーザーを認証するには、次の手順を実行する必要があります。
親トピック: パスワード・ファイル認証の使用
1.6.5.2 パスワード・ファイル認証を使用した接続
パスワード・ファイル認証を使用すると、SQL*PlusのCONNECT
コマンドを使用することによって、管理ユーザーが認証され、ローカルまたはリモート・データベースに接続できます。デフォルトでは、パスワードは大/小文字が区別されます。
パスワード・ファイル認証を使用して接続するには:
-
SQL*Plusでは、有効なユーザー名とパスワードおよび
AS
SYSDBA
、AS
SYSOPER
、AS
SYSBACKUP
、AS
SYSDG
またはAS
SYSKM
句を使用してCONNECT
コマンドを実行します。
たとえば、ユーザーmydba
がSYSDBA
権限を付与されている場合、次のコマンドで接続できます。
CONNECT mydba AS SYSDBA
しかし、ユーザーmydba
がSYSOPER
権限を付与されていない場合、次のコマンドは失敗します。
CONNECT mydba AS SYSOPER
ノート:
オペレーティング・システム認証は、パスワード・ファイル認証より優先されます。具体的には、ユーザーが適切なオペレーティング・システム・グループ(OSDBAやOSOPERなど)のメンバーであるときに、適切な句(AS
SYSDBA
など)を使用して接続すると、指定したユーザー名/パスワードにかかわらず、関連付けられている管理権限で接続されます。
ユーザーがいずれのオペレーティング・システム・グループにも属しておらず、パスワード・ファイルにも指定されていない場合、句を使用して接続しようとすると失敗します。
関連項目:
-
CONNECT
コマンドの構文は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。
親トピック: パスワード・ファイル認証の使用
1.7 データベース・パスワード・ファイルの作成とメンテナンス
パスワード・ファイル作成ユーティリティORAPWD
を使用して、データベース・パスワード・ファイルを作成できます。一部のオペレーティング・システムでは、標準インストール時にこのファイルを作成できます。
- ORAPWD構文およびコマンドライン引数の説明
ORAPWD
コマンドでは、パスワード・ファイルを作成およびメンテナンスします。 - ORAPWDを使用したデータベース・パスワード・ファイルの作成
ORAPWD
を使用してデータベース・パスワード・ファイルを作成できます。 - データベース・パスワード・ファイルの共有と無効化
初期化パラメータREMOTE_LOGIN_PASSWORDFILE
を使用して、データベース・パスワード・ファイルが複数のOracle Databaseインスタンス間で共有されるかどうかを制御します。このパラメータを使用して、パスワード・ファイル認証を無効にすることもできます。 - 管理者パスワードとデータ・ディクショナリとの同期の維持
REMOTE_LOGIN_PASSWORDFILE
初期化パラメータをnone
からexclusive
またはshared
に変更した場合、データ・ディクショナリ内のパスワードとSYS以外(SYSDBA
、SYSOPER
、SYSBACKUP
、SYSDG
およびSYSKM
)の管理ユーザーのパスワード・ファイル内のパスワードを同じにする必要があります。 - データベース・パスワード・ファイルへのユーザーの追加
ユーザーにSYSDBA
、SYSOPER
、SYSBACKUP
、SYSDG
またはSYSKM
管理権限を付与すると、そのユーザーの名前と権限情報がデータベース・パスワード・ファイルに追加されます。 - 管理権限の付与と取消し
管理権限を付与するにはGRANT
文を使用します。管理権限を取り消すにはREVOKE
文を使用します。 - データベース・パスワード・ファイル・メンバーの表示
V$PWFILE_USERS
ビューには、管理権限を付与されたユーザーに関する情報が含まれます。 - データベース・パスワード・ファイルの削除
不要になった場合はデータベース・パスワードを削除できます。
関連項目:
-
Oracle ASMパスワード・ファイルの作成およびメンテナンスの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。
親トピック: データベース管理スタート・ガイド
1.7.1 ORAPWD構文およびコマンドライン引数の説明
ORAPWD
コマンドでは、パスワード・ファイルを作成およびメンテナンスします。
ORAPWD
コマンドの構文は次のとおりです。
orapwd FILE=filename [FORCE={y|n}] [ASM={y|n}] [DBUNIQUENAME=dbname] [FORMAT={12.2|12}] [SYS={y|n|password|external('sys-external-name')|global('sys-directory-DN')}] [SYSBACKUP={y|n|password|external('sysbackup-external-name')|global('sysbackup-directory-DN')}] [SYSDG={y|n|password|external('sysdg-external-name')|global('sysdg-directory-DN')}] [SYSKM={y|n|password|external('syskm-external-name')|global('syskm-directory-DN')}] [DELETE={y|n}] [INPUT_FILE=input-fname]
orapwd DESCRIBE FILE=filename
次の表にコマンドの引数がまとめられています。
引数 | 説明 |
---|---|
|
|
|
(オプション) |
|
(オプション) デフォルトの |
|
ASMディスク・グループのみに存在するデータベース・パスワード・ファイルを識別するために使用される一意のデータベース名です。データベース・パスワード・ファイルがOracle ASMディスク・グループに格納される場合、この引数は必須です。Oracle ASMパスワード・ファイルが |
|
(オプション)次のいずれかの値を指定します。
|
|
(オプション)この引数では、 この引数は、 パスワード・ファイル・エントリを移行するために
|
|
(オプション) この引数は、
|
|
(オプション) この引数は、
|
|
(オプション) (オプション)この引数は、
ノート:
|
|
(オプション)
|
|
(オプション)入力パスワード・ファイルの名前。 この引数は、パスワード・ファイルをある形式から別の形式に変換するために使用できます。たとえば、12形式から12.2形式に変換できます。 また、この引数を使用して、
|
|
指定したパスワード・ファイルのプロパティを表示します( |
等号(=)文字の前後にスペースは使用できません。
ノート:
各外部名は一意にする必要があります。
次の項では、一部のORAPWD
コマンドライン引数について詳しく説明します。
- FILE
-
この引数には、作成するパスワード・ファイルの名前を設定します。これは必須の引数です。
Oracle ASMディスク・グループにおける場所を指定した場合、データベース・パスワード・ファイルはクラスタ内のノード間で自動的に共有されます。Oracle ASMディスク・グループを使用してパスワード・ファイルを格納し、Oracle Managed Filesを使用しない場合は、フルパスを含むパスワード・ファイルの名前を指定する必要があります。Oracle Managed Filesを使用する場合、フルパス名は必要ありません。
Oracle ASMディスク・グループにおける場所を指定しない場合、パスワード・ファイルに必要なファイル名はオペレーティング・システムによって異なります。一部のオペレーティング・システムでは、パスワード・ファイルを特定の形式で作成して特定のディレクトリに格納する必要があります。また、環境変数を使用してパスワード・ファイルの名前と位置を指定できるオペレーティング・システムもあります。
次の表は、UNIX、LinuxおよびWindowsプラットフォームにおいてパスワード・ファイルに必要な名前と場所を示しています。その他のプラットフォームについては、プラットフォーム固有のマニュアルを参照してください。
プラットフォーム 必要な名前 必要な場所 UNIXおよびLinux
orapw
ORACLE_SID
ORACLE_BASE/dbs
Windows
PWD
ORACLE_SID
.ora
ORACLE_BASE\database
たとえば、SIDが
orcldw
のデータベース・インスタンスの場合、パスワード・ファイルの名前は、Linuxではorapworcldw
となり、WindowsではPWDorcldw.ora
となります。Oracle Real Application Clusters (Oracle RAC)環境で、環境変数がパスワード・ファイルのパスに設定される必要があるプラットフォームでは、各インスタンスの環境変数は同じパスワード・ファイルを指し示す必要があります。
ポリシー管理のOracle RACデータベースまたは形式
db_unique_name_n
(n
は数字)のORACLE_SID
を使用したOracle RAC One Nodeデータベースの場合、ORACLE_BASE/dbs/orapw
sid_prefix
またはORACLE_BASE\database\PWD
sid_prefix
.ora
を使用して、パスワード・ファイルが最初に検索されます。パスワード・ファイルの検索には、sid_prefix
(データベース名の最初の8文字)が使用されます。ノート:
-
パスワード・ファイルやパスワード・ファイルの位置を特定する環境変数の保護は、システムのセキュリティにとって非常に重要です。パスワード・ファイルや環境変数にアクセスできるユーザーは、接続に対するセキュリティを脅かす潜在的な可能性を持っています。
-
Oracle Database 18c以降では、デフォルト・ディレクトリにパスワード・ファイルが見つからない場合、データベースは、前のデータベース・リリースでデフォルト・ディレクトリであったディレクトリ内のパスワード・ファイルをチェックします。18cより前のOracle Databaseリリースでは、パスワード・ファイルのデフォルト・ディレクトリは、UNIXおよびLinuxプラットフォームの場合は
ORACLE_HOME/dbs
、Windowsの場合はORACLE_HOME\database
でした。
関連項目:
-
- FORCE
-
この引数を
y
に設定すると、既存のパスワード・ファイルを上書きできます。同じ名前のパスワード・ファイルがすでに存在している場合に、この引数を省略するかまたはn
に設定すると、エラーが返されます。 - ASM
-
この引数を
y
に設定すると、ORAPWD
によりOracle ASMパスワード・ファイルが作成されます。FILE
引数にはOracle ASMディスク・グループ内の場所を指定する必要があります。この引数を
n
(デフォルト)に設定すると、ORAPWD
によりパスワード・ファイルが作成されます。FILE
引数にはOracle ASMディスク・グループ内の場所、またはオペレーティング・システムのファイル・システム内の場所を指定できます。DBUNIQUENAME
引数を指定した場合、パスワード・ファイルはデータベース・パスワード・ファイルになります。DBUNIQUENAME
引数を指定しない場合、パスワード・ファイルはデータベース・パスワード・ファイルまたはOracle ASMパスワード・ファイルにできます。関連項目:
Oracle ASMパスワード・ファイルの作成およびメンテナンスの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。
- DBUNIQUENAME
-
この引数には、Oracle ASMディスク・グループに作成するデータベース・パスワード・ファイルの一意のデータベース名を設定します。データベース・パスワード・ファイルの場所で更新するデータベース・リソースを識別します。
データベース・パスワード・ファイルがオペレーティング・システムのファイル・システムに作成される場合、この引数は必要ありません。
Oracle ASMパスワード・ファイルが
ASM
引数をy
に設定することによって作成される場合、この引数は無視されます。 - FORMAT
-
この引数が12.2に設定されている場合(デフォルト)、
ORAPWD
は12.2形式のデータベース・パスワード・ファイルを作成します。パスワード・ファイルで外部ユーザーへの管理権限の付与と管理ユーザーに対するSSLおよびKerberos認証をサポートするには、12.2形式が必要です。ユーザーに割り当てられるパスワード・プロファイルは、管理ユーザーにも強制されます。この引数を
12
に設定すると、ORAPWD
によりデータベース・パスワード・ファイルがOracle Database 12c形式で作成されます。Oracle Database 12c形式は、パスワード・ファイルでSYSBACKUP
、SYSDG
およびSYSKM
管理権限をサポートするために必要です。この引数を
legacy
に設定すると、ORAPWD
によりOracle Database 12c以前の形式でデータベース・パスワード・ファイルが作成されます。パスワード・ファイルではSYSDBA
およびSYSOPER
管理権限はサポートされますが、SYSBACKUP
、SYSDG
およびSYSKM
管理権限はサポートされません。 - SYS
-
パスワード・ファイル・エントリを移行するために
SYS=Y
およびINPUT_FILE
が指定されている場合、SYS
管理ユーザーの新しいパスワードの入力を求められます。password
の場合は、SYS
管理ユーザーのパスワードの入力を求められます。external('
sys-external-name
')
の場合は、sys-external-name
をSYS
管理ユーザーのSSLまたはKerberos認証の外部名で置換します。global(sys-directory-DN)
の場合は、グローバルSYS
ユーザーのディレクトリ・サービス名を指定します。 - SYSBACKUP
-
password
の場合は、SYSBACKUP
管理ユーザーのパスワードの入力を求められます。external('
sysbackup-external-name
')
の場合は、sysbackup-external-name
をSYSDG
管理ユーザーのSSLまたはKerberos認証の外部名で置換します。global(sysbackup-directory-DN)
の場合は、グローバルSYSBACKUP
ユーザーのディレクトリ・サービス名を指定します。 - SYSDG
-
password
の場合は、SYSDG
管理ユーザーのパスワードの入力を求められます。external('
sysdg-external-name
')
の場合は、sysdg-external-name
をSYSDG
管理ユーザーのSSLまたはKerberos認証の外部名で置換します。global(sysdg-directory-DN)
の場合は、グローバルSYSDG
ユーザーのディレクトリ・サービス名を指定します。 - SYSKM
-
password
の場合は、SYSKM
管理ユーザーのパスワードの入力を求められます。external('
syskm-external-name
')
の場合は、syskm-external-name
をSYSKM
管理ユーザーのSSLまたはKerberos認証の外部名で置換します。global(syskm-directory-DN)
の場合は、グローバルSYSKM
ユーザーのディレクトリ・サービス名を指定します。 - DELETE
-
この引数を
y
に設定すると、ORAPWD
により指定したパスワード・ファイルが削除されます。y
を指定した場合は、FILE
、ASM
またはDBUNIQUENAME
を指定する必要があります。FILE
を指定した場合は、ファイルをASMディスク・グループに格納する必要があります。この引数を
n
(デフォルト)に設定すると、ORAPWD
によりパスワード・ファイルが作成されます。 - INPUT_FILE
-
この引数では入力パスワード・ファイルの名前を指定します。
ORAPWD
によって、入力ファイルのエントリが新しいパスワード・ファイルに移行されます。この引数は、パスワード・ファイルをある形式から別の形式に変換できます。たとえば、12形式から12.2形式に変換できます。また、この引数を使用して、
SYS
管理ユーザーのパスワードをリセットできます。INPUT_FILE
引数を指定すると、ORAPWD
により新しいエントリは作成されません。したがって、ORAPWD
では次の引数が無視されます。-
PASSWORD
-
SYSBACKUP
-
SYSDG
-
SYSKM
入力ファイルを指定し、入力ファイルが新しいパスワード・ファイルで置き換えられる場合は、
FORCE
をy
に設定する必要があります。ノート:
FORMAT
引数を指定しない場合、デフォルトでは、新しいパスワード・ファイルは入力ファイルから12.2形式で作成されます。 -
関連項目:
親トピック: データベース・パスワード・ファイルの作成とメンテナンス
1.7.2 ORAPWDを使用したデータベース・パスワード・ファイルの作成
ORAPWD
を使用してデータベース・パスワード・ファイルを作成できます。
データベース・パスワード・ファイルを作成するには:
ORAPWD
コマンドを実行します。
例1-20 Oracle ASMディスク・グループに格納されるデータベース・パスワード・ファイルの作成
次のコマンドでは、リリース12.2形式のorapworcl
という名前のデータベース・パスワード・ファイルが作成され、Oracle ASMディスク・グループに格納されます。データベース・パスワード・ファイルはOracle ASMディスク・グループに格納されるため、DBUNIQUENAME
引数が必要です。
orapwd FILE='+DATA/orcl/orapworcl' DBUNIQUENAME='orcl' FORMAT=12.2
例1-21 SYSBACKUPエントリを使用したデータベース・パスワード・ファイルの作成
次の例は、データベース・パスワード・ファイルにSYSBACKUP
エントリが作成されることを除き、例1-20に似ています。パスワード・ファイルは、デフォルトでは12.2形式です。
orapwd FILE='+DATA/orcl/orapworcl' DBUNIQUENAME='orcl' SYSBACKUP=password FORMAT=12.2
例1-22 SYSおよびSYSKMの外部認証を使用したデータベース・パスワード・ファイルの作成
次の例は、SYS
およびSYSKM
管理ユーザーに外部名を指定することを除いて例1-20と同様です。
orapwd FILE='+DATA/orcl/orapworcl' DBUNIQUENAME='orcl' FORMAT=12.2 sys=external('KerberosUserSYS@example.com') syskm=external('KerberosUserSYSKM@example.com')
例1-23 ファイル・システムに格納されるデータベース・パスワード・ファイルの作成
次のコマンドでは、12.2形式のorapworcl
という名前のデータベース・パスワード・ファイルが作成され、オペレーティング・システムのファイル・システムのデフォルトの場所に格納されます。
orapwd FILE='/u01/oracle/dbs/orapworcl' FORMAT=12.2
例1-24 レガシー・データベース・パスワード・ファイルのOracle Database 12c形式への移行
次のコマンドでは、レガシー形式のデータベース・パスワード・ファイルが12.2形式に移行されます。パスワード・ファイルの名前はorapworcl
で、オペレーティング・システムのファイル・システムに格納されます。新しいデータベース・パスワード・ファイルで既存のデータベース・パスワード・ファイルが置き換えられます。このため、FORCE
をy
に設定する必要があります。
orapwd FILE='/u01/oracle/dbs/orapworcl' FORMAT=12.2 INPUT_FILE='/u01/oracle/dbs/orapworcl' FORCE=y
例1-25 SYS管理ユーザーのパスワードのリセット
次のコマンドは、SYS
管理ユーザーのパスワードをリセットします。新しいデータベース・パスワード・ファイルで既存のデータベース・パスワード・ファイルが置き換えられます。このため、FORCE
をy
に設定する必要があります。
orapwd FILE='/u01/oracle/dbs/orapworcl' SYS=Y INPUT_FILE='/u01/oracle/dbs/orapworcl' FORCE=y
SYS
管理ユーザーの新しいパスワードを入力するように求められます。
例1-26 パスワード・ファイルの説明
次のコマンドは、orapworcl
パスワード・ファイルを説明します。
orapwd DESCRIBE FILE='orapworcl' Password file Description : format=12.2
ノート:
データベースのパスワード・ファイルの名前または場所を変更した場合は、次のコマンドを実行して変更を有効にします。
SQL> ALTER SYSTEM FLUSH PASSWORDFILE_METADATA_CACHE;
このコマンドはメタデータ・キャッシュをフラッシュします。データベースへの後続のログインでは新しいパスワード・ファイルが使用されます。Oracle RAC環境では、このコマンドによってすべてのOracle RACデータベース内のキャッシュがクリアされますが、変更がすべてのOracle RACデータベースに伝播されるまで、古いパスワード・ファイルを引き続き使用できるデータベースが存在する可能性があります。
このコマンドを実行した後は、V$PASSWORDFILE_INFO
ビューを問い合せることで変更を確認できます。
関連項目:
Oracle ASMディスク・グループでの共有パスワード・ファイルの管理の詳細は、Oracle Automatic Storage Management管理者ガイドを参照してください
親トピック: データベース・パスワード・ファイルの作成とメンテナンス
1.7.3 データベース・パスワード・ファイルの共有と無効化
初期化パラメータREMOTE_LOGIN_PASSWORDFILE
を使用して、データベース・パスワード・ファイルが複数のOracle Databaseインスタンス間で共有されるかどうかを制御します。このパラメータを使用して、パスワード・ファイル認証を無効にすることもできます。
パスワード・ファイルを共有またはパスワード・ファイル認証を無効にするには:
-
REMOTE_LOGIN_PASSWORDFILE
初期化パラメータを設定します。
REMOTE_LOGIN_PASSWORDFILE
初期化パラメータを次のいずれかの値に設定できます。
-
none
: このパラメータをnone
に設定すると、Oracle Databaseはパスワード・ファイルが存在しない場合と同じように動作します。つまり、セキュリティで保護されていない接続では、権限付きの接続は許可されません。 -
exclusive
: (デフォルト)exclusive
のパスワード・ファイルは、1つのデータベースのみが使用できます。exclusive
のファイルのみを変更できます。exclusive
のパスワード・ファイルを使用すると、ユーザーの追加、変更および削除を行えます。また、ALTER USER
コマンドを使用して、SYS
、SYSBACKUP
、SYSDG
またはSYSKM
のパスワードを変更することもできます。exclusive
のパスワード・ファイルがOracle ASMディスク・グループに格納される場合、単一インスタンス・データベースまたはOracle Real Application Clusters (Oracle RAC)データベースの複数のインスタンスでパスワード・ファイルを使用できます。exclusive
のパスワード・ファイルは、オペレーティング・システムに格納されている場合、1つのデータベースの1つのインスタンスでのみ使用できます。 -
shared
:shared
パスワード・ファイルは、オペレーティング・システムに格納される場合にも、同じサーバーで稼働している複数のデータベース、またはOracle RACデータベースの複数のインスタンスで使用できます。shared
パスワード・ファイルは読取り専用であり、変更できません。したがって、shared
パスワード・ファイルにはユーザーを追加できません。ユーザーを追加しようとしたり、SYS
のパスワードあるいは管理権限のあるユーザーのパスワードを変更しようとすると、エラーが生成されます。REMOTE_LOGIN_PASSWORDFILE
がexclusive
に設定されている間に、管理権限を必要とするすべてのユーザーをパスワード・ファイルに追加する必要があります。すべてのユーザーを追加した後で、REMOTE_LOGIN_PASSWORDFILE
をshared
に変更すると、ファイルを共有できます。このオプションは、1つのパスワード・ファイルで複数のデータベースを管理する場合に役立ちます。
Oracle ASMパスワード・ファイルには
shared
を指定できません。
REMOTE_LOGIN_PASSWORDFILE
がexclusive
またはshared
に設定されているときに、パスワード・ファイルが欠落している場合は、REMOTE_LOGIN_PASSWORDFILE
をnone
に設定した場合と同じです。
親トピック: データベース・パスワード・ファイルの作成とメンテナンス
1.7.4 管理者パスワードとデータ・ディクショナリとの同期の維持
REMOTE_LOGIN_PASSWORDFILE
初期化パラメータをnone
からexclusive
またはshared
に変更した場合、データ・ディクショナリ内のパスワードとSYS以外(SYSDBA
、SYSOPER
、SYSBACKUP
、SYSDG
およびSYSKM
)の管理ユーザーのパスワード・ファイル内のパスワードを同じにする必要があります。
ノート:
Oracle Database 12cリリース2 (12.2)以降、SYS
ユーザーの認証は、データ・ディクショナリを使用せずにパスワード・ファイルのみを使用して発生します。
SYSDBA
、SYSOPER
、SYSBACKUP
、SYSDG
およびSYSKM
などのSYS
以外の管理ユーザーのパスワードを同期化するには、次に示すように、まずこれらのユーザーの権限を取り消して再度付与する必要があります。
親トピック: データベース・パスワード・ファイルの作成とメンテナンス
1.7.5 データベース・パスワード・ファイルへのユーザーの追加
ユーザーにSYSDBA
、SYSOPER
、SYSBACKUP
、SYSDG
またはSYSKM
管理権限を付与すると、そのユーザーの名前と権限情報がデータベース・パスワード・ファイルに追加されます。
ユーザーがこれらの権限のうち1つでも持っている間は、そのユーザーの名前がパスワード・ファイルに残っています。これらのすべての権限を取り消すと、Oracle Databaseによって、そのユーザーはパスワード・ファイルから削除されます。
ノート:
SYSBACKUP
、SYSDG
またはSYSKM
管理権限をサポートするには、FORMAT=12.2
またはFORMAT=12
引数を指定してパスワード・ファイルを作成する必要があります。
パスワード・ファイルを作成した新規ユーザーの追加方法
パスワード・ファイルを作成して新規ユーザーを追加するには、次の手順を実行します。
親トピック: データベース・パスワード・ファイルの作成とメンテナンス
1.7.6 管理権限の付与と取消し
管理権限を付与するにはGRANT
文を使用します。管理権限を取り消すにはREVOKE
文を使用します。
ユーザーにSYSDBA
、SYSOPER
、SYSBACKUP
、SYSDG
またはSYSKM
管理権限を付与するには:
-
GRANT
文を実行します。
たとえば:
GRANT SYSDBA TO mydba;
ユーザーから管理権限を取り消すには:
-
REVOKE
文を実行します。
たとえば:
REVOKE SYSDBA FROM mydba;
管理権限を付与するGRANT
に指定された場合、WITH ADMIN OPTION
は無視され、次のルールが適用されます。
-
現在
SYSDBA
として接続しているユーザーは、別のユーザーに他の任意の管理権限を付与して、別のユーザーの管理権限を取り消すことができます。 -
現在
SYSOPER
として接続しているユーザーは、別のユーザーに管理権限を付与できず、別のユーザーの管理権限を取り消すことができません。 -
現在
SYSBACKUP
として接続しているユーザーは、別のユーザーのSYSBACKUP
管理権限を取り消すことができます。 -
現在
SYSDG
として接続しているユーザーは、別のユーザーのSYSDG
管理権限を取り消すことができます。 -
現在
SYSKM
として接続しているユーザーは、別のユーザーのSYSKM
管理権限を取り消すことができます。
ロールはデータベースが起動してから使用できるようになるため、管理権限はロールには付与できません。データベース管理権限を、オペレーティング・システムのロールと混同しないでください。
関連項目:
管理権限の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
親トピック: データベース・パスワード・ファイルの作成とメンテナンス
1.7.7 データベース・パスワード・ファイル・メンバーの表示
V$PWFILE_USERS
ビューには、管理権限を付与されたユーザーに関する情報が含まれます。
管理権限を付与されたユーザーを判別するには:
-
V$PWFILE_USERS
ビューを問い合せます。
関連項目:
V$PWFILE_USERS
ビューの詳細は、『Oracle Databaseリファレンス』を参照してください
親トピック: データベース・パスワード・ファイルの作成とメンテナンス
1.7.8 データベース・パスワード・ファイルの削除
不要になった場合はデータベース・パスワードを削除できます。
ユーザーを認証するためのデータベース・パスワード・ファイルが不要になったと判断した場合は、それを削除します。
-
データベース・パスワード・ファイルを削除し、オプションで
REMOTE_LOGIN_PASSWORDFILE
初期化パラメータをnone
にリセットします。
このファイルを削除した後は、オペレーティング・システムによって認証されたユーザーのみがSYSDBA
、SYSOPER
、SYSBACKUP
、SYSDG
またはSYSKM
データベース管理の操作を実行できます。
親トピック: データベース・パスワード・ファイルの作成とメンテナンス
1.8 データ・ユーティリティ
Oracle Databaseのデータのメンテナンスに役立つOracleユーティリティが用意されています。
SQL*Loader
SQL*Loaderは、Oracle Databaseのデータベース管理者とその他のユーザーの両方が使用します。これは、標準的なオペレーティング・システム・ファイル(テキスト形式やCデータ形式のファイルなど)からデータベース表にデータをロードします。
エクスポート・ユーティリティとインポート・ユーティリティ
データ・ポンプ・ユーティリティを使用すると、データをアーカイブしたり、Oracle Database間でデータを移動できます。また、従来のインポート(IMP)およびエクスポート(EXP)ユーティリティを使用して、以前のリリースとの間でデータをインポートおよびエクスポートできます。
関連項目:
-
SQL*Loaderの詳細は、『Oracle Databaseユーティリティ』を参照してください。
-
データ・ポンプの詳細は、『Oracle Databaseユーティリティ』を参照してください。
親トピック: データベース管理スタート・ガイド