Forum Stats

  • 3,853,778 Users
  • 2,264,267 Discussions
  • 7,905,444 Comments

Discussions

小文字のユーザーIDでimpの接続が出来ない

855560
855560 Member Posts: 1
小文字のユーザーIDでimpを行うには、どのような指定をすればよいのか、
ご存じの方がいらっしゃいましたら、教えてください。

[現象]
下記のsqlでユーザーIDが小文字のユーザーを作成しました。
CREATE USER "test1"
IDENTIFIED BY "pass1"
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;

GRANT CONNECT
, UNLIMITED TABLESPACE
, DBA TO "test1";

その後、作成されたユーザーにデータを設定しようと、
下記のimpコマンドを実行しました。
imp test1/[email protected] file="c:\ABC.DMP" fromuser=ABC touser=test1

すると、次のエラーが発生しました。
IMP-00058: Oracleエラー1017が発生しました。
ORA-01017: invalid username/password; logon deniedユーザー名:

そこで、SQL*Plusで
sqlplus """test1"""/[email protected]
と指定すると、正常に接続出来ましたので、
impコマンドもSQL*Plusの指定に習い、
imp """test1"""/[email protected] file="c:\ABC.DMP" fromuser=ABC touser="""test1"""

と実行すると、下記のエラーが発生してしまいます。
LRM-00108: 位置パラメータ値'/[email protected]'が無効です。

IMP-00022: パラメータ処理に失敗しました。ヘルプを表示するには'IMP HELP=Y'を入力してください
IMP-00000: エラーが発生したためインポートを終了します。


[実行環境]
OS:Windows 2003 Server
oracle client 11.2.0.1

以上です。
よろしくお願いします。

Edited by: user1086012 on 2012/03/26 1:01

Edited by: user1086012 on 2012/03/26 1:13

Edited by: user1086012 on 2012/03/26 1:17

Answers

  • 927459
    927459 Member Posts: 1
    推測ですが、初期化パラメータ sec_case_sensitive_logon=TRUE
    になっているのではないでしょうか。
    impコマンドは内部的にユーザIDを大文字に変換してから送信していて、11gからのデフォルト仕様により
    大文字と小文字が区別されていてはじかれるのでは。

    systemユーザで、show parameters sec_case_sensitive_logonで確認してみてください。
    もし私の想像がただしかったとしたら、回避策は大文字のユーザIDをつくりなおすか、
    alter system set sec_case_sensitive_logon = FALSE
    に設定を変更するかです。
  • sr400さん

    ご回答ありがとうございます。
    返事が遅くなりましてすいません。

    sec_case_sensitive_logon=TRUE
    これはパスワードの大文字・小文字を同じ扱いするか、
    異なるものとして扱うかの設定と認識していたのですが、
    もしや…と、実際に試してみましたが、
    結果は変わらずでした。。

    結局、小文字のユーザーではimpなどのツールは
    正しく動かないらしいので、
    今回は小文字のユーザーは諦めることにしました。

    お騒がせしてすいませんでした。
This discussion has been closed.