misc.log

日常茶飯事とお仕事と

Oracleのユーザー情報を確認する

なぜか取引先データベース(Oracle DB)のユーザーアカウント状況について確認しなければならなくなったので……同じような状況になった時用にメモ。いや……なんで開発/保守環境のデータベース管理やってる人がいないのよ……。

ユーザー情報テーブル DBA_USERS

列構成は下記の通り。

  • AUTHENTICATION_TYPE
  • LAST_LOGIN
  • EDITIONS_ENABLED
  • USER_ID
  • COMMON
  • ORACLE_MAINTAINED
  • PROXY_ONLY_CONNECT
  • PASSWORD
  • EXTERNAL_NAME
  • PASSWORD_VERSIONS
  • TEMPORARY_TABLESPACE
  • EXPIRY_DATE
  • PROFILE
  • INTIAL_RSRC_CONSUMER_GROUP
  • DEFAULT_TABLESPACE
  • CREATED
  • USERNAME
  • ACCOUNT_STATUS …… OPEN/LOCKED/EXPIRED & LOCKED
  • LOCK_DATE

アカウント有効期限の昇順で情報を取得する

ツールの利用が制限された環境でSQL*Plusしか使えないので、適当にフォーマットを整えながら、ファイルに結果をspoolしつつ下記のSQLで情報収集。

set linesize 120;
set pagesize 1000;
column user_id format a20;
select user_id, account_status, expiry_date from dba_users order by expiry_date, username;