Linux从12cnonCDB升级到18。0。0CDB(手动)
其他相关文章Redhat 7.x 从11.2.0.4升级到18.0.0(DBUA) 从11.2.0.4升级到18.0.0 non-CDB(手动) Linux从12c non-CDB升级到18.0.0 non-CDB(手动) Linux从12c non-CDB升级到18.0.0 non-CDB(手动) 说明
本节只介绍CDB升级到CDB模式,对于non-CDB模式参考前面的升级方法即可。而对于CDB升级到CDB模式,步骤没有区别。只是在已upgrade方式打开数据库时,PDB也需要以upgrade方式打开:ALTER PLUGGABLE DATABASE ALL OPEN UPGRADE。源库准备工作
1) 数据库版本
数据库版本是12.2.0.1,支持直接升级到18c.SQL> select * from v$version where rownum=1; BANNER CON_ID ----------------------------------------------------------------------------------------------------- ------------------ Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0
2) 是否是CDB
为non-CDB模式SQL> select name,cdb from v$database; NAME CDB --------- -------- CNDBA NO
3) 全库备份
升级前建议进行备份,以防万一。rman "target / nocatalog" RUN { ALLOCATE CHANNEL chan_name TYPE DISK; BACKUP DATABASE FORMAT "%U" TAG before_upgrade; BACKUP CURRENT CONTROLFILE TO ""; }
4) 执行检查脚本
这里不再具体说明,请参考其他升级文章:从11.2.0.4升级到18.0.0 non-CDB(手动)。
5) 开启归档和闪回
查看是否开启闪回和归档SQL> select log_mode,flashback_on from v$database; LOG_MODE FLASHBACK_ON ------------ ------------------ ARCHIVELOG YES
没有则手动开启归档和闪回。shutdown immediate; startup mount; alter database archivelog; alter database flashback on;
6) (可选 )如果是RAC,则修改CLUSTER_DATABASE为FALSEALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=SPFILE;
7) 关闭数据库shutdown immediate目标库准备工作安装数据库软件并创建CDB
这里可以不创建其他的PDB,如下通过DBCA建库:
cd /u01/app/oracle/product/18.1.0/db_1/bin
./dbca
选择创建数据库
高级模式
选择单实例
创建CDB,但是不创建PDB
启用归档和快速恢复区
用之前的监听
字符集要和源库相同
这里不配置EM
输入密码
创建数据库
创建数据库的概要信息,检查一下
创建数据库
首先将源库升级到18c
具体步骤参考上一节"12c升级到18c"即可将non-CDB插入到CDB中源库:将数据库以read-only打开SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 1560281088 bytes Fixed Size 8621088 bytes Variable Size 1006633952 bytes Database Buffers 536870912 bytes Redo Buffers 8155136 bytes Database mounted. SQL> alter database open read only; Database altered.创建PDB所需的XML文件SQL> exec DBMS_PDB.DESCRIBE("/home/oracle/cndbapdb.xml"); PL/SQL procedure successfully completed.关闭数据库SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down.目标库
连接到18c的CDB中,然后通过XML文件将non-CDB插入到CDB中。检测兼容性DECLARE compatible CONSTANT VARCHAR2(3) := CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY( pdb_descr_file => "/home/oracle/cndbapdb.xml", pdb_name => "cndbapdb") WHEN TRUE THEN "YES" ELSE "NO" END; BEGIN DBMS_OUTPUT.PUT_LINE(compatible); END; / NO --可以看到不兼容,通过视图PDB_PLUG_IN_VIOLATIONS查看具体原因查看不兼容的具体原因set linesize 150 col name for a10 col cause for a25 col time for a30 col message for a35 select type, time,name,cause,status,message from PDB_PLUG_IN_VIOLATIONS where status != "RESOLVED" order by name, type;错误信息如下
意思是数据库的相关组件版本不同,而在18c数据库中没有这些组件。Database option XOQ mismatch: PDB installed version 18.0.0.0.0. CDB installed version NULL.解决方法—源库上执行
有两种解决方法:1.将源库上的相关组件移除(18c中没有的组件)。2.重建带有这些组件的CDB(MOS 2001512.1)
Oracle推荐使用方法1,参考MOS(ID 2318035.1)查看所有组件
红色部分是需要移除的组件。
CDB:SQL> col COMP_NAME for a30 SQL> select comp_name, version, status from dba_registry; COMP_NAME VERSION STATUS ------------------------------ ------------------------------ -------------------------------------------- Oracle Database Catalog Views 18.0.0.0.0 VALID Oracle Database Packages and Ttpes 18.0.0.0.0 VALID Oracle Real Application Clusters 18.0.0.0.0 OPTION OFF Oracle XML Database 18.0.0.0.0 VALID
non-CDB:SQL> col COMP_NAME for a30 SQL> select comp_name, version, status from dba_registry; COMP_NAME VERSION STATUS ------------------------------ ------------------------------ -------------------------------------------- Oracle Database Catalog Views 18.0.0.0.0 VALID Oracle Database Packages and Ttpes 18.0.0.0.0 VALID JServer JAVA Virtual Machine 18.0.0.0.0 VALID Oracle XDK 18.0.0.0.0 VALID Oracle Database Java Packages 18.0.0.0.0 VALID OLAP Analytic Workspace 18.0.0.0.0 VALID Oracle Real Application Clusters 18.0.0.0.0 OPTION OFF Oracle XML Database 18.0.0.0.0 VALID Oracle Workspace Manager 18.0.0.0.0 VALID Oracle Text 18.0.0.0.0 VALID Oracle Multimedia 18.0.0.0.0 VALID Spatial 18.0.0.0.0 VALID Oracle OLAP API 18.0.0.0.0 VALID Oracle Label Security 18.0.0.0.0 VALID Oracle Database Vault 18.0.0.0.0 VALID 15 rows selected.以移除Oracle Database Vault为例 查看是否启用了DVSQL> col PARAMETER for a20 SQL> col value for a10 SQL> select * from v$option where parameter = "Oracle Database Vault"; PARAMETER VALUE CON_ID ---------------------------- ------------------- ---------------- Oracle Database Vault FALSE 0如果启用了DB,则关闭数据库,监听,EMcd $ORACLE_HOME/rdbms/lib make -f ins_rdbms.mk dv_off ioracle 打开数据,并禁用DV触发器 conn / as sysdba alter trigger dvsys.dv_before_ddl_trg disable; alter trigger dvsys.dv_after_ddl_trg disable;禁用回收站,然后移除DB组件
禁用回收站alter system set recyclebin=off scope=spfile; shutdown immediate startup
执行脚本dvremov.sqlSQL> @ ?/rdbms/admin/dvremov.sql如果之前启用了DV,最后还要删除相关用户和启用回收站drop user &DV_OWNER cascade; drop user &DV_ACCTMGR cascade; alter system set recyclebin=on scope=spfile; shutdown immediate startup验证DB组件是否被移除SQL> select comp_name, version, status from dba_registry where comp_name="Oracle Database Vault"; no rows selected
当在源库上已经把所有目标CDB上没有的组件移除后,重新创建XML文件,然后再次检查兼容性即可通过。创建CNDBAPDB
因为数据文件位置不变,所以使用NOCOPY并重用原来的临时文件。SQL> CREATE PLUGGABLE DATABASE cndbapdb USING "/home/oracle/cndbapdb.xml" NOCOPY TEMPFILE REUSE; Pluggable database created.切换到PDB中执行脚本
执行脚本将non-CDB转换为PDB。SQL> alter session set container=cndbapdb; SQL> @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql备份PDB
至此就完成了non-CDB升级为CDB,最后一步就是备份数据库,这是升级所有数据库后的必须做的一步。
做一个有血性的人血性是一个人自强,自立,身处逆境永不可言败的精神,也是一个人对信仰的追求,一个缺乏血性的人生是没有深度。一个人自已想要什么样的生活质量,想要达到什么样的人生高度,如何设计自已的生命
一瓜未平一瓜又起,出轨女大学生软饭男首次发声一审判刑13年最近,娱乐圈的瓜太大了。汪小菲与大S这一家的事还没过去,就爆出了更多的瓜,有人出轨女大学生,有人一审判刑13年,除此之外还有其他的瓜也一样精彩。一汤唯获得第43届青龙奖最佳女主角2
国际金价上涨,缅甸金价保持稳定11月22日中午,国际黄金一盎司价格为1742美元,缅甸黄金商人协会当日公布的一甲黄金指导价格为2052000缅币。当下,虽然国际黄金市场价格上涨,缅甸境内黄金价格仍稳定在一甲26
威尔士vs伊朗评分塔雷米7。8最高伊朗门将7。6次席直播吧11月25日讯在刚刚结束的一场世界杯小组赛中,伊朗20战胜威尔士取得首胜。赛后whoscored为本场球员打出评分,伊朗前锋塔雷米获得了全场最高的7。8分,伊朗门将侯赛尼7。
(卡塔尔世界杯)卡塔尔不敌塞内加尔创世界杯东道主最差开局新华社多哈11月25日电(记者张逸飞肖亚卓董意行)卡塔尔队的阿克拉姆阿菲夫可能委屈,也可能不服,但他在第34分钟被追尾倒地没能赢得一个点球。25日晚在阿图玛玛体育场进行的这场世界杯
千亿民生银行渡劫踩雷恒大,股价连跌三年,宣布高管降薪15基于市场变化绩效挂钩等因素考虑,我行高管2021年度平均薪酬水平已较同期下降了15。11月18日下午,民生银行召开的2022年第三季度线上业绩说明会上,很多投资者都比较关心公司业绩
转让45股份!接盘人为缪钦,刘强东在打什么算盘?据有关消息报道,目前刘强东将手下京东邦能的股权转让给了曾经的好兄弟缪钦。频繁转让股权的事情的确非常诡异,许多人猜测转让股权一事也可能是刘强东从台前走到幕后的标志性动作,而新太子或许
百果园四战IPO运营和供应链体系待加强记者丰凤鸣百果园再战IPO。近日,深圳百果园实业(集团)股份有限公司(下称百果园)递交港股上市申请,这是公司第四次递表。根据弗若斯特沙利文数据,百果园目前是中国最大的水果零售企业。
利率引导资金的流动我们差不多每天都会听到利率利息这两个词,我们也都知道,把钱存入银行,银行要付给我们利息,而我们向银行贷款,我们要付给银行利息。那么,这个利率或者说利息,到底是个什么东西呢?为什么我
真正聪敏的人,需要有这些心计,才让自己活得轻松人生短短几十年的时间,都想轻轻松松的过完,但实际上每个人的人生都会遇到这样那样的事情,让自己烦躁不安左右为难,不知道该怎么办?这些聪明人的心计建议收藏,会让你的人生变得轻松很多!学
珍爱每一个生命,让每一朵花都绽放每一个人都是第一次来到这个美丽的世界,每一个人都值得被对待,值得被爱。生命诚可贵对于每个人来说最重要的是什么?有人会说是钱,有人会说是家庭,有人会说是健康,有人会说是生命。当然,生