Oracle 11gR2單例項資料庫補丁升級記錄

realkid4發表於2015-08-15

 

Oracle 11gR2是目前新系統應用比較廣泛的Oracle版本,根據官方路線圖,11.2.0.411g末期的一個版本。應該說,11gR2之後,Oracle直接提供了完整升級版本,可以直接安裝高版本的資料庫系統,不需要從基礎版本逐步升級。

本篇主要記錄以11.2.0.4為基礎,單例項條件下Oracle補丁安裝過程。

 

1、補丁包和環境介紹

 

首先確定資料庫版本,筆者以一臺全新安裝Oracle 11gR2單例項進行安裝,具體版本為11.2.0.4

 

 

SQL> select * from v$version;

 

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

PL/SQL Release 11.2.0.4.0 - Production

CORE    11.2.0.4.0      Production

TNS for Linux: Version 11.2.0.4.0 - Production

NLSRTL Version 11.2.0.4.0 – Production

 

 

進行操作的補丁檔案如下:

 

 

[root@XXX-PROD-DB upload]# cd patch/

[root@XXX-PROD-DB patch]# ls -l

total 282772

-rw-r--r--. 1 root root    407030 Jul 15 09:03 p19852360_112040_Generic.zip

-rw-r--r--. 1 root root  71580583 Jul 15 09:03 p20299013_112040_Linux-x86-64.zip

-rw-r--r--. 1 root root  12335412 Jul 15 09:03 p20299015_112040_Linux-x86-64.zip

-rw-r--r--. 1 root root  40486165 Jul 15 09:03 p20406239_112040_Linux-x86-64.zip

-rw-r--r--. 1 root root 112087303 Jul 15 09:02 p20834611_112040_Linux-x86-64.zip

-rw-r--r--. 1 root root  52648436 Jul 15 09:02 p6880880_112000_Linux-x86-64.zip

 

 

注意:其中p6880880_112000_Linux-x86-64.zip是新版本OPatch,一般而言打補丁都需要更新最新的OPatch

 

2、升級OPatch元件

 

首先需要以覆蓋方式升級OPatch元件。

 

 

[oracle@XXX-PROD-DB ~]$ cd $ORACLE_HOME

[oracle@XXX-PROD-DB dbhome_1]$ ls -l | grep OPatch

drwxr-xr-x.  8 oracle oinstall  4096 Jul 16 10:08 OPatch

 

 

備份OPatch目錄,並用解壓zip檔案替換。

 

 

[oracle@XXX-PROD-DB dbhome_1]$ cp /upload/patch/p6880880_112000_Linux-x86-64.zip $ORACLE_HOME

[oracle@XXX-PROD-DB dbhome_1]$ ls -l | grep p6880880_112000_Linux-x86-64.zip

-rw-r--r--.  1 oracle oinstall 52648436 Aug  4 08:42 p6880880_112000_Linux-x86-64.zip

 

[oracle@XXX-PROD-DB dbhome_1]$ mv OPatch OPatch_BK

[oracle@XXX-PROD-DB dbhome_1]$ ls -l | grep OPatch

drwxr-xr-x.  8 oracle oinstall     4096 Jul 16 10:08 OPatch_BK

 

 

解壓OPatch檔案。

 

 

[root@XXX-PROD-DB ~]# cd /u01/app/oracle/product/11.2.0/dbhome_1

[root@XXX-PROD-DB dbhome_1]# ls -l | grep p6880880_112000_Linux-x86-64.zip

-rw-r--r--.  1 oracle oinstall 52648436 Aug  4 08:42 p6880880_112000_Linux-x86-64.zip

[root@XXX-PROD-DB dbhome_1]# unzip p6880880_112000_Linux-x86-64.zip

 

[root@XXX-PROD-DB dbhome_1]# ls -l | grep OPatch

drwxr-x---. 10 root   root         4096 Mar 31 17:10 OPatch

drwxr-xr-x.  8 oracle oinstall     4096 Jul 16 10:08 OPatch_BK

[root@XXX-PROD-DB dbhome_1]# chown -R oracle:oinstall OPatch

[root@XXX-PROD-DB dbhome_1]# ls -l | grep OPatch

drwxr-x---. 10 oracle oinstall     4096 Mar 31 17:10 OPatch

