Thứ Sáu, 22 tháng 1, 2021

Kill, cancel, resume hoặc restart datapump expdp và impdp jobs (ORA-31626, ORA-31633, ORA-06512, ORA-00955)

Các tiện ích expdp và impdp được điều khiển bằng dòng lệnh, nhưng khi khởi động chúng từ OS-prompt, người ta không nhận thấy điều đó. Khi bạn chạy impdp hoặc expdp và sử dụng 'ctrl-c' và bạn muốn Kill, cancel, resume hoặc restart một công việc, bạn sẽ kết thúc trong dấu nhắc lệnh datapump… bây giờ thì làm gì để tiếp tục?!

Bài viết này sẽ giải quyết các vấn đề đó.

Xác định tên job

Thực hiện một lựa chọn từ dba_datapump_jobs trong sqlplus để lấy tên job, điều này rất hữu ích khi bạn gặp lỗi khi bảng chính (master table) đã tồn tại (xem ATTACH):

> impdp system (...)

ORA-31626: job does not exist
ORA-31633: unable to create master table "SYSTEM.<TABLE_NAME>"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT", line 1163
ORA-00955: name is already used by an existing object
ORA-06512: at "SYS.KUPV$FT", line 1056
ORA-06512: at "SYS.KUPV$FT", line 1044

SQL> 
SELECT owner_name, job_name, operation, job_mode, state
FROM dba_datapump_jobs;

OWNER_NAME JOB_NAME             OPERATION  JOB_MODE   STATE
---------- -------------------- ---------- ---------- ------------
SYSTEM     SYS_EXPORT_FULL_01   EXPORT     FULL       EXECUTING

kill hoặc stop một job datapump đang chạy

Sự khác biệt giữa Kill Stop rất đơn giản để giải thích. Khi kill (kill -9 hoặc đang export/import gõ kill_job) một công việc, bạn sẽ không thể tiếp tục hoặc bắt đầu lạiNgoài ra log và dumpfile sẽ bị xóa! Còn khi bạn stop_job thì bạn có thể resumable chạy lại

Để kill job ta thực hiện như sau:

- Nhấn Ctrl-c ở màn hình export/import và nhập KILL_JOB, sau đó xác nhận yes

Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
[Ctrl-c]
Export> KILL_JOB
Are you sure you wish to stop this job ([yes]/no): yes

- Hoặc Check ps -ef |grep impdp hoặc ps -ef |grep expdp --> Tìm PID và kill -9 <PID> đó

Để stop job sau này resumble lại thực hiện như sau:

- Nhấn Ctrl-c ở màn hình export/import và nhập STOP_JOB = IMMEDIATE sau đó xác nhận yes

Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
[Ctrl-c]
Export> STOP_JOB=IMMEDIATE
Are you sure you wish to stop this job ([yes]/no): yes

Tiếp tục (resume) công việc đã dừng

Xác định job bằng SQL hoặc bạn đã biết vì bạn đã sử dụng ' JOB_NAME = ';)

SELECT owner_name, job_name, operation, job_mode, state
FROM dba_datapump_jobs;

OWNER_NAME JOB_NAME             OPERATION  JOB_MODE   STATE      
---------- -------------------- ---------- ---------- ------------
SYSTEM     SYS_EXPORT_FULL_01             EXPORT     FULL       NOT RUNNING

Bây giờ chúng ta có thể ATTACH cho job:

> expdp system ATTACH=SYS_EXPORT_FULL_01
Job: EXP_FULL Owner: SYSTEM Operation: EXPORT Creator Privs: TRUE GUID: A5441357B472DFEEE040007F0100692A Start Time: Thursday, 08 June, 2011 20:23:39 Mode: FULL Instance: db1 Max Parallelism: 1 EXPORT Job Parameters: Parameter Name Parameter Value: CLIENT_COMMAND system/******** full=y JOB_NAME=EXP_FULL State: IDLING Bytes Processed: 0 Current Parallelism: 1 Job Error Count: 0 Dump File: /u01/app/oracle/admin/db1/dpdump/expdat.dmp bytes written: 520,192 Worker 1 Status: Process Name: DW00 State: UNDEFINED

(Lại) bắt đầu công việc với START_JOB , sử dụng ' = SKIP_CURRENT '. Để hiển thị lại tiến trình, hãy nhập CONTINUE_CLIENT .

Export> START_JOB[=SKIP_CURRENT]
Export> CONTINUE_CLIENT
Job EXP_FULL has been reopened at Thursday, 09 June, 2011 10:26
Restarting "SYSTEM"."SYS_EXPORT_FULL_01":  system/******** full=y JOB_NAME=SYS_EXPORT_FULL_01
Processing object type DATABASE_EXPORT/TABLESPACE Processing object type DATABASE_EXPORT/PROFILE

Hy vọng có ích cho bạn.

==================================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

#học oracle database
#Oracle Database Administration
#Oracle Tutorial
#Oracle DBA
#tự học oracle
#oca
#ocp

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master