Seita developer blog

ユーザ企業に努めるアプリケーションエンジニアがプログラミング、データベース、OS、SNS、ガジェットなどを中心に備忘録変わりに書いていきます。

【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

 

Linux/Unixの場合


(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;

 

<参考>

blogs.oracle.com

 

Windows環境におけるデータベース・ユーザーの認証

 

<愛読書>