升级步骤

  • Oracle 12.2.0.1升级至12.2.0.1.190115
1、阅读readme文件
2、检查更新opatch
3、备份程序
4、使用opatchauto工具进行数据库升级
5、打OJVM补丁

1、阅读readme文件

2、检查更新opatch

【12.1.0.2.0】版本是12.1.0.1.3 更新至12.2.0.1.13之上
【12.2.0.1.0】版本是12.2.0.1.6 更新至12.2.0.1.12之上
--更新opatch
https://updates.oracle.com/download/6880880.html Opatch下载地址
$ORACLE_HOME/OPatch/opatch version
$ORACLE_HOME/OPatch/opatch lspatches chmod -R 777 /oracle/soft/p6880880_122010_Linux-x86-64.zip --------------------------------oracle opatch
su - oracle
ls -ld $ORACLE_HOME/OPatch*
mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch`date +\%Y\%m\%d`bak && cd /oracle/soft && unzip p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch version RAC环境下无法在grid用户下直接执行,会报权限不足,需要root用户mv opatch
--------------------------------grid opatch
su - grid
ls -ld $ORACLE_HOME/OPatch*
cd $ORACLE_HOME/OPatch
pwd
su -
mv /oracle/app/12.2.0/grid/OPatch /oracle/app/12.2.0/grid/OPatch`date +\%Y\%m\%d`
unzip /oracle/soft/p6880880_122010_Linux-x86-64.zip -d /oracle/app/12.2.0/grid
chown -R grid:oinstall /oracle/app/12.2.0/grid/OPatch
su - grid
$ORACLE_HOME/OPatch/opatch version

3、备份程序

【备份软件】
su - root
mkdir -p /oracle/backup_soft
nohup tar -cvf /oracle/backup_soft/`date +\%Y\%m\%d`_oracle.tar /oracle/app/oracle >/oracle/backup_soft/`date +\%Y\%m\%d`_oracle.tar.log &
nohup tar -cvf /oracle/backup_soft/`date +\%Y\%m\%d`_12.2.0.tar /oracle/app/12.2.0 >/oracle/backup_soft/`date +\%Y\%m\%d`_12.2.0.tar.log &
nohup tar -cvf /oracle/backup_soft/`date +\%Y\%m\%d`_grid.tar /oracle/app/grid >/oracle/backup_soft/`date +\%Y\%m\%d`_grid.tar.log &
nohup tar -cvf /oracle/backup_soft/`date +\%Y\%m\%d`_oraInventory.tar /oracle/app/oraInventory >/oracle/backup_soft/`date +\%Y\%m\%d`_oraInventory.tar.log &
nohup tar -cvf /oracle/backup_soft/`date +\%Y\%m\%d`_etc.tar /etc >/oracle/backup_soft/`date +\%Y\%m\%d`_etc.tar.log &

4、使用opatchauto工具进行数据库升级

su – root
mkdir -p /oracle/soft/12c_patch
cd /oracle/soft/12c_patch
unzip /oracle/soft/p28980109_122010_Linux-x86-64.zip -d /oracle/soft/12c_patch
chmod -R 777 /oracle/soft/12c_patch 方法1:GI和DB分开打
【To patch only the GI home】
su - root
export UNZIPPED_PATCH_LOCATION=/oracle/soft/12c_patch/28980109
export GI_HOME=/oracle/app/12.2.0/grid
export PATH=$PATH:$GI_HOME/OPatch
opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $GI_HOME -analyze
opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $GI_HOME 【To patch only the DB home】
su - root
export UNZIPPED_PATCH_LOCATION=/oracle/soft/12c_patch/28980109
export ORACLE_HOME=/oracle/app/oracle/product/12.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/OPatch
opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $ORACLE_HOME -analyze
opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $ORACLE_HOME 方法2:GI+DB一起打
su - root
export UNZIPPED_PATCH_LOCATION=/oracle/soft/12c_patch/28980109
export GI_HOME=/oracle/app/12.2.0/grid
export PATH=$PATH:$GI_HOME/OPatch
opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -analyze
opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 --12C补丁列表信息
$ORACLE_HOME/OPatch/opatch version
$ORACLE_HOME/OPatch/opatch lspatches
$ORACLE_HOME/OPatch/opatch lsinventory --检查数据字典中补丁信息
set lines 500 pages 500
col description for a80
col action_time for a35
col action for a10
col comments for a50
col VERSION for a20
col NAMESPACE for a20
col BUNDLE_SERIES for a20
select * from registry$history;
select patch_id,version,action,status,action_time,description from dba_registry_sqlpatch;

