SlideShare a Scribd company logo
SSIS 資料 轉拋
SSIS 資料 轉作業介紹拋
◎ SQL Server Integration Services
繼 MS SQL 2000 的 DTS 之後, MS SQL 2005 推出
SQL Server Integration Service 服務,該功能可從各種來
源 ( 如 XML 資料 、一般 案和關聯式資料來源檔 檔 ) 擷取
和轉換資料,然後將該資料載入到一或多個目的地,經過
流程控制 設計,藉此達到兩個環境資料整合的目的
SQL Server Oracle
●SSIS 主程式 : 每日資料 轉作業拋
(5:30 AM Windows 工作排程 )
●ExcessDataDel : 刪除對應 Oracle 端的
delete 資料 (5:00 AM SQL Server
Agent)
● TX_SSIS_STATUS : 寫入網站開 狀態啟
( 依執行時程 Table)
●PX_SSIS_ROW_CHK : 每日資料表筆數
檢 作業查 (6:00 AM Oracle Job)
●TRIX_TABLE_ONDEL :
轉 相關表格若有資料刪除會將相關資訊拋
存到 TX_DTS_DEL 中, (SQL Server)
ExcessDataDel 定時抓取該表資料每日 執
行刪除 ( 觸發器 / 即時 )
Time(AM) Process Scheduler concurrency
5:20 SQL server 多餘資料刪除作
業
(SQL server)
SQL Server
Agent
* 觸發器監控 DML 作業
* 資料數量一致性檢查
網站 user 登入時檢查 SQL
server 表
TX_SSIS_STATUS
5:30 SSIS 主程式 + 資料表筆數
計算
(SQL server)
Windows 工作
排程
6:00 PX_SSIS_ROW_CHK
(Oracle)
Oracle Job
Time table
6:30 資料庫日常檢 通知郵件查
登入 SQL server 點選 SSIS_ALL.sln 圖示
由 7 個拋轉單位集結成 SSIS_ALL ,點選 [ 方案總管 ] ,可以看到原始封裝檔
案
主要的使用物件
工具箱中的:
[ 時序容器時序容器 ]
[ 執行執行 SQLSQL 工作工作 ]
[ 資料流程工作資料流程工作 ]
 資料表全 轉拋
 資料表增量 轉拋
