Oracle于2013年6月发布了全新的数据库版本12c,相比于上一版本11g,12c有很多重要的新特性。在本文中,我们将深入探讨Oracle 12c的新特性。
首先,让我们来讨论多租户架构(Multi-tenant Architecture)这个全新的特性。简单来说,多租户架构允许多个数据库实例在同一物理服务器上运行,每个实例拥有自己的数据和应用程序,但它们共享同一个系统资源池。
CREATE DATABASE
UNDO TABLESPACE undotbs1
DATAFILE '/u02/oracle/rbdb1/system01.dbf' SIZE 700M REUSE
SYSAUX DATAFILE '/u02/oracle/rbdb1/sysaux01.dbf' SIZE 550M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u02/oracle/rbdb1/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u02/oracle/rbdb1/temp01.dbf'
SIZE 20M REUSE
CHARACTER SET USASCII
NATIONAL CHARACTER SET AL16UTF16
MAXINSTANCES 8
MAXLOGHISTORY 1
LOGFILE
GROUP 1 ('/u02/oracle/rbdb1/redo01.log') SIZE 50M,
接下来,让我们来看看另一个有趣的特性:数据库收缩(Database Sharding)。一个数据库在长时间的使用期间可能变得庞大且难以维护,以至于它可能需要进行分片(Sharding)操作,将它切分成较小的、可管理的部分。这种操作可以让数据库更容易维护和管理,同时还可以提高性能。
ALTER TABLE orders ADD PARTITION q1_2000 VALUES LESS THAN (TO_DATE('01-APR-2000', 'DD-MON-YYYY'));
ALTER TABLE orders ADD PARTITION q2_2000 VALUES LESS THAN (TO_DATE('01-JUL-2000', 'DD-MON-YYYY'));
另一个值得关注的特性是“全文搜索”(Full text search)。这个特性可以让您搜索表中全部或部分列的文本数据,包括符合条件的部分匹配关键字。这个特性在处理全局搜索方面非常有用,特别是当搜索的数据来自于非关系型数据库时。
CREATE INDEX myindex ON mytable(mycol) INDEXTYPE IS "CTXSYS.CONTEXT";
SELECT * FROM mytable WHERE CONTAINS(mycol, 'keyword', 1) > 0;
最后一个值得提到的特性是“自动SQL调整”(Automatic SQL Tuning)。这个特性可以监视数据库实例的查询,自动优化它们的性能,并提供实时建议。这使得数据库管理员可以更快地发现慢查询和性能瓶颈,从而更快地解决问题。
BEGIN
DBMS_SQLTUNE.CREATE_TUNING_TASK(-
SQL_TEXT => 'SELECT * FROM mytable WHERE mycol = ''xxx''',-
BIND_LIST => '(:bind1)',-
BIND_TYPES => 'VARCHAR2(30)',-
USER_NAME => 'myuser',-
SCOPE => 'COMPREHENSIVE',-
TIME_LIMIT => 1200,-
TASK_NAME => 'tuning_task_mytable_query'-
);
END;
/
总的来说,Oracle 12c是一个具有众多新特性的强大数据库。无论是多租户架构、数据库收缩、全文搜索、自动SQL调整等特性中的哪个,都可以帮助您更好地管理和优化您的数据库实例。如果您还没有使用Oracle 12c,那么现在是时候考虑升级了!