【Oracle】管理アカウント(SYSTEM/SYS)とそのパスワード変更について
Oracleの管理アカウント(SYSTEMユーザ、SYSユーザ)と、そのパスワードの変更方法の解説です。
[管理アカウントの種類について]
SYSTEM:データベース管理で普段使うユーザはこちら。
Oracleデータベースを作成すると、ユーザーSYSTEMも自動的に作成され、DBAロールが付与されます。
SYSTEMユーザーは、管理情報を表示する特別な表やビュー、およびOracleデータベースの各種オプションやツールが使用する内部的な表およびビューを作成できます
SYSTEMスキーマを使用して、管理者ではないユーザーの表を格納しないでください。
Oracleデータベースをインストールするたびに、事前定義されたDBAロールが自動的に作成されます。このロールには、データベースのほとんどのシステム権限が含まれます。したがって、DBAロールは、実際のデータベース管理者にのみ付与する必要があります。DBAロールには、SYSDBAまたはSYSOPERシステム権限は含まれません。
SYS:普段使わない強力なシステムユーザ
Oracleデータベースを作成すると、ユーザーSYSが自動的に作成され、DBAロールが付与されます。
データベースのデータ・ディクショナリのすべての実表およびビューは、スキーマSYSに格納されます。これらの実表およびビューは、Oracleデータベースの操作において必須です。データ・ディクショナリの整合性を保持するため、SYSスキーマの表は、データベースによってのみ操作されます。ユーザーまたはデータベース管理者はそれらを変更できません。また、必要に応じてデータ・ディクショナリ設定の記憶域パラメータは変更できますが、ユーザーSYSのスキーマ内に表は作成できません。
ほとんどのデータベース・ユーザーがSYSアカウントを使用してOracleデータベースに接続できないようにしてください。
<参考>
[デフォルトパスワード]
標準インストールした場合には、パスワードは以下の通り設定されます
SYSTEM:MANAGER
SYS:CHANGE_ON_INSTALL
<参考>
[変更方法]
変更には「OS認証」とよばれる方法でログインし、変更する必要があります。
以下のような例で変更します。
インスタンス名:REYDB
パスワード:reydbadmin
(Oracleのインストールユーザでログイン)
>export ORACLE_SID=REYDB
>sqlplus / as sysdba
SQL > ALTER USER SYSTEM IDENTIFIED BY reydbadmin;
SQL > ALTER USER SYS IDENTIFIED BY reydbadmin;
・Windowsの場合
(WindowsサービスのNTLM Security Support Providerが実行中であること)
(コマンドプロンプトを起動)
>set ORACLE_SID=REYDB
>sqlplus / as sysdba
SQL > ALTER USER SYSTEM IDENTIFIED BY reydbadmin;
SQL > ALTER USER SYS IDENTIFIED BY reydbadmin;
<参考>
<愛読書>