資料表全 轉拋
從工具箱拉一個 [ 時序容器 ] 物件,把 [SQL 執行作業 ] 、 [ 資料流程工作 ]
工作拉進去,並指向流程方向 ( 曳綠線拖 )
點選 [SQL 執行工作 ] ,修改
以下三個屬性
Connection :
LocalHost.webuser
SQL Statement :
Delete from aceweb.tx_table
Name:
表格名稱
點選 [ 資料流程工作 ] ,在工具箱把 [OLE DB 來源 ] 與 [OLD DB 目的地 ] 物
件拉入,並指向流程方向 ( 拖曳綠線 )
點選 [OLE DB 來源 ] ,修
改以下三個屬性
OLD DB 連接管理員 :
Pro.sql2005
SQL Statement :
SQL 命令
Name:
將 Oracle 端要轉出的表,
填入 SQL 查詢,
在 where 條件子句要加上
update_time <=
trunc(sysdate)+5/24 這個
條件
點選 [OLE DB 目的地 ] ,
修改以下三個屬性
OLD DB 連接管理員 :
LocalHost.WebDB
資料存取模式 :
資料表或檢視 – 快速載入
資料表或檢視的名稱 :
選取 SQL server 要轉入的
表
點選 [ 對應 ] ,確認兩個環
境的 轉欄位對應是否正拋
確,畫面右方為 SQL
server 的資料表欄位,左
邊為 Oracle 端的資料表欄
位
完成後如下圖
資料表增量 轉拋
為確保資料的一致性,在增量拋
轉時會先確認”前次 轉是不是有拋
失敗的狀況產生” 再決定是否要
進行全 轉或是增量 轉拋 拋 。
判斷元件
從工具箱拉一個 [ 時序容器 ] 物件,把 3 個 [SQL 執行作業 ] 、 2 個
[ 資料流程工作 ] 工作拉進去,並指向流程方向,如下圖
流程方向紅線的設置,點選流程方向,按右鍵勾選 [ 失敗 ]
點選 [ 時序容器 ] ,將 MaximumErrorCount 屬性設置為 2
a. 點選 [ 檢視 ] – [ 其他視窗 ] – [ 變數 ]
b. 新增一變數,字首為 check_ 表格名稱,資料
類型為 String
製作判斷元件
點選 [SQL 執行工作 ] ,修改
以下四個屬性
Connection :
Pro.sql2005
SQL Statement :
Name :
Check_tx_table
ResultSet :
單一資料列
SELECT decode(STATUS,'E ','1','2') As
check_TX_TABLE
FROM TX_SQL2005_SSIS_LOG
WHERE (LOG_TIME >= trunc(sysdate - 1))
AND (LOG_TIME < trunc(sysdate)) AND
(TABLE_NAME = 'TX_TABLE')
AND status<>'B' order by log_time desc
點選 [ 結果集 ] ,修改下面
兩個參數
結果名稱 :
Check_tx_table
變數名稱 :
使用者 ::Check_tx_table
( 下拉選單 )
[ 失敗流程 ]
評估作業:運算式或條件約束
:失敗值
運算式: @check_tx_table==“2”
[ 成功流程 ]
評估作業:運算式與條件約束
:成功運算式:值
@check_tx_table==“1”
回到上層,點選流程箭頭,分別在紅線 / 綠線點兩下,設定其中的屬性
成功流程端
拉出 [SQL 執行工作 ] ,修改
以下三個屬性
Connection :
LocalHost.webuser
SQL Statement :
delete from aceweb.TX_TABLE where KEY_ID in
(
select * from openquery(ORACLE10G,
'SELECT KEY_ID
FROM TX_TABLE
WHERE UPDATE_TIME >= TRUNC(sysdate-1)+5/24
and UPDATE_TIME <= TRUNC(sysdate)+5/24 ')
)
Name:
Delete TX_TABLE incre
成功流程端
點選 [ 資料流程工作 ] ,在工具箱把 [OLE DB 來源 ] 與 [OLD DB 目的地 ] 物
件拉入,並指向流程方向 ( 曳綠線拖 )
成功流程端
點選 [OLE DB 來源 ] ,修
改以下三個屬性
OLD DB 連接管理員 :
Pro.sql2005
SQL Statement :
“SELECT column1, column2,column3, column4
FROM TX_TABLE
WHERE
UPDATE_TIME >= TRUNC(sysdate-1)+5/24
and
UPDATE_TIME <= TRUNC(sysdate)+5/24”
( 在 where 條件子句要加上 update_time >=
trunc(sysdate)+5/24 and update_time <=
trunc(sysdate)+5/24 這個條件 )
Name:
將 Oracle 端要轉出的表,
填入 SQL 詢,查
成功流程端
點選 [OLE DB 目的地 ] ,
修改以下三個屬性
OLD DB 連接管理員 :
LocalHost.WebDB
資料存取模式 :
資料表或檢視 – 快速載入
資料表或檢視的名稱 :
選取 SQL server 要轉入的
表
成功流程端
點選 [ 對應 ] ,確認兩個環
境的 轉欄位對應是否正拋
確,畫面右方為 SQL
server 的資料表欄位,左
邊為 Oracle 端的資料表欄
位
成功流程端
失敗流程端
點選 [SQL 執行工作 ] ,修改
以下三個屬性
Connection :
LocalHost.webuser
SQL Statement :
Delete from aceweb.tx_table
Name:
表格名稱
失敗流程端
點選 [ 資料流程工作 ] ,在工具箱把 [OLE DB 來源 ] 與 [OLD DB 目的地 ] 物
件拉入,並指向流程方向 ( 曳綠線拖 )
失敗流程端
點選 [OLE DB 來源 ] ,修
改以下三個屬性
OLD DB 連接管理員 :
Pro.sql2005
SQL Statement :
SQL 命令
Name:
將 Oracle 端要轉出的表,
填入 SQL 詢,查
在 where 條件子句要加上
update_time <=
trunc(sysdate)+5/24 這個
條件
失敗流程端
點選 [OLE DB 目的地 ] ,
修改以下三個屬性
OLD DB 連接管理員 :
LocalHost.WebDB
資料存取模式 :
資料表或檢視 – 快速載入
資料表或檢視的名稱 :
選取 SQL server 要轉入的
表
失敗流程端
點選 [ 對應 ] ,確認兩個環
境的 轉欄位對應是否正拋
確,畫面右方為 SQL
server 的資料表欄位,左
邊為 Oracle 端的資料表欄
位
失敗流程端
完成後示意如下圖
執行紀錄 LOG
執行紀錄 LOG
在每個流程執行開頭與結尾,以 [SQL 執行工作 ] 物件,將執行情形的標
記寫入資料庫。
點選 [SQL 執行工作 ] ,修改
以下三個屬性
Connection :
Pro.sql2005
SQL Statement :
[ 下頁說明 ]
Name:
Start_TX_TABLE ( 開始 )
Fail_TX_TABLE_1 ( 失敗 1)
Fail_TX_TABLE_2 ( 失敗 2)
End_TX_TABLE ( 結束 )
SQL : INSERT INTO TX_SQL2005_SSIS_LOG
( TABLE_NAME, STATUS) VALUES
('T_POLICY_CHANGE' ,'B' )
SQL :
INSERT INTO TX_SQL2005_SSIS_LOG
( TABLE_NAME, STATUS) VALUES
('T_POLICY_CHANGE' ,'E')
SQL : INSERT INTO TX_SQL2005_SSIS_LOG
( TABLE_NAME, LOG_TIME, STATUS) VALUES
('T_POLICY_CHANGE' ,sysdate ,'F')
SQL : INSERT INTO TX_BATCH_OPT
(PROGRAM_NAME, LOG_TIME, STATUS,
MESSAGE) VALUES ('SSIS process',
sysdate, 'ERROR', 'T_POLICY_CHANGE')
Thanks all !

More Related Content

Similar to REF006 SSIS

诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 maclean liu
 
丁原:海量数据迁移方案
丁原:海量数据迁移方案丁原:海量数据迁移方案
丁原:海量数据迁移方案YANGL *
 
资身Dba经验谈
资身Dba经验谈资身Dba经验谈
资身Dba经验谈yiditushe
 
Essential oracle security internal for dba
Essential oracle security internal for dbaEssential oracle security internal for dba
Essential oracle security internal for dbamaclean liu
 
数据库性能诊断的七种武器
数据库性能诊断的七种武器数据库性能诊断的七种武器
数据库性能诊断的七种武器Leyi (Kamus) Zhang
 
Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)bigqiang zou
 
