Oracle 122新版本发布革新功能超有料(oracle12.2发布)
Oracle 12.2新版本发布:革新功能超有料
Oracle数据库一直是企业级数据库领域中不可或缺的角色,而Oracle 12.2则是Oracle数据库中的一次重要更新版本,于2017年发布。该版本中引入了许多新的功能和改进,其中一些甚至可以改变数据库的管理方式及应用实现,旨在优化数据管理工作流程。
以下是该版本中的一些主要功能和改进:
1.在线表重定义
在Oracle 12.2中,用户可以通过在线表重定义功能,对正在使用的表进行更改,而不会影响表的使用。这样可以避免重启数据库的过程,提高了系统的可用性和稳定性。
2.自动开启坏块修复
Oracle 12.2引入的自动开启坏块修复功能,可以有效的减少数据库体积,提高性能,减少用户备份和恢复时间,同时还能减少人工干预。
3.统一审计
在以往版本的Oracle数据库中,任何一种操作都需要开启审计,但这种方法效率较低并且容易对系统造成负担。因此,Oracle 12.2中推出了统一审计功能,统一管理数据库的各种审计操作,减少对系统的负担。
4.自动和手动大表分区
在Oracle 12.2中,大表分区功能得到了加强,支持手动和自动两种方式。用户可以根据数据量和需要进行选择,对表进行合理的分区,从而减少查询时间和提高性能。
5.增强的数据保护
Oracle 12.2中引入了企业级安全功能,提供了更加安全的数据存储和保护,可以有效的保护用户的数据安全,防止各种安全威胁。
6.多租户容器数据库
Oracle 12.2引入了多租户容器数据库的概念,其可以在一个数据库实例中创建多个逻辑独立的数据库(即称容器),实现不同租户之间的资源隔离。此功能可提高数据安全性和性能,还能方便各个部门之间共享信息。
7.界面优化和提高效率
Oracle 12.2还引入了一个全新的Oracle Enterprise Manager(OEM)控制台,使用户可以更加方便、快捷地管理和监控数据库。同时,该版本的SQL Developer中也加入了一些新的功能,例如可视化工具和静态类型检查,使用户更容易编写高质量的SQL语句。
总结起来,Oracle 12.2版本的发布大大优化了数据库管理的工作流程,提供了更加多元化和灵活的解决方案,为企业级应用提供更加全面的数据库管理服务。
代码示例:
以下是表重定义的代码示例:
ALTER TABLE customers
RENAME COLUMN state TO province; -- 用新的列名添加一个虚拟列
ALTER TABLE customers ADD (virtual_state_abbreviate CHAR(2) GENERATED ALWAYS AS (SUBSTR(province,1,2)) VIRTUAL);
-- 用新列来更新数据DECLARE
l_successful INT;BEGIN
DBMS_ERRLOG.create_error_log(dml_table_name => 'customers'); DBMS_REDEFINITION.START_REDEF_TABLE(
uname => 'SH', orig_table => 'CUSTOMERS',
int_table => 'CUSTOMERS_INTERIM', col_mapping => 'ID,ID,NAME,NAME,ADDRESS,ADDRESS,VCITY,VCITY,VSTATE,VIRTUAL_STATE_ABBREVIATE');
-- 同步期间 -- 对 CUSTOMERS_INTERIM 进行 DML 操作。
l_successful := DBMS_REDEFINITION.FINISH_REDEF_TABLE( uname => 'SH',
orig_table => 'CUSTOMERS', int_table => 'CUSTOMERS_INTERIM');
-- 此时 CUSTOMERS 处于在线重定义状态。
-- 终止同步 -- 对 CUSTOMERS_INTERIM 进行 DML 操作。
DBMS_ERRLOG.drop_error_log(dml_table_name => 'customers');END;
/