Oracle 11g是Oracle公司的一款关系型数据库管理系统,它比其前辈Oracle 10g性能更优、功能更强大,受到了企业用户的广泛欢迎。它提供了许多重要的新功能和改进,例如自动调整、分区表等,可以大大提高数据库的性能和可靠性。下面,我们来了解一下Oracle 11g的11个重要特性。
第一个特性是自动调整(Automatic Tuning)。Oracle 11g可以自动检测数据库影响性能的问题,优化查询语句和表格布局,为性能瓶颈提供有效的解决方案。比如,当发现存在缺失的统计信息时,它会自动收集相关信息,从而提高查询效率。
SQL> SELECT /*+ gather_plan_statistics */ COUNT(*) FROM employees WHERE last_name='SMITH';
COUNT(*)
----------
1
SQL> SELECT * FROM table(DBMS_XPLAN.display_cursor(NULL,NULL,'ALLSTATS LAST'))
PLAN_TABLE_OUTPUT
-------------------------------------------------------------------------------------------------
SQL_ID cnq2zj5bwzt47, child number 0
-------------------------------------
SELECT /*+ gather_plan_statistics */ COUNT(*) FROM employees WHERE
last_name='SMITH'
Plan hash value: 1089269590
--------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-time | Buffers |
------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 1 |00:00:00.01 | 2 |
| 1 | SORT AGGREGATE | | 1 | 1 | 1 |00:00:00.01 | 2 |
|* 2 | TABLE ACCESS FULL | EMPLOYEES | 1 | 1019 | 1 |00:00:00.01 | 2 |
-----------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("LAST_NAME"='SMITH')
Note
-----
- automatic DOP: Computed Degree of Parallelism is 1 because of CPU limit
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
4 consistent gets
0 physical reads
0 redo size
368 bytes sent via SQL*Net to client
492 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
分区表(Partitioning)是另一个重要的特性。Oracle 11g可以支持范围、哈希和列表等不同类型的分区方式,使得数据管理更加灵活。这使得对大规模数据进行高效管理和备份变得更加容易。
CREATE TABLE sales_2012
(
sale_time DATE NOT NULL,
region VARCHAR2(15 BYTE),
product VARCHAR2(20 BYTE),
sales NUMBER
)
PARTITION BY RANGE (sale_time)
(
PARTITION q1_2012 VALUES LESS THAN (TO_DATE('01-APR-2012', 'DD-MON-YYYY')),
PARTITION q2_2012 VALUES LESS THAN (TO_DATE('01-JUL-2012', 'DD-MON-YYYY')),
PARTITION q3_2012 VALUES LESS THAN (TO_DATE('01-OCT-2012', 'DD-MON-YYYY')),
PARTITION q4_2012 VALUES LESS THAN (TO_DATE('01-JAN-2013', 'DD-MON-YYYY'))
);
另一个值得一提的特性是增强的数据冗余(Enhanced Data Redundancy)。Oracle 11g使用了一种新的技术来将数据保持在多个磁盘上,从而避免硬盘的单点失效,提高了数据库的可靠性。同时,备份更加容易,因为它们可以同时保存在不同的位置上。
Oracle 11g还具有许多其他特性,如增强的SQL语句优化器和自动诊断等。这些特性使得它成为企业用户的首选数据库管理系统。我们只需要仔细研究这些特性,就能够更有效地使用Oracle 11g,从而创造出业务上的价值。