您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 崔旭_Oracle Database 12c 上手实验之升级、多租户管理、迁移和合并
OracleDatabase12c上⼿手实验之升级、多租户管理、迁移和合并个⼈人介绍2!• 姓名:崔旭• ⺴⽹网络ID:dbstyle• 获得认证:Oracle10g11gOCM• OCM联盟核⼼心成员• Oracle教学主管• 个⼈人技术Blog:• 微博:• 电话:138111068863!Oracle Database 12c 升级⽅方法 Oracle Database 12c 迁移⽅方法 Oracle Database 12c 多租户管理 Oracle Database 12c 合并⽅方法 4!使⽤用SQL⾃自动化升级5!• preupgrd.sql• 执⾏行预升级检查• 运⾏行在源数据库环境• 产⽣生修复脚本– preupgrade_fixups.sql– postupgrade_fixups.sql• 参考MOSNote:884522.1新预升级脚本更快速的升级-较少停机时间6!catctl.plscript3.sqlscript2.sqlscript1.sqlscript4.sqlscript5.sqlscript6.sqlscript6.sqlscript7.sqlscript8.sqlscript9.sqlscript10.sqlscript11.sql• catctl.pl• 运⾏行数据库并⾏行升级 • 升级速度提升35% • 以由全球选定的Oracle Database 11g 客户所使⽤用和证明 – Telco billing – 100 SAP systems – Large DWH 新的并⾏行升级 更快速的升级-较少停机时间7!新的并⾏行升级 $$ORACLE_HOME/perl/bin/perlcatctl.pl-n8catupgrd.sql简单升级8!数据库升级助⼿手 • ⾃自动化预升级检查• 并⾏行升级 • 整合RMAN • 保留还原点 • 活动和告警⽇日志 9!Oracle Database 12c 升级⽅方法 Oracle Database 12c 迁移⽅方法 Oracle Database 12c 多租户管理 Oracle Database 12c 合并⽅方法 多租户——结构10多租户——实现!• 多租户容器数据库(CDB)– 通过CDB进⾏行数据库管理• ⼀一个CDB可以包括⼀一个或多个可插拔数据库– 数据和代码位于PDB中– 应⽤用连接到PDB• 简单并且快速的开通,克隆,插⼊入,打补丁和升级CDB1 PDB$ SEED CDB2 PDB$ SEED PDB1 PDB2 PDB3 PDB1 多租户——内部!• ⼀一个SGA• ⼀一套backgroundprocesses• ⼀一个SPFILECDB PDB$ SEED PDB1 PDB2 PDB3 RedoControlFlashbackspfileCDB的创建!• 2种选择:– DBCA• 推荐⽅方法– 使⽤用CREATEDATABASE命令⾏行• 不建议,因为所有的选项都必须被创建,⽐比较复杂CREATEDATABASEcdb12 [...]ENABLEPLUGGABLEDATABASE SEEDFILE_NAME_CONVERT=('/oradata/cdb12/','/oradata/pdbseed/') SYSTEMDATAFILESSIZE125MAUTOEXTENDONNEXT10MMAXSIZE[…]使⽤用命令⾏行创建CDB• 管理脚本通过catcon.pl 调⽤用开始: – catdb.sql 会使⽤用所有选项运⾏行所有脚本 – catcon.pl 有⽤用的选项: • -u⽤用户名和可选密码 • -d包含执⾏行所需的所有脚本的⺫⽬目录 (默认: 当前⺫⽬目录)• -e开启输出• -s记录每⼀一个脚本的输出 • -l⽇日志记录的⺫⽬目录 (默认: 当前⽂文件夹) • -b⽇日志⽂文件基本名称(强制选项) $perlcatcon.pl-uSYS-d$ORACLE_HOME/rdbms/admin-e-s-bcreate_dictionarycatdb.sql14CDB和PDB• 将PDB插⼊入CDB:– 数据位于PDB– 会在CDB中创建引⽤用对象– ⼀一些数据字典对象从CDB中继承CDB$ROOT PDB$SEED OBJ$ TAB$ SOURCE$ PDB EMP DEPT OBJ$ TAB$ SOURCE$ 15CDB和PDB• 表空间– CDB$ROOT中的UNDO和TEMP表空间全局使⽤用– 每个PDB都有⾃自⼰己的TEMP– 所有的PDB都必须共享CDB中的undo CDB$ROOT PDB$SEED PDB SYSTEMSYSAUXSYSTEMSYSAUXSYSTEMSYSAUXDATA1DATA2TEMP_PDBTEMPUNDO16CDB和PDB• 公共⽤用户– 存在所有的CDB和所有当前和未来的PDB中– 所有oracle提供的⽤用户都是公共⽤用户• 本地⽤用户– 仅仅存在于⼀一个PDB中 CDB$ROOT PDB$SEED PDB HUGOSYSC##ADMC##BOSSC##ADMC##BOSSAPPSYSCDB1createuserc##admidentifiedbytopsecret;17Oracle Database 12c 升级⽅方法 Oracle Database 12c 迁移⽅方法 Oracle Database 12c 多租户管理 Oracle Database 12c 合并⽅方法 创建新的可插拔数据库19!!▪ 通过PDB$SEED快速开通▪ PDB_FILE_NAME_CONVERTCDB PDB$ SEED PDB1 createpluggabledatabasePDB1 adminuseradm1identifiedbypwd;impdp▪ 通过impdp导⼊入数据– Dump⽂文件或者NETWORK_LINK– imp≤Oracle9i克隆可插拔数据库20!!• 快速PDB克隆– 本地:– 远程: • Part of first patch set for Oracle Database 12c (12.1.0.2) • Works since PSU3 for Oracle 12.1.0.1 CDB1 PDB$ SEED CDB2 PDB$ SEED PDB1 PDB2 PDB1 createpluggabledatabasePDB2fromPDB1;createpluggabledatabase PDB1fromPDB1@CDB1;升级并插⼊入PDB!• 数据库升级• 打开数据库到直读模式• 创建XML描述⽂文件• 关闭数据库• 插⼊入数据库• 执⾏行脚本CDB PDB$ SEED PDB1 execDBMS_PDB.DESCRIBE('PDB1.xml');DB1 createpluggabledatabasePDB1using('PDB1.xml')nocopytempfilereuse;start?/rdbms/admin/noncdb_to_pdb.sqlPDB1xmlReadOnly完全可传输的Export/Import!▪ 创建⼀一个新的数据库/PDBCDB PDB$ SEED PDB1 DB1 Database Link impdpoow/passwd@PDB1NETWORK_LINK=DB1VERSION=12FULL=YTRANSPORTABLE=ALWAYSMETRICS=YLOGFILE=oow_dir:src112fullimp.logTRANSPORT_DATAFILE='/oradata/ts1.dbf'…Read Only impdp▪ 创建到源数据库的DBlink▪ 表空间设置成只读–停⼯工时间!▪ 拷⻉贝数据⽂文件到⺫⽬目的地▪ 运⾏行impdp在NETWORK_LINK模式Oracle Database 12c 升级⽅方法 Oracle Database 12c 迁移⽅方法 Oracle Database 12c 多租户管理 Oracle Database 12c 合并⽅方法 升级:⼀一次所有− 运⾏行preupgrd.sql− 在新的Oracle_HOME下开启CDB为UPGRADE模式− 运⾏行catctl.pl-n⼀一起参与升级的PDB的数量,默认:cpu数量/2最⼤大32个-N每个PDB参与sql处理的线程数量,默认数量2,最⼤大8个− 重新编译CDB1 – Oracle 12.1.0.2 PDB$SEED PDB1 CDB1 – Oracle 12.1.0.1 PDB$SEED PDB1 PDB2 PDB3 PDB4 PDB2 PDB3 PDB4 UPGRADE UPGRADE UPGRADE UPGRADE UPGRADE UPGRADE catcon.pl-n1-e-butlrp-d'''.'''utlrp.sql24升级:⼀一次所有• 优点: – 部署简单 • 缺点: – 难以找到公共的停⼯工时间 – 每个PDB都有更多的停⼯工时间 – 升级的顺序 • 默认是按照con_id的顺序 • 包含列表 –c 后者排除列表 -‐C – 覆盖升级顺序 – 需要写脚本来多次调⽤用 catctl.pl 以控制顺序 CDB1 – Oracle 12.1.0.2 PDB$ SEED PDB1 CDB1 – Oracle 12.1.0.1 PDB$ SEED PDB1 PDB2 PDB3 PDB4 PDB2 PDB3 PDB4 UPGRADE UPGRADE UPGRADE UPGRADE UPGRADE UPGRADE 25升级:每次⼀一个或更多• CDB1中: 要对XML ⽂文件进⾏行备份!!! • CDB2中: ▪ SQLcreatepluggabledatabasepdb1using'/stage/pdb1.xml'; ▪ SQLalterpluggabledatabasepdb1openupgrade; ▪ $ORACLE_HOME/perl/bin/perlcatctl.pl-c'PDB1'catupgrd.sql ▪ $ORACLE_HOME/perl/bin/perlcatcon.pl-n1-e-butlrp -‐d '''.''' -c'PDB1' utlrp.sql ▪ SQL@preupgrd.sql ▪ SQLalterpluggabledatabasepdb1close; ▪ SQLalterpluggabledatabasepdb1unpluginto'/stage/pdb1.xml';CDB1 – Oracle 12.1.0.1 PDB$SEED CDB2 – Oracle 1
本文标题:崔旭_Oracle Database 12c 上手实验之升级、多租户管理、迁移和合并
链接地址:https://www.777doc.com/doc-4203241 .html