Oracle数据库12c的新特性有哪些


这篇“Oracle数据库12c的新特性有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Oracle数据库12c的新特性有哪些”文章吧。  1. 对表分区维护的增强
  在第一部分中,我解释了如何在线或是离线状态下迁移一个表分区或子分区到另一个不同的表空间。在本文中,主要介绍表分区其他方面的改进。  添加多个新分区
  在Oracle 12c R1之前,一次只可能添加一个新分区到一个已存在的分区表。要添加一个以上的新分区,需要对每个新分区都单独执行一次ALTER TABLE ADD PARTITION语句。而Oracle 12c只需要使用一条单独的ALTER TABLE ADD PARTITION命令就可以添加多个新分区,这增加了数据库灵活性。以下示例说明了如何添加多个新分区到已存在的分区表:
  添加两个新分区:
  同样,只要MAXVALUE分区不存在,你就可以添加多个新分区到一个列表和系统分区表。  如何删除和截断多个分区/子分区
  作为数据维护的一部分,DBA通常会在一个分区表上进行删除或截断分区的维护任务。在12c R1之前,对于一个已存在的分区表一次只可能删除或截断一个分区。而对于Oracle 12c, 可以用单条ALTER TABLE table_name {DROP|TRUNCATE} PARTITIONS命令来撤销或合并多个分区和子分区。
  下例说明了如何在一个已存在分区表上删除或截断多个分区:
  要保持索引更新,使用UPDATE INDEXESUPDATE GLOBAL INDEXES语句,如下所示:
  如果你在不使用UPDATE GLOBAL INDEXES语句的情况下删除或截断一个分区,你可以在USER_INDEXESUSER_IND_PARTITIONS字典视图下查询ORPHANED_ENTRIES字段以找出是否有索引包含任何的过期条目。  将单个分区分割为多个新分区
  在12c中新增强的SPLIT PARTITION语句可以让你只使用一个单独命令将一个特定分区或子分区分割为多个新分区。下例说明了如何将一个分区分割为多个新分区:  将多个分区合并为一个分区
  你可以使用单条ALTER TBALE MERGE PARTITIONS语句将多个分区合并为一个单独分区:
  如果分区范围形成序列,你可以使用如下示例:  2. 数据库升级改进
  每当一个新的Oracle版本发布,DBA所要面临的挑战就是升级过程。该部分我将介绍12c中引入的针对升级的两个改进。  预升级脚本
  在12c R1中,原有的utlu[121]s.sql脚本由一个大为改善的预升级信息脚本preupgrd.sql所取代。除了预升级检查验证,此脚本还能以修复脚本的形式解决在升级过程前后出现的各种问题。
  可以对产生的修复脚本加以执行来解决不同级别的问题,例如,预升级和升级后的问题。当手动升级数据库时,脚本必须在实际升级过程初始化之前加以手动执行。然而,当使用DBUA工具来进行数据库升级时,它会将预升级脚本作为升级过程的一部分加以自动执行,而且会提示你去执行修复脚本以防止报错。
  如何执行脚本:
  以上脚本会产生一份日志文件以及一个[pre/post]upgrade_fixup.sql脚本。所有这些文件都位于$ORACLE_BASE/cfgtoollogs目录下。在你继续真正的升级过程之前,你应该浏览日志文件中所提到的建议并执行脚本以修复问题。
  注意:你要确保将preupgrd.sqlutluppkg.sql脚本从12c Oracle的目录home/rdbms/admin directory拷贝至当前的Oracle的database/rdbms/admin路径。  并行升级功能
  数据库升级时间的长短取决于数据库上所配置的组件数量,而不是数据库的大小。在之前的版本中,我们是无法并行运行升级程序,从而快速完成整个升级过程的。
  在12c R1中,原有的catupgrd.sql脚本由catctl.pl脚本(并行升级功能)替代,现在我们可以采用并行模式运行升级程序了。
  以下流程说明了如何初始化并行升级功能(3个过程);你需要在升级模式下在启动数据库后运行这一脚本:
  以上两个步骤需要在手动升级数据库时运行。而DBUA也继承了这两个新变化。  3. 通过网络恢复数据文件
  在12c R1中另一个重要的增强是,你现在可以在主数据库和备用数据库之间用一个服务名重新获得或恢复数据文件、控制文件、参数文件、表空间或整个数据库。这对于同步主数据库和备用数据库极为有用。
  当主数据库和备用数据库之间存在相当大的差异时,你不再需要复杂的前滚流程来填补它们之间的差异。RMAN能够通过网络执行备用恢复以进行增量备份,并且可以将它们应用到物理备用数据库。你可以用服务名直接将所需数据文件从备用点拷贝至主站,这是为了防止主数据库上数据文件、表空间的丢失,或是没有真正从备份集恢复数据文件。
  以下流程演示了如何用此新功能执行一个前滚来对备用数据库和主数据库进行同步:
  在物理备用数据库上:
  以上示例使用备用数据库上定义的primary_db_tns连接字符串连接到主数据库,然后执行了一个增量备份,再将这些增量备份传输至备用目的地,接着将应用这些文件到备用数据库来进行同步。然而,需要确保已经对primary_db_tns进行了配置,即在备份数据库端将其指向主数据库。
  在以下示例中,我将演示一个场景通过从备用数据库获取数据文件来恢复主数据库上丢失的数据文件:
  在主数据库上:  4. 对Data Pump的增强
  Data Pump版本有了不少有用的改进,例如在导出时将视图转换为表,以及在导入时关闭日志记录等。  关闭redo日志的生成
  Data Pump中引入了新的TRANSFORM选项,这对于对象在导入期间提供了关闭重做生成的灵活性。当为TRANSFORM选项指定了DISABLE_ARCHIVE_LOGGING值,那么在整个导入期间,重做生成就会处于关闭状态。这一功能在导入大型表时缓解了压力,并且减少了过度的redo产生,从而加快了导入。这一属性还可应用到表以及索引。以下示例演示了这一功能:  将视图转换为表
  这是Data Pump中另外一个改进。有了VIEWS_AS_TABLES选项,你就可以将视图数据载入表中。以下示例演示了如何在导出过程中将视图数据载入到表中:  5. 实时自动数据诊断监视器 (ADDM) 分析
  通过使用诸如AWR、ASH以及ADDM之类的自动诊断工具来分析数据库的健康状况,是每个DBA日程工作的一部分。尽管每种工具都可以在多个层面衡量数据库的整体健康状况和性能,但没有哪个工具可以在数据库反应迟钝或是完全挂起的时候使用。
  当数据库反应迟钝或是挂起状态时,而且你已经配置了Oracle 企业管理器 12c的云控制,你就可以对严重的性能问题进行诊断。这对于你了解当前数据库发生了什么状况有很大帮助,而且还能够对此问题给出解决方案。
  以下步骤演示了如何在Oracle 企业管理器 12c上分析数据库状态:
在访问数据库访问主页面从Performance菜单选择Emergency Monitoring选项。这会显示挂起分析表中排名靠前的阻止会话。
Performance菜单选择Real-Time ADDM选项来执行实时ADDM分析。
在收集了性能数据后,点击Findings标签以获得所有结果的交互总结。   6. 同时在多个表上收集统计数据
  在之前的Oracle数据库版本中,当你执行一个DBMS_STATS 程序来收集免费云主机域名表、索引、模式或者数据库级别的统计数据时,Oracle习惯于一次一个表的收集统计数据。如果表很大,那么推荐你采用并行方式。在12c R1中,你现在可以同时在多个表、分区以及子分区上收集统计数据。在你开始使用它之前,你必须对数据库进行以下设置以开启此功能:以上就是关于“Oracle数据库12c的新特性有哪些”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注百云行业资讯频道。

相关推荐: Oracle中怎么配置RAC + SingleADG

这篇文章主要介绍“Oracle中怎么配置RAC + SingleADG”,在日常操作中,相信很多人在Oracle中怎么配置RAC + SingleADG问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle中怎么配置RAC …

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/16 16:47
下一篇 01/16 16:48