iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle 数据库12c新特性有哪些
  • 468
分享到

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

2024-04-02 19:04:59 468人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关oracle 数据库12c新特性有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  1. 在线重命名和重新定位活跃数据文件   不同于以

这篇文章将为大家详细讲解有关oracle 数据库12c新特性有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

  1. 在线重命名和重新定位活跃数据文件

  不同于以往的版本,在Oracle数据库12c R1版本中对数据文件的迁移或重命名不再需要太多繁琐的步骤,即把表空间置为只读模式,接下来是对数据文件进行离线操作。在12c R1中,可以使用ALTER DATABASE MOVE DATAFILE这样的sql语句对数据文件进行在线重命名和移动。而当此数据文件正在传输时,终端用户可以执行查询,DML以及DDL方面的任务。另外,数据文件可以在存储设备间迁移,如从非ASM迁移至ASM,反之亦然。

  重命名数据文件:

SQL> ALTER DATABASE MOVE DATAFILE '/u00/data/users01.dbf' TO '/u00/data/users_01.dbf';

  从非ASM迁移数据文件至ASM:

SQL> ALTER DATABASE MOVE DATAFILE '/u00/data/users_01.dbf' TO '+DG_DATA';

  将数据文件从一个ASM磁盘群组迁移至另一个ASM磁盘群组:

SQL> ALTER DATABASE MOVE DATAFILE '+DG_DATA/DBNAME/DATAFILE/users_01.dbf ' TO '+DG_DATA_02';

  在数据文件已存在于新路径的情况下,以相同的命名将其覆盖:

SQL> ALTER DATABASE MOVE DATAFILE '/u00/data/users_01.dbf' TO '/u00/data_new/users_01.dbf' REUSE;

  复制文件到一个新路径,同时在原路径下保留其拷贝:

SQL> ALTER DATABASE MOVE DATAFILE '/u00/data/users_01.dbf' TO '/u00/data_new/users_01.dbf' KEEP;

  当通过查询v$session_longops动态视图来移动文件时,你可以监控这一过程。另外,你也可以引用alert.log,Oracle会在其中记录具体的行为。

  2. 表分区或子分区的在线迁移

  在Oracle 12c R1中迁移表分区或子分区到不同的表空间不再需要复杂的过程。与之前版本中未分区表进行在线迁移类似,表分区或子分区可以在线或是离线迁移至一个不同的表空间。当指定了ONLINE语句,所有的DML操作可以在没有任何中断的情况下,在参与这一过程的分区或子分区上执行。与此相反,分区或子分区迁移如果是在离线情况下进行的,DML操作是不被允许的。

  示例:

