2016-10-06 5 views
-1

プロシージャをあるサーバーから別のサーバーにコピーする最良の方法は、それぞれをコピーして貼り付け、現在実行していません。私はステージングデータベースとターゲットデータベースを持っています。私はステージングではない目標にある手順を持っていますが、これについてどうやって行くのですか?私はマージについて研究しましたが、それはテーブルのためだけに働く...私は思いますか?Oracle SQL Developer複数のプロシージャをあるサーバーから別のサーバーにコピーする方法

+0

これは間違ったアプローチです。適切なSQLスクリプトを作成し、バージョン管理システムに格納してそこから展開します。 LiquibaseやFlywayのようなツールは、スクリプトの整理と実行に役立ちます。 –

答えて

0

-selectソースデータベース は、スクリプトの生成>ソースデータベース>タスクに右回転クリック>必要なストアドプロシージャ-check -selectストアドプロシージャ し、単一のファイルとして保存します。

ファイルが保存されたら、ファイルを開き、データベースの名前を必要な(ターゲット)データベース名に変更します。あなたが欲しいものについての詳細を知らなくてもお答えする方法 - リンク以下

はあなたに https://stackoverflow.com/a/9238983/6929319

+1

こんにちは、あなたのリンクは、SQL Developerではなく、SQL Serverソリューション用です。 –

+0

これはOracleとどのように関連していますか? –

+0

質問には、** Oracle **のタイトルが** Oracle SQL Developer **に、** Oracle **にはタグが付いています。 ** Microsoft SQL Server Management Studio **の指示とリンクはどのように関連していますか? –

1

「ベスト」を助けないかもしれません。

プロシージャをあるデータベース接続から別のデータベース接続にドラッグアンドドロップしてコピーすることができます。 V4.1.5またはv4.2。

他のすべてのバージョンでは、「ツール」>「データベース」>「コピー」を使用してPL/SQLおよびターゲット・データベースを選択し、それらをコピーします。

Defコピーして貼り付けないでください。

あなたが実際にやるべきことは、すべてのソースコードの作業ディレクトリがあり、それからターゲットデータベースに対してSQL * Plusスクリプトを使用して@スタイルを呼び出すことで、任意のデータベースにロードできます。

SQL Developerは、SQLワークシートのF5を介してSQL * Plusスクリプトを実行します。

0

dbms_metadataプロシージャを使用すると、ストアド・プロシージャおよびファンクションのDDL文を抽出できます。

spool procedures_mydb.sql 
select dbms_metadata.GET_DDL('PROCEDURE',u.object_name) 
from user_objects u 
where object_type = 'PROCEDURE' 
; 
spool off; 

次に、作成したファイルを別のインスタンスで実行します。

関連する問題