7

同僚と私は、ホストされたDB2 / zデータベース(バージョン8.1)に数百のSQLストアドプロシージャを置いています。管理者権限はなく、データベースへのアクセスはQMF画面を介して行われます。FTダウンロードは、TSOコマンドを使用した3270ターミナルセッションを介して行われます。

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

SVNまたは他のリビジョン管理システムでオンサイトに保管している毎週のダンプを実行したいと思います。

任意の提案をいただければ幸いです。

ありがとう
スティーブン


更新-2009年7月9日

提案に感謝しますが、特定の構成では役に立たないようです。ベンダーに戻って、詳細を尋ねます。さらに何かを学んだら更新します。

スティーブン

4

4 に答える 4

10

ストアド プロシージャのテキストは、次のようにして取得できます。

SELECT ROUTINE_DEFINITION FROM SYSIBM.ROUTINES;

または、次の操作を実行して、スキーマ内の SP のみを取得することを選択できます。

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

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

于 2009-07-08T10:28:34.407 に答える
4

DB2 z / OSでは、システム・カタログ表、主にSYSIBM.SYSROUTINES、SYSIBM.SYSROUTINES_OPTS、およびSYSIBM.SYSROUTINES_SRCを調べる必要があります。

于 2009-06-14T06:02:13.170 に答える
1

そのデータベースに対するエンドユーザー権限しか持っていない場合、それは問題になりますか?

v9.5 の情報センターから、次の権限が必要です。

システム カタログ テーブルに対する SELECT 権限。

表スペース・コンテナー DDL (API sqlbotcq、sqlbftcq、および sqlbctcq を呼び出す) の生成など、場合によっては、以下のいずれかが必要になります。

* sysadm
* sysctrl
* sysmaint
* dbadm
于 2009-06-25T22:44:34.360 に答える
0

db2lookがDDLを取得できるはずだと思います。

ドキュメントによると、必要なのはシステムカタログテーブルに対するSELECT特権だけです。

私はもうOS/390にあまり詳しくないので、そのプラットフォームでdb2lookをどのように実行するかわかりません。うまくいけば、あなたのDBAがあなたを助けることができます。

于 2009-06-11T15:07:56.100 に答える