Azure Data Lake 簡介
Azure Data Lake 簡介Azure Data Lake 簡介
Azure Data Lake 簡介Herman Wu
 
COSCUP 2019 - 開源大數據引擎 Greenplum
COSCUP 2019 - 開源大數據引擎 GreenplumCOSCUP 2019 - 開源大數據引擎 Greenplum
COSCUP 2019 - 開源大數據引擎 GreenplumOmni-Alex Chen
 
網站設計100步
網站設計100步網站設計100步
網站設計100步evercislide
 
大型Sql server zero down time 解決方案
大型Sql server zero down time 解決方案大型Sql server zero down time 解決方案
大型Sql server zero down time 解決方案Rico Chen
 
Sql调优clustering factor影响数据删除速度一例
Sql调优clustering factor影响数据删除速度一例Sql调优clustering factor影响数据删除速度一例
Sql调优clustering factor影响数据删除速度一例maclean liu
 
Oracle北大青鸟完全教程
Oracle北大青鸟完全教程Oracle北大青鸟完全教程
Oracle北大青鸟完全教程yiditushe
 
Mr&ueh数据库方面
Mr&ueh数据库方面Mr&ueh数据库方面
Mr&ueh数据库方面Tianwei Liu
 
10, OCP - flashback
10, OCP - flashback10, OCP - flashback
10, OCP - flashbackted-xu
 
Sql语句编写优化和基本原理总结
Sql语句编写优化和基本原理总结Sql语句编写优化和基本原理总结
Sql语句编写优化和基本原理总结wangchongan
 
