- PR -

Oracle10gでのusernameとパスワード取得について

1
投稿者投稿内容
やすけ
ベテラン
会議室デビュー日: 2003/08/20
投稿数: 87
投稿日時: 2006-12-22 13:50
nakamuraと申します。DBサーバ(Linux)にあるoracleのユーザIDとパスワードを
取得して、取得したユーザIDのexportをするシェルを作成しています。確かにユーザIDとパスワードはdba_usersのデータディクショナリで取得できるのですが、すべてのユーザが取得されてしまいます。実際には自分たちで開発したシステムの分だけ取得して
(複数存在する)それらに対するexportをしたいのです。その辺の区分けみたいなフラグ等はdba_usersには見当たらないのです。もしかして違うデータディクショナリにあるのかと思い探してはいるのですが、調べ方が悪いのか見当たりません。どなたかご教授願いますでしょうか。
そんな都合のいいことは出来ないのでしょうか。
もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2006-12-22 14:00
引用:

やすけさんの書き込み (2006-12-22 13:50) より:

実際には自分たちで開発したシステムの分だけ取得して(複数存在する)それらに
対するexportをしたいのです。その辺の区分けみたいなフラグ等はdba_usersには
見当たらないのです。もしかして違うデータディクショナリにあるのかと思い
探してはいるのですが



業務のこれこれこういう目的で作った、といっても、その区分けは業務上の
ものですから、ディクショナリに区分けが分かるような内容は持てないでしょう。
命名規則をもうけておくとかしてないと対応できないのでは。

_________________
もしもし@RMAN 友の会
やすけ
ベテラン
会議室デビュー日: 2003/08/20
投稿数: 87
投稿日時: 2006-12-22 14:39
もしもしさん、レスありがとうございました。やっぱり区分けなんてないですよね。。。業務で使用しているほとんどは命名規則はないのですがほとんどが規則性のある命名ですのでやはりその規則性で拾うしかないですね。。
わかりました、ありがとうございました。ただ、唯一気になったのが、dba_usersにあるユーザのパスワードが暗号化されています。この項目はエンコードみたいなことしないとパスワードは解読できないということでしょうか。もしそうなら、どのようにやればよいのか、ヒントを教えていただけますでしょうか。項目はdba_usersのPASSWORDです。
取得する項目はUSERNAMEとPASSWORDです。

甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-12-22 15:14
引用:

やすけさんの書き込み (2006-12-22 14:39) より:
わかりました、ありがとうございました。ただ、唯一気になったのが、dba_usersにあるユーザのパスワードが暗号化されています。この項目はエンコードみたいなことしないとパスワードは解読できないということでしょうか。


いいえ。いかなる方法を用いても元のパスワードを解読することは出来ないという事です。たとえ管理者であってもパスワードが何かを知ることは出来ません。パスワードを片方向ハッシュで暗号化して保存しておくのは、わりと一般的な方法です。
_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
やすけ
ベテラン
会議室デビュー日: 2003/08/20
投稿数: 87
投稿日時: 2006-12-22 15:24
甕星さん、レスありがとうございます。やはり、暗号化されているのは解読できないですよね。。。。そしたらもう各業務で使用しているoracleのユーザIDとパスワードをパラメータに設定してその分だけエクスポートするようにしたいと思います。ただ、そのサーバに進入されたときにユーザIDとパスワードが丸見えですね。。。何かいい方法ありますでしょうか。
もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)