SQL> ALTER TABLE table_name MOVE PARTITioN|SUBPARTITION partition_name TO tablespace tablespace_name; 
  SQL> ALTER TABLE table_name MOVE PARTITION|SUBPARTITION partition_name TO tablespace tablespace_name UPDATE INDEXES ONLINE;

  第一个示例是用来在离线状况下将一个表分区或子分区迁移至一个新的表空间。第二个示例是在线迁移表分区或子分区并维护表上任何本地或全局的索引。此外,当使用ONLINE语句时,DML操作是不会中断的。

  重要提示:

  • UPDATE INDEXES语句可以避免出现表中任何本地或全局索引无法使用的情况。

  • 表的在线迁移限制也适用于此。

  • 引入加机制来完成这一过程,当然它也会导致性能下降并会产生大量的redo,这取决于分区和子分区的大小。

  3. 不可见字段

  在Oracle 11g R1中,Oracle以不可见索引和虚拟字段的形式引入了一些不错的增强特性。继承前者并发扬光大,Oracle 12c R1中引入了不可见字段思想。在之前的版本中,为了隐藏重要的数据字段以避免在通用查询中显示,我们往往会创建一个视图来隐藏所需信息或应用某些安全条件。

  在12c R1中,你可以在表中创建不可见字段。当一个字段定义为不可见时,这一字段就不会出现在通用查询中,除非在SQL语句或条件中有显式的提及这一字段,或是在表定义中有DESCRIBED。要添加或是修改一个不可见字段是非常容易的,反之亦然。

  SQL> CREATE TABLE emp (eno number(6), ename name varchar2(40), sal number(9) INVISIBLE);
  SQL> ALTER TABLE emp MODIFY (sal visible);

  你必须在INSERT语句中显式提及不可见字段名以将不可见字段插入到数据库中。虚拟字段和分区字段同样也可以定义为不可见类型。但临时表,外部表和集群表并不支持不可见字段。

  4. 相同字段上的多重索引

  在Oracle 12c R1之前,一个字段是无法以任何形式拥有多个索引的。或许有人会想知道为什么通常一个字段需要有多重索引,事实上需要多重索引的字段或字段集合是很多的。在12c R1中,只要索引类型的形式不同,一个字段就可以包含在一个B-tree索引中,同样也可以包含在Bitmap索引中。注意,只有一种类型的索引是在给定时间可用的。

  5. DDL日志

  在之前的版本中没有可选方法来对DDL操作进行日志记录。而在12c R1中,你现在可以将DDL操作写入xml和日志文件中。这对于了解谁在什么时间执行了create或drop命令是十分有用的。要开启这一功能必须对ENABLE_DDL_LOGGING 初始参数加以配置。这一参数可以在数据库或会话级加以设置。当此参数为启用状态,所有的DDL命令会记录在$ORACLE_BASE/diag/rdbms/DBNAME/log|ddl 路径下的xml和日志文件中。一个xml中包含DDL命令,IP地址,时间戳等信息。这可以帮助确定在什么时候对用户或表进行了删除亦或是一条DDL语句在何时触发。

  开启DDL日志功能

SQL> ALTER SYSTEM|SESSION SET ENABLE_DDL_LOGGING=TRUE;

  以下的DDL语句可能会记录在xml或日志文件中:

  • CREATE|ALTER|DROP|TRUNCATE TABLE

  • DROP USER

  • CREATE|ALTER|DROP PACKAGE|FUNCTION|VIEW|SYNONYM|SEQUENCE

  6. 临时undo

  每个Oracle数据库包含一组与系统相关的表空间,例如SYSTEMSYSAUXUNDO & TEMP,并且它们在Oracle数据库中每个都用于不同的目的。在Oracle 12c R1之前,临时表生成的undo记录是存储在undo表空间里的,通用表和持久表的undo记录也是类似的。而在12c R12的临时undo功能中,临时undo记录可以存储在一个临时表中,而无需再存储在undo表空间内。这样做的主要好处在于:减少undo表空间,由于信息不会被记录在redo日志中,所以减少了redo数据的生成。你可以在会话级别或者数据库级别来启用临时undo选项。

  启用临时undo功能

  要使用这一新功能,需要做以下设置:

  • 兼容性参数必须设置为12.0.0或更高

  • 启用 TEMP_UNDO_ENABLED 初始化参数

  • 由于临时undo记录现在是存储在一个临时表空间中的,你需要有足够的空间来创建这一临时表空间

  • 对于会话级,你可以使用:ALTER SYSTEM SET TEMP_UNDO_ENABLE=TRUE;

  查询临时undo信息

  以下所列的字典视图是用来查看或查询临时undo数据相关统计信息的:

  • V$TEMPUNDOSTAT

  • DBA_HIST_UNDOSTAT

  • V$UNDOSTAT

  要禁用此功能,你只需做以下设置:

SQL> ALTER SYSTEM|SESSION SET TEMP_UNDO_ENABLED=FALSE;

  7. 备份特定用户特权

  在11g R2中,引入了SYSASM特权来执行ASM的特定操作。同样地,在12c中引入了SYSBACKUP特权用来在 RMAN中执行备份和恢复命令。因此,你可以在数据库中创建一个本地用户并在不授予其SYSDBA权限的情况下,通过授予SYSBACKUP权限让其能够在RMAN中执行备份和恢复相关的任务。

