DBLINK経由のcreate user はできません。
DBLINK経由のcreate user はできません。
といいますか、DDLができません。
原理的にはいける気がしてやってみました。
例1)
#まずは普通にログインして
$ sqlplus test/test
接続されました。
SQL> select * from test@link
2 ;
SEQ
- -
NAME
- -
1
test
うん、確かにDBLINKは張られているぞ!!
しかし、この状況からCREATEは付加なぜなら、
ユーザ作成するSQLのどこに@linkをつけろと???
SQL>CREATE USER HOGE1 IDENTIFIED BY HOGEHOGE;
気持ち程度に最後につけて見たりしてみました。
SQL>CREATE USER HOGE1 IDENTIFIED BY HOGEHOGE@link
まぁ無理さねw
調べてみましたが、やはりCREATE USER にはそんなオプションはございません。
って事で、このやり方は無理。
例2)
損じゃログイン時にDBLINK経由で入ってしまえばいいのでは?
早速やってみる。
$ sqlplus test/test@link
接続されました。
「べ、別に期待してるわけじゃないんだからねっ!」
そのままSYSDBA権限を持っているユーザに入りなおします。
SQL>conn / as SYSDBA
「ふふふ、これで確かにDBLINK経由でSYSDBAに入っているぞ!」
そして、
SQL>CREATE USER HOGE1 IDENTIFIED BY HOGEHOGE;
正常に終了しました。
Σ(@@;;;)きたか!?
あれ?あれえれれれ?
できて・・・ない。
どうゆうことかといいますと、DBLINK経由でクライアント側にログインしたはずなんですが、
SYSDBA権限で入りなおした時点で、
自分のDBに入っているんです。
なので、うまくできたように見えて、実は自分の所のUSERを追加しただけ。
DBLINK先のUSERは作られているないのです。
残念。