Oracle 12c是Oracle数据库的最新版本,它不仅提供了更高效的性能,还包含了很多令人兴奋的新功能。其中最引人注目的是Oracle 12c组件的新增功能。在这篇文章中,我们将探讨Oracle 12c组件新增的一些令人兴奋的功能和细节。
1. Pluggable数据库
Pluggable数据库(PDB)是Oracle 12c新增的一个组件。它允许您在单个Oracle数据库实例中同时运行多个独立的数据库。这种架构带来了很多优势,例如更容易维护和升级,更灵活的资源分配和更高的安全性。PDB是一个独立的实例,可以轻松地移动到另一个Oracle数据库实例,并且与其他PDB彻底隔离。
以下是创建和管理PDB的一些示例代码:
– 创建PDB
“` SQL
CREATE PLUGGABLE DATABASE pdb_name
ADMIN USER pdb_admin IDENTIFIED BY password
FILE_NAME_CONVERT=(‘cdb_data_file_path’, ‘pdb_data_file_path’);
- 将PDB附加到CDB
``` SQL
ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE pdb_name OPEN READ WRITE;
2. 多租户
Oracle 12c的多租户架构是利用PDB实现的。它允许多个租户在同一个物理数据库中共享资源和硬件。每个租户都有自己的独立的PDB,并且可以通过不同的容器管理员进行管理。这种架构提供了更高的资源共享和更好的扩展性,而且更容易管理和维护。
以下是一些管理多租户数据库的示例代码:
– 创建容器数据库
“` SQL
CREATE DATABASE cdb_name
USER SYS IDENTIFIED BY password
USER SYSTEM IDENTIFIED BY password
EXTENT MANAGEMENT LOCAL;
- 创建容器管理员
``` SQL
CREATE USER cdb_manager IDENTIFIED BY password;
GRANT CREATE SESSION, SET CONTNER TO cdb_manager;
– 创建租户PDB
“` SQL
CREATE PLUGGABLE DATABASE pdb_name ADMIN USER pdb_admin
IDENTIFIED BY password
FILE_NAME_CONVERT=(‘cdb_data_file_path’, ‘pdb_data_file_path’);
3. 行级安全性
Oracle 12c新增了行级安全性功能,它使得DBA可以更好地保护数据库中的数据。行级安全性允许您根据用户角色、部门和其他属性来限制对数据的访问。这种功能提高了数据库安全性,并使得DBA更容易实现访问控制。
以下是一个行级安全性的示例代码:
- 创建安全策略
``` SQL
BEGIN
DBMS_RLS.ADD_POLICY(
object_schema=>'schema_name',
object_name=>'table_name',
policy_name=>'policy_name',
function_schema=>'schema_name',
policy_function=>'function_name',
statement_types=>'SELECT, INSERT, UPDATE, DELETE',
enable=>TRUE,
static_policy=>FALSE);
END;
4. 数据库启动优化器
Oracle 12c中新增的数据库启动优化器是一个重要的功能,它可以提高数据库的性能。当实例启动时,优化器会自动收集统计信息并生成最优执行计划。这种架构可以大大降低数据库启动时间和改善性能。
以下是一个启用数据库启动优化器的示例代码:
“` SQL
ALTER SYSTEM SET OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES = TRUE SCOPE=BOTH;
总结
Oracle 12c是一个功能强大的数据库版本,有很多令人兴奋的新功能和组件。PDB和多租户架构可以提高数据库的可维护性和安全性,行级安全性可以实现更细粒度的访问控制,而数据库启动优化器可以提高性能和启动时间。如果您正在考虑升级到Oracle 12c,这些功能值得您了解和使用。