2009-06-11 9 views
4

私の同僚と私は、数百のSQLストアドプロシージャをホストされたDB2/zデータベース(バージョン8.1)に置いています。当社には管理者権限がありません。データベースへのアクセスはQMF画面によるものです。ダウンロードは、TSO FTコマンドを使用して3270端末セッションを介して行われます。ストアドプロシージャを抽出するDB2 SQLコード

すべてのストアドプロシージャの定義/テキストを抽出する簡単で効率的な方法はありますか?

SVNやその他のリビジョン管理システムで私たちがオンサイトに保管している週ごとのダンプをしたいと思います。

ご意見をいただければ幸いです。

おかげ
スティーブン


アップデート - 2009年7月9日

提案のための多くのおかげで、彼らは私たちの特定の設定を支援していないようです。私はベンダーに戻って、彼らに詳細な情報を求めます。私はさらに何かを学ぶと更新されます。

スティーブン

答えて

0

私はdb2lookはあなたのためのDDLを取得することができるはずだと思います。

文書によると、必要なのはシステムカタログテーブルに対するSELECT特権だけです。

私はあまりOS/390に精通していないので、そのプラットフォームでdb2lookをどのように実行するかわかりません。あなたのDBAがあなたを助けてくれることを願っています。あなたはシステム・カタログ表に見たいと思うでしょうDB2のz/OS上

4

、主にSYSIBM.SYSROUTINES、SYSIBM.SYSROUTINES_OPTS、およびSYSIBM.SYSROUTINES_SRC

1

彼らは唯一のエンドユーザーをしている場合は、右そのデシベルで、それは問題ですか?

V9.5のための情報センターから、次の権限が必要です:システム・カタログ表に

SELECT特権を。

など(のAPIのsqlbotcq、sqlbftcq、およびおよびsqlbctcqを呼び出して)表スペース・コンテナーDDLを生成するなど、いくつかのケースでは、次のいずれかが必要になりますが:

* sysadm 
* sysctrl 
* sysmaint 
* dbadm 
6

あなたは、ストアドプロシージャのテキストを取得することができます

SELECT ROUTINE_DEFINITION FROM SYSIBM.ROUTINES; 

代わりをすることによって、あなたは行って、自分のスキーマ内だけのSPを取得するために選択することができます。

SELECT ROUTINE_DEFINITION FROM SYSIBM.ROUTINES WHERE SPECIFIC_SCHEMA = 'MYSCHEMA'; 

where句を使用して結果を制限する場合は、大文字と小文字を区別するであることに注意してください.CAPSのみで条件を指定する必要があります。

関連する問題