5、打OJVM补丁

【OJVM】
1、ojvm补丁检查
su - oracle
export PATCH_TOP_DIR=/oracle/soft/12c_patch/28980109
export PATH=$PATH:$ORACLE_HOME/OPatch
opatch prereq CheckConflictAgainstOHWithDetail -ph $PATCH_TOP_DIR/28790651 2、关闭所有服务(shut down all the services (database, ASM, listeners, nodeapps, and CRS daemons)
For an Oracle RAC environment, shut down all the services (database, ASM, listeners, nodeapps, and CRS daemons) running from the Oracle home on all the nodes you want to patch. su – root
/oracle/app/12.2.0/grid/bin/crsctl stop cluster -all -----停止所有节点集群服务 3、打OJVM补丁,所有节点都要打(OPatch is used on only one node at a time.)
su - oracle
export PATCH_TOP_DIR=/oracle/soft/12c_patch/28980109
export PATH=$PATH:$ORACLE_HOME/OPatch
cd $PATCH_TOP_DIR/28790651
$ORACLE_HOME/OPatch/opatch apply
$ORACLE_HOME/OPatch/opatch lspatches
$ORACLE_HOME/OPatch/opatch lsinventory 4、启服务 (After all nodes are patched, start all services. )
su – root
/oracle/app/12.2.0/grid/bin/crsctl start cluster -all -----启动所有节点集群服务 5、Loading Modified SQL Files Into the Database
1)Starting the Database for Post Installation Steps in an Oracle RAC Environment
On only one node, perform the following steps to start an Oracle RAC database in startup upgrade mode. sqlplus / as sysdba
SQL> startup 启动所有服务的时候数据库资源以及启动了
SQL> alter system set cluster_database=false scope=spfile; $ORACLE_HOME/bin/srvctl stop database -d ndscdb
sqlplus / as sysdba
SQL> startup upgrade 2)
cd $ORACLE_HOME/OPatch
./datapatch -verbose 过程见下面
sqlplus / as sysdba
SQL> shutdown immediate; 3)Restarting the Database after Running the Post Installation Steps in an Oracle RAC Environment To start the database back in normal mode sqlplus / as sysdba
SQL> startup
SQL> alter system set cluster_database=true scope=spfile;
SQL> shutdown immediate;
$ORACLE_HOME/bin/srvctl start database -d ndscdb 6、失效对象
cd $ORACLE_HOME/rdbms/admin
sqlplus / as sysdba
SQL> @utlrp.sql set lin 300 pages 5000
col object_name for a40
col owner for a20
select count(*) from dba_objects where status='INVALID';
select count(*) from dba_objects where status='INVALID' and owner='SYS';
select owner,object_name,object_type,status from dba_objects where status='INVALID'; 7、检查数据字典中补丁信息
set lines 500 pages 500
col description for a75
col action_time for a35
col action for a10
col comments for a50
col VERSION for a25
col NAMESPACE for a20
col BUNDLE_SERIES for a20
select * from registry$history;
select patch_id,version,action,status,action_time,description from dba_registry_sqlpatch;

附 升级补丁日志