王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计YANGL *
 

Similar to REF006 SSIS (20)

Oracle Tablespace介紹
Oracle Tablespace介紹Oracle Tablespace介紹
Oracle Tablespace介紹
 
诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础 诗檀软件 Oracle开发优化基础
诗檀软件 Oracle开发优化基础
 
丁原:海量数据迁移方案
丁原:海量数据迁移方案丁原:海量数据迁移方案
丁原:海量数据迁移方案
 
资身Dba经验谈
资身Dba经验谈资身Dba经验谈
资身Dba经验谈
 
Essential oracle security internal for dba
Essential oracle security internal for dbaEssential oracle security internal for dba
Essential oracle security internal for dba
 
数据库性能诊断的七种武器
数据库性能诊断的七种武器数据库性能诊断的七种武器
数据库性能诊断的七种武器
 
Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)
 
Azure Data Lake 簡介
Azure Data Lake 簡介Azure Data Lake 簡介
Azure Data Lake 簡介
 
COSCUP 2019 - 開源大數據引擎 Greenplum
COSCUP 2019 - 開源大數據引擎 GreenplumCOSCUP 2019 - 開源大數據引擎 Greenplum
COSCUP 2019 - 開源大數據引擎 Greenplum
 
網站設計100步
網站設計100步網站設計100步
網站設計100步
 
大型Sql server zero down time 解決方案
大型Sql server zero down time 解決方案大型Sql server zero down time 解決方案
大型Sql server zero down time 解決方案
 
Sql调优clustering factor影响数据删除速度一例
Sql调优clustering factor影响数据删除速度一例Sql调优clustering factor影响数据删除速度一例
Sql调优clustering factor影响数据删除速度一例
 
Oracle北大青鸟完全教程
Oracle北大青鸟完全教程Oracle北大青鸟完全教程
Oracle北大青鸟完全教程
 
Mr&ueh数据库方面
Mr&ueh数据库方面Mr&ueh数据库方面
Mr&ueh数据库方面
 
10, OCP - flashback
10, OCP - flashback10, OCP - flashback
10, OCP - flashback
 
Sql语句编写优化和基本原理总结
Sql语句编写优化和基本原理总结Sql语句编写优化和基本原理总结
Sql语句编写优化和基本原理总结
 
王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计
 
六合彩
六合彩六合彩
六合彩
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 