$ ./rman target "username/passWord as SYSBACKUP"

  8. 如何在RMAN中执行SQL语句

  在12c中,你可以在不需要SQL前缀的情况下在RMAN中执行任何SQL和PL/SQL命令,即你可以从RMAN直接执行任何SQL和PL/SQL命令。如下便是在RMAN中执行SQL语句的示例:

  RMAN> SELECT username,Machine FROM v$session; 
  RMAN> ALTER TABLESPACE users ADD DATAFILE SIZE 121m;

  9. RMAN中的表恢复和分区恢复

  Oracle数据库备份主要分为两类:逻辑和物理备份。每种备份类型都有其自身的优缺点。在之前的版本中,利用现有物理备份来恢复表或分区是不可行的。为了恢复特定对象,逻辑备份是必需的。对于12c R1,你可以在发生drop或truncate的情况下从RMAN备份将一个特定的表或分区恢复到某个时间点或SCN。

  当通过RMAN发起一个表或分区恢复时,大概流程是这样的:

  • 确定要恢复表或分区所需的备份集

  • 在恢复表或分区的过程中,一个辅助数据库会临时设置为某个时间点

  • 利用数据泵将所需表或分区导出到一个dumpfile

  • 你可以从源数据库导入表或分区(可选)

  • 在恢复过程中进行重命名操作

  以下是一个通过RMAN对表进行时间点恢复的示例(确保你已经对稍早的数据库进行了完整备份):

  RMAN> connect target "username/password as SYSBACKUP"; 
  RMAN> RECOVER TABLE username.tablename UNTIL TIME 'TIMESTAMP…' 
  AUXILIARY DESTINATION '/u01/tablerecovery' 
  DATAPUMP DESTINATION '/u01/dpump' 
  DUMP FILE 'tablename.dmp' 
  NOTABLEIMPORT -- this option avoids importing the table automatically.(此选项避免自动导入表) 
  REMAP TABLE 'username.tablename': 'username.new_table_name'; -- can rename table with this option.(此选项可以对表重命名)

  重要提示:

  • 确保对于辅助数据库在/u01文件系统下有足够的可用空间,同时对数据泵文件也有同样保证

  • 必须要存在一份完整的数据库备份,或者至少是要有SYSTEM相关的表空间备份

  以下是在RMAN中应用表或分区恢复的限制和约束:

  • SYS用户表或分区无法恢复

  • 存储于SYSAUX和SYSTEM表空间下的表和分区无法恢复

  • 当REMAP选项用来恢复的表包含NOT NULL约束时,恢复此表是不可行的

  10. 限制PGA的大小

  在Oracle 12c R1之前,没有选项可以用来限制和控制PGA的大小。虽然你设置某个大小为PGA_AGGREGATE_TARGET 的初始参数,Oracle会根据工作负载和需求来动态地增大或减小PGA的大小。而在12c中,你可以通过开启自动PGA管理来对PGA设定硬性限制,这需要对PGA_AGGREGATE_LIMIT 参数进行设置。因此,你现在可以通过设置新的参数来对PGA设定硬性限制以避免过度使用PGA。

  SQL> ALTER SYSTEM SET PGA_AGGREGATE_LIMIT=2G; 
  SQL> ALTER SYSTEM SET PGA_AGGREGATE_LIMIT=0; --disables the hard limit

  重要提示:

  当超过了当前PGA的限制,Oracle会自动终止/中止会话或进程以保持最合适的PGA内存。

关于“Oracle 数据库12c新特性有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: Oracle 数据库12c新特性有哪些

