Oracle 12c 新特性之 数据库内归档(In-Database Archiving)
Oracle Database 12c中引入了 In-Database Archiving的新特性, 该特性允许用户通过对表上的数据行标记为inactive不活跃的,以归档数据。 这些inactive的数据行可以通过压缩进一部优化,且对应用来说默认不可见。该特性可以对现有代码做最少改动的情况下,实现了这种“标记删除”的功能和需求。12c之前:有些应用有“标...
Oracle 12c 新特性之 temp undo
Oracle 12c R1 之前,临时表生成的undo记录是存储在undo表空间里的,通用表和持久表的undo记录也是类似的。而在 12c R12 的临时 undo 功能中,临时 undo 记录可以存储在一个临时表中,而无需再存储在 undo 表空间内。临时表的UNDO信息通常用于读一致性和事务回滚,在事务完成之后,无需进行恢复,所以也就不必永久保存。这...
Oracle 12c 新特性之 PDB 级别闪回数据库
在Oracle Database 12.1中,闪回数据库操作仅限于 CDB ,Oracle Database 12.2支持 CDB 与 PDB 数据库的闪回。PDB 的还原点种类:1. normal restore point: create restore point pdb1_point1;2. guaranteed restore point: create restore point pdb1_point1 g...
Oracle 12c 多租户 CDB 与 PDB之 shared undo 与 Local undo 切换
undo 在12C R1版本中只支持Global Shared Undo模式, 所有container共享一个UNDO表空间, 目前保留这种模式只是为了升级过渡, 在12C R2引入了PDB Local UNDO模式,每个container都有自己的UNDO 表空间, 对于RAC是每个实例每个container都有自己的UNDO表空间, 这也正是推荐的.在DBCA时会有local undo选项,且默认勾选。local ...
oracle 12c 新特性之(相同字段上的多重索引、ddl 日志、限制PGA的大小、分页查询)
1. 相同字段上的多重索引 在Oracle 12c R1之前,一个字段是无法以任何形式拥有多个索引的。或许有人会想知道为什么通常一个字段需要有多重索引,事实上需要多重索引的字段或字段集合是很多的。在12c R1中,只要索引类型的形式不同,一个字段就可以包含在一个B-tree索引中,同样也可以包含在Bitmap索引中。注意...
oracle 12c 新特性之不可见字段
在Oracle 11g R1中,Oracle以不可见索引和虚拟字段的形式引入了一些不错的增强特性。继承前者并发扬光大,Oracle 12c 中引入了不可见字段思想。在之前的版本中,为了隐藏重要的数据字段以避免在通用查询中显示,我们往往会创建一个视图来隐藏所需信息或应用某些安全条件。 在12c中,你可...
Oracle12c多租户CDB 与 PDB 参数文件位置探讨、查询 CDB 与 PDB 不同值的参数
一、 Oracle12c多租户CDB 与 PDB 参数文件位置CDB的参数文件依然使用12c以前的SPIFLE,pdb的参数文件不会出现在SPFILE中,而是直接从CDB中继承,如果PDB中有privete Local parameter 会存在 CDB 的 PDB_SPFILE$字典表 中以con_id区别,当PDB UN-Plug时,PDB参数会写入PDB的XML文件中,当drop pluggable database后,pdb...
Oracle 12c 多租户配置和修改 CDB 和 PDB 参数
1. 配置CDB 实例参数,影响CDB与所有 PDB为CDB配置例程参数相对于对于非CDB的数据库是变化不太。ALTER SYSTEM命令用于设置初始化参数,与使用ALTER DATABASE命令修改一些数据库配置。ALTER SYSTEM SET parameter_name=value CONTAINER=ALL;说明:使用CONTAINER=ALL后,cdb与pdbs这个参数相同。pdbs可以在本地设置同一参...
Oracle12c多租户管理用户、角色、权限
Oracle 数据库 12 c 多租户选项允许单个容器数据库 (CDB) 来承载多个单独的可插拔数据库 (PDB)。那么我们如何在容器数据库 (CDB) 和可插拔数据库 (PDB)管理用户权限。背景:当连接到多租户的数据库中,用户权限的管理相对传统的 Oracle 单数据库环境稍有不同。在多租户环境中有两种类型的用户。共同用户(Common Us...
Oracle12c多租户如何连接到CDB或PDB、CDB与PDB容器切换
Oracle 数据库 12 c 多租户选项允许单个容器数据库 (CDB) 来承载多个单独的可插拔数据库 (PDB)。那么我们如何连接到容器数据库 (CDB) 和可插拔数据库 (PDB)。1. V$SERVICES视图可以显示数据库中的可用服务。SQL> col pdb for a40SQL> col name for a30;SELECT name, pdb FROM v$services ORDER BY name;SQL> ...
Oracle12c多租户如何启动关闭CDB或PDB (PDB自动启动)
Oracle 数据库 12 c 中介绍了多租户选项允许单个容器数据库 (CDB) 来承载多个单独的可插拔数据库 (PDB)。下面我们一起来启动和关闭容器数据库 (CDB) 和可插拔数据库 (PDB)。一、启动与关闭 cdb、pdbs 数据库说明:对于CDB,启动和关闭与之前传统的方式一样。1. 启动 CDB启动和关闭的容器数据库和以前版本的常...
oracle单实例12.2.0.1安装
说明:本文描述oracle linux 6.8 安装 oracle 12.2.0.10. 查看操作系统版本[root@12c01 ~]# cat /etc/os-release NAME="Oracle Linux Server" VERSION="6.8"1. 修改用户的SHELL的限制,vi /etc/security/limits.conf 文件,文件末尾添加修改如下oracle soft nproc 2047oracle hard nproc 16384...
PRVF-0002 : could not retrieve local node name
安装 oracle 的时候,./runInstaller 启动报错 PRVF-0002 : could not retrieve local node name 碰到这个错误是因为 OUT试图对你主机名的反向解析。因此,你需要设置一个用于反向解析和解析DNS服务,或者,可以修改/etc/hosts文件,添加主机名和域名全称,例如:[root@12c01 ~]# cat /etc/ho...
图形化升级单机oracle 11.2.0.4 到 12.2.0.1
1. 讲补丁包上传到 Oracle server ,解压、安装[oracle@11g tmp]$ unzip linuxx64_12201_database.zip 2. 检查当前版本SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition ...
ORA-00845: MEMORY_TARGET not supported on this system
问题描述:11g r2 修改了 memory_target 大小由原来的 0.8g 调到了 1.5g,startup报错。SQL> startup;ORA-00845: MEMORY_TARGET not supported on this system分析:[root@11g ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda5 40G 24G &...
行转列、列转行
一:行转列模式:N行转一列 本实验N取31.建表SQL> create table grade(id int,name varchar2(10),subject varchar2(10),grade number(3));2.插入实验数据insert into grade values(1,'Andy','Yuwen',11);insert into grade values(2,'Andy','Math',22);insert into grade values(3,'Andy','English',33);in...
PL/SQL批处理语句:BULK COLLECT 和 FORALL对优化的贡献
我们知道PL/SQL程序中运行SQL语句是存在开销的,因为SQL语句是要提交给SQL引擎处理 这种在PL/SQL引擎和SQL引擎之间的控制转移叫做上下文却换,每次却换时,都有额外的开销 请看下图: 但是,FORALL...
Nested loops、Hash join、Sort merge join(三种连接类型原理、使用要点)
nested loop 嵌套循环(原理):oracle从较小结果集(驱动表、也可以被称为outer)中读取一行,然后和较大结果集(被侦查表,也可以叫做inner)中的所有数据逐条进行比较(也是等值连接,也可以是非等值连接),如果符合规则,就放在结果集中,然后取驱动表的下一条数据继续循环,直到结束。简单的理解就是:从A表抽一条...
Redo Log File(inactive、active)损坏,处理恢复对策
redolog的生命周期中共有四种状态:current -> 正在使用的active -> 非正在使用的,对应的Dirty Block还没有完全写入到数据文件中inactive -> 非正在使用的,可以覆盖的,Dirty Block已经完全写入。unused -> 没有使用过的-- 查看redolog状态SQL> select group#,status from v$log;模拟三种状...
恢复到特定点(时间点、scn、日志序列号),rman不完全恢复
将数据库、表空间、数据文件等恢复至恢复备份集保存时间中的任何一个时间点/SCN/日志序列(一般是日志挖掘找到误操作点),但须谨慎,操作前一定需要做好备份,具备条件的情况下最好先恢复到异机,避免业务停机时间。前提:已经有数据库备份 (作者已经提前准备了备份,这里不进行备份,为了节约空间)--准备实验环境...