SMART LLC

Oracleのユーザ名を小文字にするとダブルコーテーションが必要

公開日:2014/10/01

Oracleのユーザ名の大文字小文字でハマッたのでメモ。

小文字のユーザ名だけログインできない

新しいプロジェクトでお客さんと同じDB環境を準備することになった。
DBMSはOracle。お客さんから先行して設定ファイルだけもらってる状況。
データは後で届くので先にユーザと表領域だけでも作成することに。
設定ファイルの中には複数の接続情報があって大文字のユーザ名と小文字のユーザ名が混在してた。
その通りのユーザ名とパスワードを設定したユーザを作成してそれぞれログインのテスト。
小文字のユーザ名だけログインできない( ゚д゚)

小文字のユーザ名はダブルコーテーションが必要

しばらくハマッた。
create userにはミスが見当たらない。
Enterprise Managerでも間違いなくユーザ名が存在していることを確認。
create userを眺めててふと思いついた。
ユーザ名とパスワードをそれぞれ"(ダブルコーテーション)で囲ってみた。
ログインできた( ゚д゚)
ユーザ名だけダブルコーテーション外すとログインできなくなる。
パスワードだけダブルコーテーション外すとログインできる。
ユーザ名はダブルコーテーションで囲ってやらないと勝手に大文字に変換される模様。
(´・ω・`)知らんがな
今まで小文字でつけたことなかったから気づかなかった。
そして設定ファイルにダブルコーテーションがないことからお客さんの環境は小文字じゃないと判明。
(または大文字小文字の区別をしない設定)
じゃあ設定ファイルも大文字か小文字で統一しろや( ゚д゚)
でも勉強になったから許す。
大文字でユーザ作り直しましたとさ(:3_ヽ)_

おまけ

メインの開発PCがLANケーブルのささった状態だと起動しなくなるという事件があった。
LANケーブルを抜くと起動するし、起動後につなげる分には問題なかった。
調べてみると電源ユニットが消耗して電力が落ちるとLANとか外部機器に電力をとられて本体が起動しないことがあるそうな。
試しに電源ユニットを買ってきて交換してみたら直った。
というわけでまたひとつ勉強になった。

SHARE