本文链接: https://www.lsjlt.com/news/69856.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle 数据库12c新特性有哪些
    这篇文章将为大家详细讲解有关Oracle 数据库12c新特性有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  1. 在线重命名和重新定位活跃数据文件   不同于以...
    99+
    2024-04-02
  • Oracle数据库12c的新特性有哪些
    这篇“Oracle数据库12c的新特性有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2024-04-02
  • Oracle 12c新特性有哪些
    本篇内容介绍了“Oracle 12c新特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1. 自...
    99+
    2024-04-02
  • Oracle 数据库12c新特性总结
    本篇内容介绍了“Oracle 数据库12c新特性总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1....
    99+
    2024-04-02
  • 12C数据库泵新特性是什么
    这篇文章主要讲解了“12C数据库泵新特性是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“12C数据库泵新特性是什么”吧!DISABLE_ARCHIVE_...
    99+
    2024-04-02
  • Oracle 12c RMAN新特性
    Oracle 12c RMAN新特性 SYSBACKUP This privilege allows a user to perform backup and recovery operations e...
    99+
    2024-04-02
  • 数据库PostgreSQL 6.0新特性有哪些
    本篇内容介绍了“数据库PostgreSQL 6.0新特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • Oracle 12c 两个新特性
    1. ALTER DATABASE MOVE DATAFILE 可以在线迁移数据文件到新路径,system表空间也可以move。 SYS@czh29c > alter&nb...
    99+
    2024-04-02
  • Oracle数据版本12.2.0.1.0有哪些新特性
    本篇内容主要讲解“Oracle数据版本12.2.0.1.0有哪些新特性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle数据版本12.2.0.1.0有哪...
    99+
    2024-04-02
  • Oracle数据库中有哪些安全特性
    数据加密:Oracle数据库提供了透明数据加密(TDE)功能,可以对整个表空间或列进行加密,确保数据在传输和存储过程中的安全性。...
    99+
    2024-04-09
    Oracle
  • Oracle 12c新特性之多线程数据库的示例分析
    这篇文章将为大家详细讲解有关Oracle 12c新特性之多线程数据库的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。有一个概念,叫多进程和多线程。在Unix/Li...
    99+
    2024-04-02
  • Oracle 12C新特性是什么
    这篇文章主要讲解了“Oracle 12C新特性是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle 12C新特性是什么”吧!在12c里,推出了H...
    99+
    2024-04-02
  • MySQL数据库有哪些特性
    本篇内容介绍了“MySQL数据库有哪些特性”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1.使用C和C...
    99+
    2024-04-02
  • oracle 12c新特性之在线移动数据文件
    11g时是无法在线移动数据文件的,12c增强了移动数据文件的功能,不仅可以更改路径,还可以给数据文件改名。 oracle 12c在线移动或更名数据文件语法案例: alter database mo...
    99+
    2024-04-02
  • Oracle 12C新特性-RMAN恢复表
    Oracle 12C 新特性 -RMAN 恢复表 oracle 如何恢复单张表数据? 场景一:处理简单,恢复速度快 1 如果表被 delete 、 update 、 ...
    99+
    2024-04-02
  • mysql数据库的特性有哪些
    这篇文章主要讲解了“mysql数据库的特性有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql数据库的特性有哪些”吧! ...
    99+
    2024-04-02
  • postgresql数据库sql特性有哪些
    这篇文章主要介绍“postgresql数据库sql特性有哪些”,在日常操作中,相信很多人在postgresql数据库sql特性有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • Oracle数据库的特点有哪些
    Oracle数据库的特点有以下几个方面: 高可靠性:Oracle数据库采用了多种机制来确保数据的可靠性,如数据冗余、事务处理、恢...
    99+
    2024-04-09
    Oracle
  • Oracle 12c的ASM新特性是什么
    这篇文章主要讲解了“Oracle 12c的ASM新特性是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle 12c的ASM新特性是什么”吧!or...
    99+
    2024-04-02
  • 数据库事务的特性有哪些
    这篇文章将为大家详细讲解有关数据库事务的特性有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。数据库四大特性分别是:原子性、一致性、分离性、持久性原子性 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作