drwxr-xr-x.  8 oracle oinstall     4096 Jul 16 10:08 OPatch_BK

 

 

OPatch是一個命令指令碼工具,為方便起見,可以將其加入到PATH環境變數中。

 

 

[oracle@XXX-PROD-DB dbhome_1]$ cd ~

[oracle@XXX-PROD-DB ~]$ vi .bash_profile

 

(篇幅原因,有省略……

ORACLE_SID=XXXCDB

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

 

PATH=$PATH:$ORACLE_HOME/bin:/u01/app/oracle/product/11.2.0/dbhome_1/OPatch

 

export ORACLE_SID

export ORACLE_BASE

export ORACLE_HOME

 

export PATH

".bash_profile" 23L, 409C written 

 

 

檢視OPatch版本。

 

 

[oracle@XXX-PROD-DB ~]$ opatch version

OPatch Version: 11.2.0.3.10

OPatch succeeded.

 

 

2、補丁19852360_112040

 

補丁19852360_112040是一個簡單的補丁,主要是針對JDBC相關的補丁型別。原則上,不需要進行關庫操作。

 

 

[root@XXX-PROD-DB patch]# unzip p19852360_112040_Generic.zip

Archive:  p19852360_112040_Generic.zip

   creating: 19852360/

  inflating: 19852360/README.txt    

   creating: 19852360/files/

   creating: 19852360/files/jdbc/

(篇幅原因,有省略……

  inflating: 19852360/etc/xml/GenericActions.xml 

  inflating: 19852360/etc/xml/ShiphomeDirectoryStructure.xml 

 

 

 

進入解壓目錄,注意:要確保補丁檔案的檔案許可權設定。

 

 

[oracle@XXX-PROD-DB ~]$ cd /upload/patch/

[oracle@XXX-PROD-DB patch]$ ls -l

total 282776

drwxr-xr-x. 4 oracle oinstall      4096 Oct 20  2014 19852360

-rw-r--r--. 1 root   root        407030 Jul 15 09:03 p19852360_112040_Generic.zip

 

[oracle@XXX-PROD-DB patch]$ cd 19852360/

[oracle@XXX-PROD-DB 19852360]$ ls -l

total 20

drwxr-xr-x. 4 oracle oinstall  4096 Oct 20  2014 etc

drwxr-xr-x. 3 oracle oinstall  4096 Oct 20  2014 files

-rw-rw-r--. 1 oracle oinstall 10858 Oct 28  2014 README.txt

[oracle@XXX-PROD-DB 19852360]$

 

 

注意:無論DBA經驗多豐富,在進行補丁的時候,一定要參考每個補丁的readme.txt檔案,遵循官方步驟進行操作。用成熟技術、用官方步驟是我們確保成功的重要原則。

首先,進行補丁先決條件檢查。

 

 

[oracle@XXX-PROD-DB 19852360]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./

Oracle Interim Patch Installer version 11.2.0.3.10

Copyright (c) 2015, Oracle Corporation.  All rights reserved.

 

PREREQ session

Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1

Central Inventory : /u01/app/oraInventory

   from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc

OPatch version    : 11.2.0.3.10

OUI version       : 11.2.0.4.0

Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-08-04_10-22-39AM_1.log

 

Invoking prereq "checkconflictagainstohwithdetail"

 

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

 

 

沒有發現問題,可以直接進行補丁。

 

 

[oracle@XXX-PROD-DB 19852360]$ opatch apply

Oracle Interim Patch Installer version 11.2.0.3.10

Copyright (c) 2015, Oracle Corporation.  All rights reserved.

 

 

Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1

Central Inventory : /u01/app/oraInventory

   from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc

OPatch version    : 11.2.0.3.10

OUI version       : 11.2.0.4.0

Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/19852360_Aug_04_2015_10_21_09/apply2015-08-04_10-21-09AM_1.log

 

Applying interim patch '19852360' to OH '/u01/app/oracle/product/11.2.0/dbhome_1'

Verifying environment and performing prerequisite checks...

All checks passed.

Provide your email address to be informed of security issues, install and

initiate Oracle Configuration Manager. Easier for you if you use your My

Oracle Support Email address/User Name.

Visit for details.

Email address/User Name:

 

You have not provided an email address for notification of security issues.

Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  Y

 

 

Backing up files...

Patching component oracle.dbjava.jdbc, 11.2.0.4.0...

Patching component oracle.dbjava.ic, 11.2.0.4.0...

 

Verifying the update...

Patch 19852360 successfully applied

Log file location: /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/19852360_Aug_04_2015_10_21_09/apply2015-08-04_10-21-09AM_1.log

 

OPatch succeeded.

 

 

3、補丁20299013_112040

 

解壓補丁檔案:

 

 

[root@XXX-PROD-DB patch]# unzip p20299013_112040_Linux-x86-64.zip

 

  inflating: 20299013/18522509/files/lib/libserver11.a/qerel.o 

  inflating: 20299013/18522509/files/lib/libserver11.a/knahs.o 

(篇幅原因,有省略……

  inflating: 20299013/18522509/etc/config/actions.xml 

  inflating: 20299013/18522509/etc/config/inventory.xml 

  inflating: PatchSearch.xml

 

 

設定owner許可權。

 

 

[root@XXX-PROD-DB patch]# chown -R oracle:oinstall 20299013/

[root@XXX-PROD-DB patch]# ls -l

total 282840

drwxr-xr-x. 4 oracle oinstall      4096 Oct 20  2014 19852360

drwxrwxr-x. 8 oracle oinstall      4096 Mar  4 18:30 20299013

 

 

補丁20299013_112040是一個補丁集合,多個經過驗證的安全補丁集合防止,是可以統一進行補丁操作的。

 

 

[oracle@XXX-PROD-DB 20299013]$ ls -l

total 88

drwxr-xr-x. 4 oracle oinstall  4096 Mar  4 18:30 17478514

drwxr-xr-x. 4 oracle oinstall  4096 Mar  4 18:30 18031668

drwxr-xr-x. 4 oracle oinstall  4096 Mar  4 18:30 18522509

drwxr-xr-x. 4 oracle oinstall  4096 Mar  4 18:30 19121551

drwxrwxr-x. 4 oracle oinstall  4096 Mar  4 18:30 19769489

drwxrwxr-x. 4 oracle oinstall  4096 Mar  4 18:30 20299013

-rw-r--r--. 1 oracle oinstall  3068 Mar  4 18:30 patchmd.xml

-rw-rw-r--. 1 oracle oinstall 54747 Apr 12 10:40 README.html

-rw-r--r--. 1 oracle oinstall    21 Mar  4 18:30 README.txt

 

 

進行先決性檢查。

 

 

[oracle@XXX-PROD-DB 20299013]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./

Oracle Interim Patch Installer version 11.2.0.3.10

Copyright (c) 2015, Oracle Corporation.  All rights reserved.

 

PREREQ session

 

Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1

Central Inventory : /u01/app/oraInventory

   from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc

OPatch version    : 11.2.0.3.10

OUI version       : 11.2.0.4.0

Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-08-04_10-28-53AM_1.log

 

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

 

 

驗證透過,說明當前系統安裝補丁和將要安裝補丁之間沒有衝突。但是,執行apply的時候就有問題。

 

 

[oracle@XXX-PROD-DB 20299013]$ opatch apply

Oracle Interim Patch Installer version 11.2.0.3.10

Copyright (c) 2015, Oracle Corporation.  All rights reserved.

 

Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1

Central Inventory : /u01/app/oraInventory

   from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc

OPatch version    : 11.2.0.3.10

OUI version       : 11.2.0.4.0

Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-08-04_10-29-25AM_1.log

 

Verifying environment and performing prerequisite checks...

Prerequisite check "CheckActiveFilesAndExecutables" failed.

The details are:

 

Following executables are active :

/u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle

/u01/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1

UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.

Log file location: /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-08-04_10-29-25AM_1.log

 

OPatch failed with error code 73

 

 

報錯資訊中包括了日誌內容,一旦出現Oracle錯誤,各種日誌是進行診斷的最好方法。

 

 

[root@XXX-PROD-DB patch]# cd /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/

[root@XXX-PROD-DB opatch]# ls -l

total 36

drwxr-xr-x. 2 oracle oinstall  4096 Aug  4 10:21 19852360_Aug_04_2015_10_21_09

drwxr-xr-x. 2 oracle oinstall  4096 Aug  4 10:06 lsinv

-rw-r--r--. 1 oracle oinstall  2050 Aug  4 10:06 opatch2015-08-04_10-06-22AM_1.log

-rw-r--r--. 1 oracle oinstall  1665 Aug  4 10:22 opatch2015-08-04_10-22-39AM_1.log

-rw-r--r--. 1 oracle oinstall  2021 Aug  4 10:28 opatch2015-08-04_10-28-53AM_1.log

-rw-r--r--. 1 oracle oinstall 10540 Aug  4 10:29 opatch2015-08-04_10-29-25AM_1.log

-rw-r--r--. 1 oracle oinstall  1872 Aug  4 10:29 opatch_history.txt

[root@INTCTL-PROD-DB opatch]# ls -l | grep 2015-08-04_10-29-25

-rw-r--r--. 1 oracle oinstall 10540 Aug  4 10:29 opatch2015-08-04_10-29-25AM_1.log

 

--日誌片段:

[Aug 4, 2015 10:29:31 AM]    Finish fuser command /sbin/fuser /u01/app/oracle/product/11.2.0/dbhome_1/bin/proc at Tue Aug 04 10:29:31 CST 2015

[Aug 4, 2015 10:29:31 AM]    Start fuser command /sbin/fuser /u01/app/oracle/product/11.2.0/dbhome_1/lib/liborasdkbase.so.11.1 at Tue Aug 04 10:29:31 CST 2015

[Aug 4, 2015 10:29:31 AM]    Finish fuser command /sbin/fuser /u01/app/oracle/product/11.2.0/dbhome_1/lib/liborasdkbase.so.11.1 at Tue Aug 04 10:29:31 CST 2015

[Aug 4, 2015 10:29:31 AM]    Start fuser command /sbin/fuser /u01/app/oracle/product/11.2.0/dbhome_1/bin/wrap at Tue Aug 04 10:29:31 CST 2015

[Aug 4, 2015 10:29:31 AM]    Finish fuser command /sbin/fuser /u01/app/oracle/product/11.2.0/dbhome_1/bin/wrap at Tue Aug 04 10:29:31 CST 2015

[Aug 4, 2015 10:29:31 AM]    Start fuser command /sbin/fuser /u01/app/oracle/product/11.2.0/dbhome_1/bin/e2eme at Tue Aug 04 10:29:31 CST 2015

[Aug 4, 2015 10:29:31 AM]    Finish fuser command /sbin/fuser /u01/app/oracle/product/11.2.0/dbhome_1/bin/e2eme at Tue Aug 04 10:29:31 CST 2015

[Aug 4, 2015 10:29:31 AM]    OUI-67073:UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.

[Aug 4, 2015 10:29:31 AM]    Finishing UtilSession at Tue Aug 04 10:29:31 CST 2015

[Aug 4, 2015 10:29:31 AM]    Log file location: /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-08-04_10-29-25AM_1.log

[Aug 4, 2015 10:29:31 AM]    Stack Description: java.lang.RuntimeException: Prerequisite check "CheckActiveFilesAndExecutables" failed.

[Aug 4, 2015 10:29:31 AM]    StackTrace: oracle.opatch.OPatchSessionHelper.runApplyPrereqs(OPatchSessionHelper.java:5717)

[Aug 4, 2015 10:29:31 AM]    StackTrace: oracle.opatch.opatchutil.NApply.process(NApply.java:697)

[Aug 4, 2015 10:29:31 AM]    StackTrace: oracle.opatch.opatchutil.OUSession.napply(OUSession.java:1082)

[Aug 4, 2015 10:29:31 AM]    StackTrace: sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

[Aug 4, 2015 10:29:31 AM]    StackTrace: sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

[Aug 4, 2015 10:29:31 AM]    StackTrace: sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

[Aug 4, 2015 10:29:31 AM]    StackTrace: java.lang.reflect.Method.invoke(Method.java:592)

[Aug 4, 2015 10:29:31 AM]    StackTrace: oracle.opatch.UtilSession.process(UtilSession.java:317)

[Aug 4, 2015 10:29:31 AM]    StackTrace: oracle.opatch.OPatchSession.main(OPatchSession.java:2575)

[Aug 4, 2015 10:29:31 AM]    StackTrace: oracle.opatch.OPatch.main(OPatch.java:626)

 

 

經過分析,認為是Oracle資料庫和監聽器啟動狀態。安裝補丁的時候,最好還是能夠停機進行。

 

 

[oracle@XXX-PROD-DB 20299013]$ lsnrctl stop

 

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 04-AUG-2015 10:37:25

 

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))

The command completed successfully

[oracle@INTCTL-PROD-DB 20299013]$ sqlplus /nolog

 

SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 4 10:37:32 2015

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

SQL> conn / as sysdba

Connected.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> quit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

 

進行OPatch Apply操作。

 

 

[oracle@XXX-PROD-DB 20299013]$ opatch apply

Oracle Interim Patch Installer version 11.2.0.3.10

Copyright (c) 2015, Oracle Corporation.  All rights reserved.

 

 

Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1

Central Inventory : /u01/app/oraInventory

   from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc

OPatch version    : 11.2.0.3.10

OUI version       : 11.2.0.4.0

Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-08-04_10-38-47AM_1.log

 

Verifying environment and performing prerequisite checks...

OPatch continues with these patches:   17478514  18031668  18522509  19121551  19769489  20299013 

 

(篇幅原因,有省略……

Composite patch 20299013 successfully applied.

Log file location: /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-08-04_10-38-47AM_1.log

 

OPatch succeeded.

 

 

補丁成功。

 

注意:此時完成的是資料庫軟體、資料庫例項的升級。但是資料庫物件卻沒有升級。之後重啟資料庫,要進行指令碼升級執行。

 

 

[oracle@XXX-PROD-DB 20299013]$ sqlplus /nolog

 

SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 4 10:41:37 2015

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

SQL> conn / as sysdba

Connected to an idle instance.

SQL> startup

ORACLE instance started.

 

Total System Global Area 5227814912 bytes

Fixed Size                  2262368 bytes

Variable Size            1140853408 bytes

Database Buffers         4076863488 bytes

Redo Buffers                7835648 bytes

Database mounted.

Database opened.

 

 

執行指令碼。

 

 

SQL> @?/rdbms/admin/catbundle.sql psu apply

 

SQL> COMMIT;

Commit complete.

 

SQL> SPOOL off

SQL> SET echo off

Check the following log file for errors:

/u01/app/oracle/cfgtoollogs/catbundle/catbundle_PSU_INTCDB_APPLY_2015Aug04_10_42_39.log

 

 

檢視補丁內容資訊:

 

 

[oracle@XXX-PROD-DB 20299013]$ opatch lsinventory

Oracle Interim Patch Installer version 11.2.0.3.10

Copyright (c) 2015, Oracle Corporation.  All rights reserved.

 

 

Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1

Central Inventory : /u01/app/oraInventory

   from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc

OPatch version    : 11.2.0.3.10

OUI version       : 11.2.0.4.0

Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-08-04_10-45-21AM_1.log

 

Lsinventory Output file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2015-08-04_10-45-21AM.txt

 

--------------------------------------------------------------------------------

Local Machine Information::

Hostname: localhost

ARU platform id: 226

ARU platform description:: Linux x86-64

 

Installed Top-level Products (1):

 

Oracle Database 11g                                                  11.2.0.4.0

There are 1 products installed in this Oracle Home.

 

 

Interim patches (2) :

 

Patch  20299013     : applied on Tue Aug 04 10:40:12 CST 2015

Unique Patch ID:  18573940

Patch description:  "Database Patch Set Update : 11.2.0.4.6 (20299013)"

   Created on 4 Mar 2015, 02:27:44 hrs PST8PDT

Sub-patch  19769489; "Database Patch Set Update : 11.2.0.4.5 (19769489)"

Sub-patch  19121551; "Database Patch Set Update : 11.2.0.4.4 (19121551)"

(篇幅原因,有省略……

     18674047, 17672719, 18856999, 12364061, 18783224, 17851160, 17546761

 

Patch  19852360     : applied on Tue Aug 04 10:21:38 CST 2015

Unique Patch ID:  18170553

   Created on 20 Oct 2014, 08:17:43 hrs PST8PDT

   Bugs fixed:

     19852360

--------------------------------------------------------------------------------

 

OPatch succeeded.

 

 

其餘補丁方式相同,不予累述。

 

4、總結

 

補丁升級是所有DBA都需要面對的日常操作。及時進行資料庫補丁,可以盡最大可能減少資料庫執行風險,提高資料庫執行安全度。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17203031/viewspace-1772344/,如需轉載,請註明出處,否則將追究法律責任。

相關文章