--补丁安装日志
WWJD-DB1:/root #export UNZIPPED_PATCH_LOCATION=/oracle/soft/12c_patch/28980109
WWJD-DB1:/root #export GI_HOME=/oracle/app/12.2.0/grid
WWJD-DB1:/root #export PATH=$PATH:$GI_HOME/OPatch
WWJD-DB1:/root #opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $GI_HOME OPatchauto session is initiated at Mon Jan 28 13:53:33 2019 System initialization log file is /oracle/app/12.2.0/grid/cfgtoollogs/opatchautodb/systemconfig2019-01-28_01-53-36PM.log. Session log file is /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/opatchauto2019-01-28_01-53-48PM.log
The id for this session is D6KS Executing OPatch prereq operations to verify patch applicability on home /oracle/app/12.2.0/grid
Patch applicability verified successfully on home /oracle/app/12.2.0/grid Bringing down CRS service on home /oracle/app/12.2.0/grid
Prepatch operation log file location: /oracle/app/grid/crsdata/WWJD-db1/crsconfig/crspatch_WWJD-db1_2019-01-27_09-54-06PM.log
CRS service brought down successfully on home /oracle/app/12.2.0/grid Start applying binary patch on home /oracle/app/12.2.0/grid
Binary patch applied successfully on home /oracle/app/12.2.0/grid Starting CRS service on home /oracle/app/12.2.0/grid
Postpatch operation log file location: /oracle/app/grid/crsdata/WWJD-db1/crsconfig/crspatch_WWJD-db1_2019-01-27_09-58-04PM.log
CRS service started successfully on home /oracle/app/12.2.0/grid OPatchAuto successful. --------------------------------Summary-------------------------------- Patching is completed successfully. Please find the summary as follows: Host:WWJD-db1
CRS Home:/oracle/app/12.2.0/grid
Version:12.2.0.1.0
Summary: ==Following patches were SUCCESSFULLY applied: Patch: /oracle/soft/12c_patch/28980109/28828733/26839277
Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_13-55-08PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28566910
Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_13-55-08PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28822515
Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_13-55-08PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28864846
Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_13-55-08PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28870605
Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_13-55-08PM_1.log OPatchauto session completed at Mon Jan 28 14:06:37 2019
Time taken to complete the session 13 minutes, 4 seconds
WWJD-DB1:/root # WWJD-DB1:/root #export UNZIPPED_PATCH_LOCATION=/oracle/soft/12c_patch/28980109
WWJD-DB1:/root #export ORACLE_HOME=/oracle/app/oracle/product/12.2.0/db_1
WWJD-DB1:/root #export PATH=$PATH:$ORACLE_HOME/OPatch
WWJD-DB1:/root #opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $ORACLE_HOME -analyze OPatchauto session is initiated at Mon Jan 28 14:13:12 2019 System initialization log file is /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchautodb/systemconfig2019-01-28_02-13-16PM.log. Session log file is /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/opatchauto2019-01-28_02-14-04PM.log
The id for this session is 1RQ4 Executing OPatch prereq operations to verify patch applicability on home /oracle/app/oracle/product/12.2.0/db_1
Patch applicability verified successfully on home /oracle/app/oracle/product/12.2.0/db_1 Verifying SQL patch applicability on home /oracle/app/oracle/product/12.2.0/db_1
SQL patch applicability verified successfully on home /oracle/app/oracle/product/12.2.0/db_1 OPatchAuto successful. --------------------------------Summary-------------------------------- Analysis for applying patches has completed successfully: Host:WWJD-db1
RAC Home:/oracle/app/oracle/product/12.2.0/db_1
Version:12.2.0.1.0 ==Following patches were SKIPPED: Patch: /oracle/soft/12c_patch/28980109/28828733/28864846
Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /oracle/soft/12c_patch/28980109/28828733/26839277
Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /oracle/soft/12c_patch/28980109/28828733/28566910
Reason: This patch is not applicable to this specified target type - "rac_database" ==Following patches were SUCCESSFULLY analyzed to be applied: Patch: /oracle/soft/12c_patch/28980109/28828733/28870605
Log: /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_14-14-14PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28822515
Log: /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_14-14-14PM_1.log OPatchauto session completed at Mon Jan 28 14:14:44 2019
Time taken to complete the session 1 minute, 32 seconds WWJD-DB1:/root #opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 -oh $ORACLE_HOME OPatchauto session is initiated at Mon Jan 28 14:15:18 2019 System initialization log file is /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchautodb/systemconfig2019-01-28_02-15-21PM.log. Session log file is /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/opatchauto2019-01-28_02-15-46PM.log
The id for this session is DJVQ Executing OPatch prereq operations to verify patch applicability on home /oracle/app/oracle/product/12.2.0/db_1
Patch applicability verified successfully on home /oracle/app/oracle/product/12.2.0/db_1 Verifying SQL patch applicability on home /oracle/app/oracle/product/12.2.0/db_1
SQL patch applicability verified successfully on home /oracle/app/oracle/product/12.2.0/db_1 Preparing to bring down database service on home /oracle/app/oracle/product/12.2.0/db_1
Successfully prepared home /oracle/app/oracle/product/12.2.0/db_1 to bring down database service Bringing down database service on home /oracle/app/oracle/product/12.2.0/db_1
Following database(s) and/or service(s) are stopped and will be restarted later during the session: ndscdb
Database service successfully brought down on home /oracle/app/oracle/product/12.2.0/db_1 Performing prepatch operation on home /oracle/app/oracle/product/12.2.0/db_1
Perpatch operation completed successfully on home /oracle/app/oracle/product/12.2.0/db_1 Start applying binary patch on home /oracle/app/oracle/product/12.2.0/db_1
Binary patch applied successfully on home /oracle/app/oracle/product/12.2.0/db_1 Performing postpatch operation on home /oracle/app/oracle/product/12.2.0/db_1
Postpatch operation completed successfully on home /oracle/app/oracle/product/12.2.0/db_1 Starting database service on home /oracle/app/oracle/product/12.2.0/db_1
Database service successfully started on home /oracle/app/oracle/product/12.2.0/db_1 Preparing home /oracle/app/oracle/product/12.2.0/db_1 after database service restarted
No step execution required......... Trying to apply SQL patch on home /oracle/app/oracle/product/12.2.0/db_1
SQL patch applied successfully on home /oracle/app/oracle/product/12.2.0/db_1 OPatchAuto successful. --------------------------------Summary-------------------------------- Patching is completed successfully. Please find the summary as follows: Host:WWJD-db1
RAC Home:/oracle/app/oracle/product/12.2.0/db_1
Version:12.2.0.1.0
Summary: ==Following patches were SKIPPED: Patch: /oracle/soft/12c_patch/28980109/28828733/28864846
Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /oracle/soft/12c_patch/28980109/28828733/26839277
Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /oracle/soft/12c_patch/28980109/28828733/28566910
Reason: This patch is not applicable to this specified target type - "rac_database" ==Following patches were SUCCESSFULLY applied: Patch: /oracle/soft/12c_patch/28980109/28828733/28822515
Log: /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_14-17-17PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28870605
Log: /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_14-17-17PM_1.log OPatchauto session completed at Mon Jan 28 14:20:23 2019
Time taken to complete the session 5 minutes, 6 seconds
WWJD-DB1:/root # 节点2 WWJD-DB2:/root #export UNZIPPED_PATCH_LOCATION=/oracle/soft/12c_patch/28980109
WWJD-DB2:/root #export GI_HOME=/oracle/app/12.2.0/grid
WWJD-DB2:/root #export PATH=$PATH:$GI_HOME/OPatch
WWJD-DB2:/root #opatchauto apply $UNZIPPED_PATCH_LOCATION/28828733 OPatchauto session is initiated at Mon Jan 28 16:21:56 2019 System initialization log file is /oracle/app/12.2.0/grid/cfgtoollogs/opatchautodb/systemconfig2019-01-28_04-21-59PM.log. Session log file is /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/opatchauto2019-01-28_04-22-27PM.log
The id for this session is SW7K Executing OPatch prereq operations to verify patch applicability on home /oracle/app/oracle/product/12.2.0/db_1
Executing OPatch prereq operations to verify patch applicability on home /oracle/app/12.2.0/grid Patch applicability verified successfully on home /oracle/app/oracle/product/12.2.0/db_1
Patch applicability verified successfully on home /oracle/app/12.2.0/grid Verifying SQL patch applicability on home /oracle/app/oracle/product/12.2.0/db_1
SQL patch applicability verified successfully on home /oracle/app/oracle/product/12.2.0/db_1 Preparing to bring down database service on home /oracle/app/oracle/product/12.2.0/db_1
Successfully prepared home /oracle/app/oracle/product/12.2.0/db_1 to bring down database service Bringing down CRS service on home /oracle/app/12.2.0/grid
Prepatch operation log file location: /oracle/app/grid/crsdata/WWJD-db2/crsconfig/crspatch_WWJD-db2_2019-01-28_00-23-06AM.log
CRS service brought down successfully on home /oracle/app/12.2.0/grid Performing prepatch operation on home /oracle/app/oracle/product/12.2.0/db_1
Perpatch operation completed successfully on home /oracle/app/oracle/product/12.2.0/db_1 Start applying binary patch on home /oracle/app/oracle/product/12.2.0/db_1
Binary patch applied successfully on home /oracle/app/oracle/product/12.2.0/db_1 Performing postpatch operation on home /oracle/app/oracle/product/12.2.0/db_1
Postpatch operation completed successfully on home /oracle/app/oracle/product/12.2.0/db_1 Start applying binary patch on home /oracle/app/12.2.0/grid
Binary patch applied successfully on home /oracle/app/12.2.0/grid Starting CRS service on home /oracle/app/12.2.0/grid
Postpatch operation log file location: /oracle/app/grid/crsdata/WWJD-db2/crsconfig/crspatch_WWJD-db2_2019-01-28_00-35-56AM.log
CRS service started successfully on home /oracle/app/12.2.0/grid Preparing home /oracle/app/oracle/product/12.2.0/db_1 after database service restarted
No step execution required......... Trying to apply SQL patch on home /oracle/app/oracle/product/12.2.0/db_1
SQL patch applied successfully on home /oracle/app/oracle/product/12.2.0/db_1 OPatchAuto successful. --------------------------------Summary-------------------------------- Patching is completed successfully. Please find the summary as follows: Host:WWJD-db2
RAC Home:/oracle/app/oracle/product/12.2.0/db_1
Version:12.2.0.1.0
Summary: ==Following patches were SKIPPED: Patch: /oracle/soft/12c_patch/28980109/28828733/28864846
Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /oracle/soft/12c_patch/28980109/28828733/26839277
Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /oracle/soft/12c_patch/28980109/28828733/28566910
Reason: This patch is not applicable to this specified target type - "rac_database" ==Following patches were SUCCESSFULLY applied: Patch: /oracle/soft/12c_patch/28980109/28828733/28822515
Log: /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-31-15PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28870605
Log: /oracle/app/oracle/product/12.2.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-31-15PM_1.log Host:WWJD-db2
CRS Home:/oracle/app/12.2.0/grid
Version:12.2.0.1.0
Summary: ==Following patches were SUCCESSFULLY applied: Patch: /oracle/soft/12c_patch/28980109/28828733/26839277
Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-32-45PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28566910
Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-32-45PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28822515
Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-32-45PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28864846
Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-32-45PM_1.log Patch: /oracle/soft/12c_patch/28980109/28828733/28870605
Log: /oracle/app/12.2.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-01-28_16-32-45PM_1.log OPatchauto session completed at Mon Jan 28 16:42:00 2019
Time taken to complete the session 20 minutes, 4 seconds
WWJD-DB2:/root #

