Oracle 12c新版本上线(oracle12c的版本)
Oracle 12c:新版本上线!
Oracle 12c是Oracle公司最新推出的数据库管理系统,它在安全性、性能优化、多租户等方面进行了大幅度的升级和优化。新版本的上线对于企业级应用和各级别的数据库管理员来说,无疑是一个重要的里程碑。本文将着重介绍Oracle 12c的新特性和相关应用。
一、基于容器的多租户架构
Oracle 12c引入了基于容器的多租户架构,可以在一个数据库实例上面同时托管多个租户的数据,每个租户的数据是相互隔离的。这样做的好处是可以大幅度节省硬件资源和人力成本,实现一台服务器上多个业务系统的共享数据仓库的目标。相关代码如下:
CREATE TABLESPACE contner_ts;
CREATE USER c##tenant1 IDENTIFIED BY password DEFAULT TABLESPACE contner_ts QUOTA UNLIMITED ON contner_ts;
CREATE USER c##tenant2 IDENTIFIED BY password DEFAULT TABLESPACE contner_ts QUOTA UNLIMITED ON contner_ts;
这段代码的作用是创建一个名为contner_ts的表空间,然后创建两个用户c##tenant1和c##tenant2,并将它们的默认表空间都指定为contner_ts。
二、实时数据复制技术
Oracle 12c也引进了实时数据复制技术,这是一种基于逻辑复制的技术,能够实现实时将源数据库中的数据同步到目标数据库中。这对于数据备份、数据迁移和数据分发等场景都非常有用。相关代码如下:
BEGIN
DBMS_LOGSTDBY.APPLY_SET(‘ASYNC’);
END;
/
BEGIN
DBMS_LOGSTDBY.APPLY_SET(‘STOP’);
END;
/
BEGIN
DBMS_LOGSTDBY.APPLY_SET(‘SYNC’);
END;
这段代码的作用是设置一个日志有效期,在此期间发生的变更会全部被复制。然后暂停复制,最后重新启动复制。
三、数据安全性提升
安全性一向是Oracle最为重视的方面之一,Oracle 12c也不例外,它在数据安全性方面进行了多方面的升级。其中最引人注目的是默认情况下启用了“SQL注入攻击防范”,在SQL语句执行之前,数据库会对关键字进行检测,从而避免SQL注入攻击。相关代码如下:
ALTER SYSTEM SET SEC_MAX_FLED_LOGIN_ATTEMPTS=3;
ALTER USER SCOTT ACCOUNT LOCK;
GRANT SELECT, INSERT, UPDATE, DELETE ON employees TO scott;
BEGIN
SYS.DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(acl => ‘secure_users.xml’, description => ‘Secure User ACL’, principal => ‘SCOTT’, is_grant => TRUE, privilege => ‘connect’);
SYS.DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(acl => ‘secure_users.xml’, description => ‘Secure User ACL’, principal => ‘SCOTT’, is_grant => TRUE, privilege => ‘resolve’);
SYS.DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(acl => ‘secure_users.xml’, host => ‘*’);
END;
这段代码的作用是设置最大失败登录尝试次数为3次,并对用户SCOTT进行账号锁定。然后对表employees进行授权,最后创建网络ACL以保护数据库不受网络攻击。
总结
Oracle 12c的优势不仅仅在于上述提到的几个方面,同时还有诸多其他的优化措施,包括优化的条件查询、批处理修改、动态SQL语句编译等等,这些技术都能够帮助数据库管理员更好地管理数据,并提高数据的安全性和性能表现。如果你是企业级应用开发者或数据库管理员,Oracle 12c是一个值得学习和了解的必备技术。