4行pythonコードoracleデータベースdmpファイルの一括インポートを実現

1696 ワード

いちばん前に書く
いくつかの特殊な理由で、oracleに大量のdmpファイルをインポートする必要があるかもしれません.私が今回インポートしたdmpファイルの量は115個で、合計45.4 Gです.pythonで一括インポートスクリプトを作成してインポートすることを選択しました.plsqlで三四百回以上注文したくないです.お茶を飲む瓜といいお茶を用意したほうがいいです.导入过程はやはりとても资源を消耗して、コンピュータの情况を见て、私のコンピュータは导入する时私はお茶を饮んで瓜を食べるしかありません~
友情のヒント:コードを直接見たい場合は、スクロールバーを一番下に引くことができます.
環境
1.オペレーティングシステム:window 10 2.oracleサービス側とクライアントがインストールされ、oracleバージョン:11 g 3.pythonバージョン:3.6
総じて考える
言うのもやるのも簡単だ.すべてのdmpを1つのフォルダに配置し、pythonがすべてのファイルを巡りoracleインポートコマンドを実行することを考えます.
具体的な実装
1.まず、oracleのdmpインポートコマンドを理解する必要があります.コマンドの形式は次のとおりです.imp [username]/[password]@[ip]/[sid] file="[dmp address]" full=y ignore=y上記コマンドでは、
1.1[username][password]はoracleデータベースのユーザー名パスワードです.1.2[ip]はリモート・データベース・アドレス、ローカル・ライブラリの場合は127.0.0.1[sid]はデータベースsid 1.4[dmp address]はdmpファイルの絶対アドレス、例えば私のoracleデータベースsidはorcl、ユーザー名はtestパスワード123、ローカル・ライブラリ、dmpファイル・アドレスd:dmp1.dmp. では、cmdコマンドで直接次のコードを実行すると、1を完了することができる.dmpファイルのインポート:imp test/[email protected]/orcl file="d:\dmp\1.dmp" full=y ignore=y
2.具体的なコード、注釈は十分に理解しているはずです
import os  #  os 

if __name__ == '__main__':
    #         dmp  ,  filename     、      。
    #           dmp  ,          
    for filename in os.listdir("D:\dmp"):
        #   cmd  ,   dmp     
        #   dmp       ,           ,    ,         
        os.system("imp orcl/[email protected]/zrr file=\"D:\dmp\\"+filename+"\" full=y ignore=y")

3.pythonスクリプトを実行vscodeを使用して編集しました.pythonスクリプトパスはd:/python/orclImportです.py.したがって、直接cmdウィンドウでコマンドを実行します.python d:/python/orclImport.py
最后に、私达の神器を出して、瓜とお茶、心地よく黒い窓の実行が完成することを待っています
転載は出典を明記してください