日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 并行执行脚本,批量执行Oracle脚本

發布時間:2024/7/23 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 并行执行脚本,批量执行Oracle脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景:linux上批量執行oracle腳本的shell腳本

linux下批量執行oracle腳本的shell腳本

#! /bin/bash -l

create_dbtable()

{

set -x

dbuser=$1

dbpassword=$2

sqlfile=$3

conn=${dbuser}/${dbpassword};

echo "create data of $dbuser..."

if [ ${dbuser} = 'sys' ]

then

conn="${conn} as sysdba";

fi

sqlplus "${conn}" <

whenever sqlerror exit 1;

@$sqlfile

EOF

if [ $? != 0 ]

then

echo "Error:execute ${sqlfile} error"

exit 1

fi

echo "execute ${sqlfile} completelly!"

}

main()

{

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

create_dbtable $*

if [ $? -ne 0 ];then

echo "Error:execute ${sqlfile} error"

exit 1

fi

echo "execute ${sqlfile} successfully."

}

main $*

將上述內容保存在create_database.sh中

BEGIN EXECUTE IMMEDIATE 'DROP TABLE T_NOTIFICATION_INFO'; EXCEPTION WHEN OTHERS THEN NULL; END;

/

/*==============================================================*/

/* TABLE: "T_NOTIFICATION_INFO" */

/*==============================================================*/

CREATE TABLE T_NOTIFICATION_INFO (

"SUBSCRIPTIONID" VARCHAR(36) NOT NULL,

"MANAGERREFERENCE" VARCHAR(2000),

"TIMETICK" INT,

"NOTIFICATIONCATEGORIES" VARCHAR(4000),

"FILTER" VARCHAR(4000),

"SUBSTATE" INT,

"ADDTIME" DATE,

CONSTRAINT PK_T_NOTIFICATION_INFO PRIMARY KEY ("SUBSCRIPTIONID")

);

將上述內容保存在createTable.sql中

1)root用戶登錄后

將create_database.sh,createTable.sql兩個文件上傳

2)修改create_database.sh文件可執行權限

chmod 775 create_database.sh

3)退出,用oracle用戶登錄

所在目錄下執行

./create_database.sh sys i2000db 'createTable.sql'

注:./create_database.sh 后面帶3個參數,根據實際情況調整

1 用戶名 sys

2 密碼?? i2000db

3 sql文件 createTable.sql

總結

以上是生活随笔為你收集整理的oracle 并行执行脚本,批量执行Oracle脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。