Oracle Undo
Oracle回滚/撤销
撤销数据是反转DML语句结果所需的信息。撤销数据通常被称为“回滚数据”,在过去的Oracle版本中,“回滚数据”和“撤销数据”可以交替使用,但从9i版本开始,这两个术语有所不同:功能相同,但管理方式不同。只要某个事务修改了数据,那么更新前的原有数据就会被写入一个回滚段或撤销段。回滚段在11g版本中依然存在,但从9i版本开始,Oracle数据库引入了可供选择的撤销段。Oracle强烈建议所有数据库都应当使用撤销段,回滚段只被保留用于向后兼容。
撤销管理Oracle数据库中,也设置了一个专门的存储空间,用来保存操作过程及被操作的数据,即撤销记录,以便提供撤销功能,即允许用户撤销对数据库所执行的最后操作。撤销表空间中创建撤销段,自动保存当前对数据库的操作,以便实现自动撤销管理,撤销该操作。
撤销表空间,也叫还原空间,Undo tablespace
自动撤销管理
undo_tablespace指定默认的撤销表空间
undo_retention指定撤销记录在撤销段中保留的时间
undo_management设置为auto,即使用的是自动撤销管理功能由系统来决定在u ...
Oracle体系结构与组件
Oracle体系结构和组件
系统的体系结构决定了数据库如何使用内存、硬件和网络,以及哪个进程或程序运行在哪台机器上。Oracle数据库服务器有两个主要的组成部分:数据库和实例(instance)。Oracle数据库用于存储和检索信息,是数据的集合。Oracle实例是指数据库服务器的内存及相关处理程序。
图示并解释Oracle体系结构和组件Oracle体系结构如下图所示:
物理结构一个Oracle数据库的物理结构,是由为数据库信息提供真实屋物理存储的操作系统文件决定的。
控制文件
数据文件
重做日志文件
内存结构Oracle内存结构由两个存储区域组成:
系统全局区(System Global Area,SGA):在实例启动时被分配,是Oracle实例的一个基本组件
程序全局区(Program Global Area,PGA):在服务器进程启动时分配
系统全局区
SGA(系统全局区)包括共享池、数据库缓冲区高速缓存、重做日志缓冲区、Java池、大型共享池等(锁管理、统计数据)。
SGA能配置两个可选存储结构:大池和Java池
SGA是可变大小的,使用SGA_MAX_ ...
Oracle存储结构
Oracle存储结构存储结构数据库的主要功能是保存数据,所以可以将数据库看成是保存数据的容器。数据库的存储结构也就是数据库存储数据的结构或方式、方法、方案等。
oracle 数据库的存储结构分为物理存储结构和逻辑存储结构两种。
物理存储结构主要用于描述在 oracle 数据库外部数据的存储,即在操作系统层面中如何组织和管理数据,与具体的操作系统有关。
逻辑存储结构主要描述oracle 数据库内部数据的组织和管理方式,即在数据库管理系统的层面中如何组织和管理数据,与操作系统没有关系。
两者的关系 oracle 数据库的物理存储结构与逻辑存储结构既相互独立又相互联系,如下图:
从上面图中可以看出数据库物理存储结构和逻辑存储结构的基本关系:
一个数据库在物理上包含多个数据文件,在逻辑上包含多个表空间
一个表空间包含一个或多个数据文件,一个数据文件只能从属于某个表空间
数据库的逻辑块由一个或多个操作系统块组成
一个逻辑区只能从属于一个数据文件,而一个数据文件可包括一个或多个逻辑区
逻辑存储结构
是从逻辑的角度定义数据库的构成,比物理存储结构更高一层,许多初始化参数都是针对逻辑 ...
Oracle数据库的启动过程和关闭模式
Oracle数据库的启动过程和关闭模式。一 启动数据库Oracle启动过程涉及几种模式,这些模式涉及不同的文件,每个状态下数据库做不同的事情,同时这些模式适用于不同的维护需求,主要的模式有三种:NOMOUNT、MOUNT、OPEN。
NOMOUNT:启动数据库实例, 此时读取参数文件,但是不加载数据库;
MOUNT:启动数据库实例,加载数据库,但是数据库处于关闭状态;
OPEN: 启动数据库实例,加载并打开数据库;
FORCE: 终止实例并重启数据库,这种模式在数据库关闭或者启动遇到问题时使用,这种方式不到万不得已时不要使用,会有数据丢失;
1 NOMOUNT 启动例程
在启动例程时,这些内存结构和服务进程得到分配、初始化和启动,以便Oracle能够管理数据库
此时的例程还没有与一个确定的数据库相联系,或者说数据库是否存在对例程的启动并没有影响,即还没有装载数据库
若初始化参数文件设置有误,则无法启动例程
这种模式只会创建实例(创建Oracle实例的各种内存结构与服务进程,其中有5个进程必须启动, DBWR、LGWR、SMON、PMON、CKPT),并不加载数据库,也不会打开 ...
C++连接Oracle
C++连接Oracle常见的几种连接Oracle的方式
ODAC,通过 COM 的形式调用 Oracle,缺点是需要装 ODAC 客户端,而且体积不小
OCCI,通过动态库调用 Oracle, 不需要安装客户端,只需要几个 DLL 即可,问题是 Oracle 12.2 开始支持 VS2015,但不支持 XP
OCI,C语言的 API,调用起来稍显复杂
ODPI-C,也是C语言的 API,在 OCI 基础上做了一层封装,对比前两者,仍然不够简洁
cx_Oracle,Python 的第三方库,各方面都满足要求,但是甲方禁止使用 Python
ODBC,效率估计最低了吧
Pro*C,个人比较反感这种方案,不多说了
OTL,基于模板和流的 C++ 库,依赖 OCI
而使用C/C++操作Oracle数据库的方法有以下几种种:
pro*C:易入门,但程序代码繁琐;
OCI:Oracle Call Interface,功能强大,性能卓越,但难以驾驭;
OCI是Oracle提供的C语言函数库,如果不对OCI进行封装,C程序员对Oracle的开发比较困难。
freecplu ...
前端样式整理
span list 12345678910111213141516171819202122231<span class="fas faa-ring animated-hover" style="border-bottom:3px solid green">《半小时漫画中国哲学史》</span>2<span style="text-align:center;font-size:20px;font:30px 书体坊兰亭体;color:blueviolent;word-spacing:30px;">“ 既许一人以偏爱,愿尽余生之慷慨 ”</span>3<span style="class: faa-bounce animated-hover;border-bottom: 5px solid #8F81EF;">[data.json文件链接](https://pan.baidu.com/s/1omzU65YMpJr0jPPFItZ7SA )</ ...
HTML和Markdown设置下换线
HTML以及编辑的Markdown如何设置下划线样式本篇文章就给大家介绍css添加文字下划线样式的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
常规办法1<u>这里是常规办法添加下划线</u>
效果如下:
这里是常规办法添加下划线
text-decoration属性1<span style="text-decoration:underline">这是text-decoration属性设置的下划线。</span>
效果如下:
这是text-decoration属性设置的下划线。
border-bottom属性border-bottom属性使用起来比较灵活,并且可以设置线的格式,因此能满足你一篇文章的不同需求~~~
12345<p>这是第实线样式,<span style="border-bottom: 1px solid #000000;">Mming‘s Blog</span>! </p> <p>这是变粗的实线,&l ...
Go_hard_Algorithm
Go刷题笔记_Init_Come on!!!
Windows Cmd命令整理
CMD高级用法整理