REF006 SSIS

  • 2. SSIS 資料 轉作業介紹拋 ◎ SQL Server Integration Services 繼 MS SQL 2000 的 DTS 之後, MS SQL 2005 推出 SQL Server Integration Service 服務,該功能可從各種來 源 ( 如 XML 資料 、一般 案和關聯式資料來源檔 檔 ) 擷取 和轉換資料,然後將該資料載入到一或多個目的地,經過 流程控制 設計,藉此達到兩個環境資料整合的目的
  • 3. SQL Server Oracle ●SSIS 主程式 : 每日資料 轉作業拋 (5:30 AM Windows 工作排程 ) ●ExcessDataDel : 刪除對應 Oracle 端的 delete 資料 (5:00 AM SQL Server Agent) ● TX_SSIS_STATUS : 寫入網站開 狀態啟 ( 依執行時程 Table) ●PX_SSIS_ROW_CHK : 每日資料表筆數 檢 作業查 (6:00 AM Oracle Job) ●TRIX_TABLE_ONDEL : 轉 相關表格若有資料刪除會將相關資訊拋 存到 TX_DTS_DEL 中, (SQL Server) ExcessDataDel 定時抓取該表資料每日 執 行刪除 ( 觸發器 / 即時 )
  • 4. Time(AM) Process Scheduler concurrency 5:20 SQL server 多餘資料刪除作 業 (SQL server) SQL Server Agent * 觸發器監控 DML 作業 * 資料數量一致性檢查 網站 user 登入時檢查 SQL server 表 TX_SSIS_STATUS 5:30 SSIS 主程式 + 資料表筆數 計算 (SQL server) Windows 工作 排程 6:00 PX_SSIS_ROW_CHK (Oracle) Oracle Job Time table 6:30 資料庫日常檢 通知郵件查
  • 5. 登入 SQL server 點選 SSIS_ALL.sln 圖示
  • 6. 由 7 個拋轉單位集結成 SSIS_ALL ,點選 [ 方案總管 ] ,可以看到原始封裝檔 案
  • 7. 主要的使用物件 工具箱中的: [ 時序容器時序容器 ] [ 執行執行 SQLSQL 工作工作 ] [ 資料流程工作資料流程工作 ]
  • 8.  資料表全 轉拋  資料表增量 轉拋
  • 10. 從工具箱拉一個 [ 時序容器 ] 物件,把 [SQL 執行作業 ] 、 [ 資料流程工作 ] 工作拉進去,並指向流程方向 ( 曳綠線拖 )
  • 11. 點選 [SQL 執行工作 ] ,修改 以下三個屬性 Connection : LocalHost.webuser SQL Statement : Delete from aceweb.tx_table Name: 表格名稱
  • 12. 點選 [ 資料流程工作 ] ,在工具箱把 [OLE DB 來源 ] 與 [OLD DB 目的地 ] 物 件拉入,並指向流程方向 ( 拖曳綠線 )
  • 13. 點選 [OLE DB 來源 ] ,修 改以下三個屬性 OLD DB 連接管理員 : Pro.sql2005 SQL Statement : SQL 命令 Name: 將 Oracle 端要轉出的表, 填入 SQL 查詢, 在 where 條件子句要加上 update_time <= trunc(sysdate)+5/24 這個 條件
  • 14. 點選 [OLE DB 目的地 ] , 修改以下三個屬性 OLD DB 連接管理員 : LocalHost.WebDB 資料存取模式 : 資料表或檢視 – 快速載入 資料表或檢視的名稱 : 選取 SQL server 要轉入的 表
  • 15. 點選 [ 對應 ] ,確認兩個環 境的 轉欄位對應是否正拋 確,畫面右方為 SQL server 的資料表欄位,左 邊為 Oracle 端的資料表欄 位
  • 18. 從工具箱拉一個 [ 時序容器 ] 物件,把 3 個 [SQL 執行作業 ] 、 2 個 [ 資料流程工作 ] 工作拉進去,並指向流程方向,如下圖 流程方向紅線的設置,點選流程方向,按右鍵勾選 [ 失敗 ]
  • 19. 點選 [ 時序容器 ] ,將 MaximumErrorCount 屬性設置為 2
  • 20. a. 點選 [ 檢視 ] – [ 其他視窗 ] – [ 變數 ] b. 新增一變數,字首為 check_ 表格名稱,資料 類型為 String
  • 22. 點選 [SQL 執行工作 ] ,修改 以下四個屬性 Connection : Pro.sql2005 SQL Statement : Name : Check_tx_table ResultSet : 單一資料列 SELECT decode(STATUS,'E ','1','2') As check_TX_TABLE FROM TX_SQL2005_SSIS_LOG WHERE (LOG_TIME >= trunc(sysdate - 1)) AND (LOG_TIME < trunc(sysdate)) AND (TABLE_NAME = 'TX_TABLE') AND status<>'B' order by log_time desc
  • 23. 點選 [ 結果集 ] ,修改下面 兩個參數 結果名稱 : Check_tx_table 變數名稱 : 使用者 ::Check_tx_table ( 下拉選單 )
  • 24. [ 失敗流程 ] 評估作業:運算式或條件約束 :失敗值 運算式: @check_tx_table==“2” [ 成功流程 ] 評估作業:運算式與條件約束 :成功運算式:值 @check_tx_table==“1” 回到上層,點選流程箭頭,分別在紅線 / 綠線點兩下,設定其中的屬性
  • 26. 拉出 [SQL 執行工作 ] ,修改 以下三個屬性 Connection : LocalHost.webuser SQL Statement : delete from aceweb.TX_TABLE where KEY_ID in ( select * from openquery(ORACLE10G, 'SELECT KEY_ID FROM TX_TABLE WHERE UPDATE_TIME >= TRUNC(sysdate-1)+5/24 and UPDATE_TIME <= TRUNC(sysdate)+5/24 ') ) Name: Delete TX_TABLE incre 成功流程端
  • 27. 點選 [ 資料流程工作 ] ,在工具箱把 [OLE DB 來源 ] 與 [OLD DB 目的地 ] 物 件拉入,並指向流程方向 ( 曳綠線拖 ) 成功流程端
  • 28. 點選 [OLE DB 來源 ] ,修 改以下三個屬性 OLD DB 連接管理員 : Pro.sql2005 SQL Statement : “SELECT column1, column2,column3, column4 FROM TX_TABLE WHERE UPDATE_TIME >= TRUNC(sysdate-1)+5/24 and UPDATE_TIME <= TRUNC(sysdate)+5/24” ( 在 where 條件子句要加上 update_time >= trunc(sysdate)+5/24 and update_time <= trunc(sysdate)+5/24 這個條件 ) Name: 將 Oracle 端要轉出的表, 填入 SQL 詢,查 成功流程端
  • 29. 點選 [OLE DB 目的地 ] , 修改以下三個屬性 OLD DB 連接管理員 : LocalHost.WebDB 資料存取模式 : 資料表或檢視 – 快速載入 資料表或檢視的名稱 : 選取 SQL server 要轉入的 表 成功流程端
  • 30. 點選 [ 對應 ] ,確認兩個環 境的 轉欄位對應是否正拋 確,畫面右方為 SQL server 的資料表欄位,左 邊為 Oracle 端的資料表欄 位 成功流程端
  • 32. 點選 [SQL 執行工作 ] ,修改 以下三個屬性 Connection : LocalHost.webuser SQL Statement : Delete from aceweb.tx_table Name: 表格名稱 失敗流程端
  • 33. 點選 [ 資料流程工作 ] ,在工具箱把 [OLE DB 來源 ] 與 [OLD DB 目的地 ] 物 件拉入,並指向流程方向 ( 曳綠線拖 ) 失敗流程端
  • 34. 點選 [OLE DB 來源 ] ,修 改以下三個屬性 OLD DB 連接管理員 : Pro.sql2005 SQL Statement : SQL 命令 Name: 將 Oracle 端要轉出的表, 填入 SQL 詢,查 在 where 條件子句要加上 update_time <= trunc(sysdate)+5/24 這個 條件 失敗流程端
  • 35. 點選 [OLE DB 目的地 ] , 修改以下三個屬性 OLD DB 連接管理員 : LocalHost.WebDB 資料存取模式 : 資料表或檢視 – 快速載入 資料表或檢視的名稱 : 選取 SQL server 要轉入的 表 失敗流程端
  • 36. 點選 [ 對應 ] ,確認兩個環 境的 轉欄位對應是否正拋 確,畫面右方為 SQL server 的資料表欄位,左 邊為 Oracle 端的資料表欄 位 失敗流程端
  • 39. 執行紀錄 LOG 在每個流程執行開頭與結尾,以 [SQL 執行工作 ] 物件,將執行情形的標 記寫入資料庫。
  • 40. 點選 [SQL 執行工作 ] ,修改 以下三個屬性 Connection : Pro.sql2005 SQL Statement : [ 下頁說明 ] Name: Start_TX_TABLE ( 開始 ) Fail_TX_TABLE_1 ( 失敗 1) Fail_TX_TABLE_2 ( 失敗 2) End_TX_TABLE ( 結束 )
  • 41. SQL : INSERT INTO TX_SQL2005_SSIS_LOG ( TABLE_NAME, STATUS) VALUES ('T_POLICY_CHANGE' ,'B' ) SQL : INSERT INTO TX_SQL2005_SSIS_LOG ( TABLE_NAME, STATUS) VALUES ('T_POLICY_CHANGE' ,'E') SQL : INSERT INTO TX_SQL2005_SSIS_LOG ( TABLE_NAME, LOG_TIME, STATUS) VALUES ('T_POLICY_CHANGE' ,sysdate ,'F') SQL : INSERT INTO TX_BATCH_OPT (PROGRAM_NAME, LOG_TIME, STATUS, MESSAGE) VALUES ('SSIS process', sysdate, 'ERROR', 'T_POLICY_CHANGE')