Oracle 12C 补丁升级的更多相关文章

  1. 探索Oracle之数据库升级八 12c Downgrade 11gR2

    探索Oracle之数据库升级八 12c Downgrade 11gR2 前言: 我们前面已经完毕了11gR2 upgrade to 12c 的升级,整个过程还是比較顺利的,尽管和曾经版本号升级有些不太 ...

  2. oracle补丁升级

    PSU的全称是Patch Set Update,Oracle对于其产品每个季度发行一次的补丁包,包含了bug的修复.Oracle选取被用户下载数量多,且被验证过具有较低风险的补丁放入到每个季度的PSU ...

  3. 探索Oracle之数据库升级七 11gR2 to 12c 升级完毕后插入PDB

    探索Oracle之数据库升级七 11gR2 to 12c 升级完毕后插入PDB 前言:        从Oracle 12c開始,引入了容器数据库的概念,能够实现数据库插拔操作,例如以下图: 如今我们 ...

  4. 本地Oracle客户端11g升级12c导致PowerCenter无法连接ODBC数据源

    问题: 本地Oracle客户端由11g-32bit升级为12c-64bit时,在PowerCenter Designer使用原来的ODBC连接导入数据库表时,发生如下错误: 原因: 原oracle11 ...

  5. 【转】:Oracle Linux6.9下安装Oracle 11.2.0.4.0及psu补丁升级

    为方便截图,本文操作都在vmware虚拟机上完成. 目录: 1.操作系统安装 2.数据库安装 3.PSU补丁升级卸载   part1 操作系统安装 Oracle (Enterprise) Linux ...

  6. Oracle 12c新特性

    转载自:Oracle 12c新特性(For DBA) 一: Multitenant Architecture (12.1.0.1)      多租户架构是Oracle 12c(12.1)的新增重磅特性 ...

  7. Oracle 12c新特性(For DBA)

    一: Multitenant Architecture (12.1.0.1)      多租户架构是Oracle 12c(12.1)的新增重磅特性,内建的多分租(Multi-tenancy),一个容器 ...

  8. OCP培训 Oracle 12c/18c/19c OCP认证实战培训【送OCP优惠名额】

    一.OCP培训 Oracle 12c/18c/19c OCP认证全套实战培训[送OCP优惠名额],本课程内容 课程目标: 为满足想参加Oracle OCP考证的学员,风哥设计的一套比较全面OCP实战培 ...

  9. linux下通过脚本方式对中间件weblogic进行补丁升级

    转至:http://bbs.learnfuture.com/topic/48 linux下通过脚本方式对中间件weblogic进行补丁升级 刘五奎 [摘要] 在运维行业,系统或软件漏洞每每牵动着每一个 ...

