Oracle Database を利用していると、ログイン時に「ORA-28001: パスワードの有効期限が切れています」 
これは、データベースのセキュリティ機能として「パスワード有効期限」が設定されており、期限を過ぎたユーザがログインできなくなるために発生します。
この場合のエラーの原因と具体的な対応手順を解説します。
エラーの原因 
Oracle データベースでは、ユーザごとに割り当てられた プロファイル(Profile)  により、パスワード有効期限が管理されています。
典型的な原因は以下の通りです。
対応手順 
1. SQL*Plus などからログインを試みる 
期限切れの場合、通常のユーザではログインできません。DBA 権限を持つユーザ (例: sys as sysdba)でログインする必要があります。
2. パスワードをリセットする 
対象ユーザのパスワードを変更します。
		
		
			
			
			
			
				
					
				
					
				 
						ALTER   USER   SCOTT  IDENTIFIED   BY   Tiger2025;
 
				
			 
		 
これでユーザは再びログインできるようになります。
3. パスワード有効期限を確認する 
どのプロファイルが割り当てられているかを確認します。
		
		
			
			
			
			
				
					
				
					
				 
						SELECT   username,  profile   FROM   dba_users  WHERE   username='SCOTT' ;
 
				
			 
		 
次に、そのプロファイルの設定を確認します。
4. パスワード期限を延長・無効化する(必要に応じて) 
運用上パスワード期限を無期限にしたい場合は、以下のように設定します。
注意点 
セキュリティポリシー上、期限を無期限にするのは推奨されない場合があります。
 
運用規定に従い、定期的に強度の高いパスワードへ更新しましょう。
 
本番環境では、DBA以外のアカウントで誤って変更しないよう注意が必要です。
 
 
まとめ 
「ORA-28001: パスワードの有効期限が切れています」は、パスワードの期限切れによるエラーです。
DBA権限でログイン 
 
パスワード変更 
 
プロファイル確認と調整 
 
 
この流れで対応すれば、迅速に復旧できます。運用に合わせてパスワード有効期限の設定を見直すことも重要です。
	 
	
	 
	
	
			 
			
	
		
		
はじめに 
Oracleデータベースの運用において、管理者権限 の使い分けは非常に重要です。特に「SYSDBA」と「SYSOPER」はどちらも特別な権限として知られていますが、役割や利用シーンは異なります。本記事では、それぞれの権限の違いと、実務での適切な使い分けについて解説します。
SYSDBA権限とは 
SYSDBAは、Oracleデータベースにおける最上位の管理権限 です。SYSスキーマとして認識され、あらゆる管理操作が可能になります。
主な操作内容 
特徴 :Oracle全体のフルコントロールが可能であるため、通常はDBA(データベース管理者)専用 で使用されます。
SYSOPER権限とは 
SYSOPERは、SYSDBAほどの強力な権限は持ちませんが、運用担当者が日常的に行う基本的な管理作業 を実行できます。
主な操作内容 
特徴 :運用作業の補助権限 に近い立ち位置です。
SYSDBAとSYSOPERの違い(比較表) 
	項目 SYSDBA SYSOPER 
 
 
	データベースの起動・停止 可 可 
 
	データベース作成 可 不可 
 
	ユーザー/権限管理 可 不可 
 
	完全リカバリ 可 一部可(制限あり) 
 
	アーカイブログ切り替え 可 可 
 
	データファイル/制御ファイル操作 可 不可 
 
	データの参照・変更 可 不可 
 
	想定される利用者 DBA(管理者) 運用担当者 
 
 
使い分けのポイント 
まとめ 
Oracleの管理権限であるSYSDBAとSYSOPERは、似ているようで明確な役割分担があります。
セキュリティと役割分担を意識して適切に使い分けることが、安定したデータベース運用につながります。
	 
	
	 
	
	
			 
			
	
		
		
Oracle Databaseをインストールすると自動的に作成される管理者ユーザー「SYS」と「SYSTEM」のデフォルトパスワードについてメモしておきます。
SYSユーザーのデフォルトパスワード:change_on_install 
SYSTEMユーザーのデフォルトパスワード:manager 
Oracle:管理者ユーザー「SYS」と「SYSTEM」のデフォルトパスワード 
	ユーザー 初期パスワード例 備考 
 
 
	SYS change_on_install データディクショナリを管理する最上位アカウント 
 
	SYSTEM manager 一般的な管理作業に使用可能な補助アカウント 
 
 
セキュリティ上の注意点 
変更必須 
デフォルトのままでは外部からの攻撃に悪用されやすいため、必ずパスワード変更 を行うこと。
	 
	
	 
	
	
			 
			
	
		
		
Oracleのインストール後にSQL*Plusなどでユーザー作成しようとした際、「ORA-65096」エラーが発生した場合の原因と対応方法についてメモしておきます。
「ORA-65096:共通ユーザーまたはロール名が無効です」の原因 
ルートコンテナにローカルユーザーを作成しようとした場合に発生するエラーとなります。 
 
「ORA-65096:共通ユーザーまたはロール名が無効です」の対処方法 
原因が分かってしまえば対応はシンプルです。接続先がコンテナ・データベース(CDB)であるのがまずいのであればプラガブル・データベース(PDB)に変更してしまえばいいだけです。
まずは「show con_name;」で現在接続されているデータベースを確認します。 
次に「select name, open_mode from v$pdbs;」でPDBの名前と現在のOPEN_MODEを確認します。 
PDBの名前が「ORCLPDB」というのがわかったのでデータベースの接続先を「ORCLPDB」へ変更します。 
もう一度「show con_name;」を実行して接続先が変更されていることを確認します。 
接続先がPDBへ変更されたのでもう一度ユーザー作成を実行すると正常に実行されます。 
 
 
🔍補足:ORA-65096エラーの仕組みと注意点 
ORA-65096: invalid common user or role name は、マルチテナント構成の Oracle Database(12c以降)  において、ルートコンテナ(CDB$ROOT)上でローカルユーザーを作成しようとした場合 に発生するエラーです。
観点 
内容 
 
 
エラーの本質 
共通ユーザーとローカルユーザーの区別を誤ったことによる構文エラー 
 
共通ユーザー名の規則 
C## または c## のプレフィックスが必須(COMMON_USER_PREFIXパラメータで変更可) 
発生条件 
CDB$ROOT に接続したままユーザーを作成/命名規則を満たさない場合 
解決策 
ALTER SESSION SET CONTAINER = <PDB名> でPDBに切り替えてから CREATE USER を実行する 
参考 
SHOW CON_NAME; で現在の接続先(コンテナ)を確認可能 
 
 
 
✅ 具体例:安全なユーザー作成手順 
もしルートコンテナ側で共通ユーザーを作成したい場合は、以下のようにします。
💡補足メモ 
SHOW PDBS; で現在のPDB一覧を確認可能。OPEN_MODE が READ WRITE でなければユーザー作成はできません。
 
バージョン19c以降では、CDB構成がデフォルトのため、PDB接続の意識が必須  です。
 
TNS接続文字列(SERVICE_NAME)が CDB を指していると、意図せずルート側に接続してしまうことがあります。
 
 
	 
	
	 
		 
	 
		
「駑馬十駕」を信念に IT系情報を中心に調べた事をコツコツ綴っています。