- - PR -
Oracle10gでのusernameとパスワード取得について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-12-22 13:50
nakamuraと申します。DBサーバ(Linux)にあるoracleのユーザIDとパスワードを
取得して、取得したユーザIDのexportをするシェルを作成しています。確かにユーザIDとパスワードはdba_usersのデータディクショナリで取得できるのですが、すべてのユーザが取得されてしまいます。実際には自分たちで開発したシステムの分だけ取得して (複数存在する)それらに対するexportをしたいのです。その辺の区分けみたいなフラグ等はdba_usersには見当たらないのです。もしかして違うデータディクショナリにあるのかと思い探してはいるのですが、調べ方が悪いのか見当たりません。どなたかご教授願いますでしょうか。 そんな都合のいいことは出来ないのでしょうか。 | ||||
|
投稿日時: 2006-12-22 14:00
業務のこれこれこういう目的で作った、といっても、その区分けは業務上の ものですから、ディクショナリに区分けが分かるような内容は持てないでしょう。 命名規則をもうけておくとかしてないと対応できないのでは。 _________________ もしもし@RMAN 友の会 | ||||
|
投稿日時: 2006-12-22 14:39
もしもしさん、レスありがとうございました。やっぱり区分けなんてないですよね。。。業務で使用しているほとんどは命名規則はないのですがほとんどが規則性のある命名ですのでやはりその規則性で拾うしかないですね。。
わかりました、ありがとうございました。ただ、唯一気になったのが、dba_usersにあるユーザのパスワードが暗号化されています。この項目はエンコードみたいなことしないとパスワードは解読できないということでしょうか。もしそうなら、どのようにやればよいのか、ヒントを教えていただけますでしょうか。項目はdba_usersのPASSWORDです。 取得する項目はUSERNAMEとPASSWORDです。 | ||||
|
投稿日時: 2006-12-22 15:14
いいえ。いかなる方法を用いても元のパスワードを解読することは出来ないという事です。たとえ管理者であってもパスワードが何かを知ることは出来ません。パスワードを片方向ハッシュで暗号化して保存しておくのは、わりと一般的な方法です。 _________________ 甕星 <mikahosi@abox9.so-net.ne.jp> http://blogs.msmvp.jp/mikahosi/ | ||||
|
投稿日時: 2006-12-22 15:24
甕星さん、レスありがとうございます。やはり、暗号化されているのは解読できないですよね。。。。そしたらもう各業務で使用しているoracleのユーザIDとパスワードをパラメータに設定してその分だけエクスポートするようにしたいと思います。ただ、そのサーバに進入されたときにユーザIDとパスワードが丸見えですね。。。何かいい方法ありますでしょうか。
| ||||
|
投稿日時: 2006-12-22 15:47
パスワードそのものは見ることはできないですが、現在の内容を
新しいデータベースに移行する場合は、(ユーザを作成した後 とかにでも) SQL> alter user xxx identified by values 'xxxxxxxxx'; という形式でパスワードが指定できます。 'xxxxxxxxx' の部分は dba_users の password 列の内容です。 元々のパスワードが分からないので適当なパスワードで ユーザを作った後、データを移行した後で元のパスワードを 使用できるようになります。 SQL リファレンスのマニュアルにはないですが、exp full=y とかで ダンプを作ると、最初の方に CREATE USER ... で同じような 構文が確認できます。 _________________ もしもし@RMAN 友の会 |
1