随机推荐

  1. SqlServer数据库重命名报错误:5030

    无法重命名 KLENN 无法用排他锁锁定该数据库,以执行该操作(错误:5030) 解决办法: 将数据库设置为单用户模式 (单用户模式指定一次只有一个用户可访问数据库,该模式通常用于维护操作. ) 1. ...

  2. LINQ 详解

    LINQ,语言集成查询(Language INtegrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作 ...

  3. asp.net core的DI框架思考以及服务实例的获取方式总结

    转载请注明出处: https://home.cnblogs.com/u/zhiyong-ITNote/ 整个asp.net core管道从WebHostBuilder到WebHost到后续请求的类中, ...

  4. 数组方括号有趣的split方法

    今天看到了split的方法感觉好神奇的样子 split是javascript内置方法 就像join方法是连接数组并转换为字符串一样split方法是把数组拆分成多个部分,而且每一个部分都是数组的元素. ...

  5. django-request对象

    HTTP 应用的信息是通过 请求报文 和 响应报文 传递的,关于更多的相关知识,可以阅读<HTTP权威指南>获得. 其中 请求报文 由客户端发送,其中包含和许多的信息,而 django 将 ...

  6. 2019-2-21.NET中异常类(Exception)

    .NET中异常类(Exception) 异常:程序在运行期间发生的错误.异常对象就是封装这些错误的对象. try{}catch{}是非常重要的,捕获try程序块中所有发生的异常,如果没有捕获异常的话, ...

  7. Anaconda基础(一)

    目录 Conda常见命令 环境管理 包管理 conda管理 小技巧 Conda常见命令 环境管理 创建环境 conda create -n 环境名 包列表 进入环境 source activate 环 ...

  8. JS_高程8.BOM window对象(1)

    1.全局作用域 var age = 14; window.coloer = "pink"; console.log(delete window.age);//false 使用var ...

  9. Contributed to JFairy

    虽然delay了一个多月才看到,但第一次被一个开源项目正式感谢,开心. 其实写过的很多东西都有机会contr的,只是有些是公司代码...

  10. mysql having和where的区别

    having子句与where子句一样,都是用于条件判断的. 区别1 where是判断数据从磁盘读入内存的时候 having是判断分组统计之前的所有条件 区别原理 区别2 having子句中可以使用字段 ...