归档模式下丢失普通数据文件并恢复
在归档模式下恢复非关键数据文件,只要有有效的备份文件,恢复起来还是不太复杂的。以下是测试的过程:----归档模式下丢失非关键数据文件并恢复:--准备信息:scott@PROD>select table_name,tablespace_name 2 from user_tables;TABLE_NAME &nb...
恢复archivelog模式下丢失的系统数据文件
在归档模式下丢失system表空间的数据文件,该如何恢复?以下是恢复的简单的演示:----归档模式下丢失关键数据文件:---查看数据库的归档模式:sys@PROD>archive log list;Database log mode Archive ModeAutomatic arc...
丢失当前current重做日志文件下恢复数据库
丢失当前使用的重做的日志情况下,把数据库恢复到正常状态,并且尽量把数据丢失的风险降到最低。oracle防止数据丢失的机制也非常灵活到位,当丢失当前的redo日志文件,oracle要求把它归档完成了才能删除,归档的前提就是把当前的日志组切换到另外一个日志文件组。以下是实验的过程:----恢复丢失当前重做日志文件组...
控制文件版本不一致下恢复数据库
控制文件跟重做日志文件一般都形成多路径冗余,区别在于日志文件只在日志文件组内形成相互映像,而控制文件是所有控制文件相互形成映像。再者,控制文件需要保持高度的一致性,例如控制文件的内容等,总的来说就是版本保持一致性。以下是测试控制文件版本不一致对数据库的影响,进而恢复的过程:----控制文件的恢复...
丢失一个控制文件并恢复数据库
只丢失或损坏一个控制文件的情况下来恢复数据库,相对来说简单一点。一般来说,控制文件都需要形成一个多路径冗余策略,来提高数据库的安全性。这样的话只需将完好的控制文件复制一个副本放到丢失或者损坏了的控制文件所在路径的目录下,这样启动数据库就能够识别得到控制文件,也就能够恢复数据库了。以下是测试的过程...
非归档模式恢复数据库
在非归档模式下,丢失任意的数据文件并恢复数据库。以下是测试的过程:---查看数据库的归档模式:PROD>archive log list;Database log mode No Archive ModeAutomatic archival  ...
移动表对索引的影响
这里主要测试移动表从一个表空间到另一个表空间或者在同同一个表空间做表移动操作对索引的影响。测试中表明:表的移动(move)会直接导致该表中的索引失效,通过重建索引,重新让索引恢复有效可用的状态。以下是简单的测试过程。---创建测试表:--查看表结构:suxing@PROD>desc mytest Name ...
创建位图索引
位图索引比较少用,它主要运用于数据量不多,创建在重复性大的字段上面。以下是创建一个位图索引的过程,前面的主要是添加字段与约束的过程。---给表yourtest添加字段并创建位图索引:---查看表结构并查看记录:suxing@PROD>desc yourtest; Name &n...
创建B树索引
索引有分B树索引,位图索引等,我们常用的就是B树索引,对于数据量大的表,有索引能够提高查询的效率。其中B树索引也有份普通的B树索引,唯一性(B树)索引。以下是创建B树索引的过程,其实索引创建过程比较简单,主要是能够回运用索引就不简单。----B树索引:--创建普通索引:---查看用户suxing模式下所有的索...
你宁选I/O少还是CPU花销少
近段时间,突然想起了一个例子,非常值得在这里分享一下:(顺便问下如果叫你选择最优的方案,你会选择哪一个?)例子是基于oracle数据库模板用户中的表emp与表dept:(如下)题目要求:查询部门平均工资最高的部门名称和最低的部门名称。(想起有人主张的是:尽量减少同一个表的多次访问,也即避免第一种方案)这个...
oracle内部转换函数杂谈
这里只是作为之前谈论oracle内部函数的一些博文的一些补充。其中包括有转换函数中的日期转字符,数据转字符等等。可以通过以下的例子讲述:----转换函数:---当前时间:sys@PROD>select to_char(sysdate,'yyyy-mm dd hh24:mi:ss') 2 from dual;TO_CHAR(SYSDATE,'YY-----------...
字符函数之Substr(chr,0,m)与Substr(chr,m)的区别
oracle数据库内部函数之中的字符函数,其中substr()算是运用比较多的函数,以下简单通过例子讲述它的一些运用。substr()函数就是用来截取指定字符串中的部分字符。----substr()字符函数:--自定义的例子:Substr(chr,0,m)与Substr(chr,m)的区别:sys@PROD>select substr('ahijdfogo',0,4), &...
不同表结构或者不同数据类型之间的集合操作
本应该说两张表结构不相似的或者表结构相似但数据类型不相同两个表或者多个表不能进行集合查询操作。我们通过以下的测试表明:不同表结构的两个或多个表之间不能进行集合操作,但是数据类型不相同的两个或多个表之间通过转换函数把字段的数据类型统一后,可以进行集合查询操作。----尝试两张不同表结构的表或者相同...
查询集合操作intersect与minus
上一篇博文中已经写到:intersect表示交集,minus表示差集。---把查询hr用户employees表与Scott用户emp表的权限给suxing用户:sys@PROD>grant select on hr.employees to suxing;Grant succeeded. sys@PROD>grant select on scott.emp to suxing;Grant succeeded.#授权成功。 ...
查询集合操作union与union all
查询的集合操作:其中包括4种:union,union all,intersect与minus.其中union是并集去重,union all是并集不去重,intersect是交集,minus表示差集。---创建测试表:suxing@PROD>create table students( 2 stu_id number(4), 3 stu_name varchar2(10), ...
使用in out参数模式的过程
in out模式就是兼备了in与out两种的模式,则既可以作为输入值,被过程调用,也可以作为输出,从过程中调用出来作为结果,通过形参传递给实参。这里的过程例子主要实现两个事情:一是通过三个参数的输入值作为记录插入表dept中,另一个通过参数传递确定部门号的下一个部门号,查询表中的记录。当然当中也扦插一些程序...
使用out参数模式的过程
过程或者函数参数的传递模式有3中:in、out与in out三种。out模式的参数就是作为结果输出的参数。---创建一个使用out参数模式过程:--切换到Scott用户:scott@PROD>show userUSER is "SCOTT" --查看emp表的表结构与数据:--表结构:scott@PROD>desc emp; Name ...
无参过程与无参函数
---创建一个简单的无参过程来显示当前的时间:--调整会话时间的显示格式:sys@PROD>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';Session altered.--创建显示当前时间的过程:sys@PROD>create or replace procedure display_sysdate 2 is 3 &nb...
通过rman全库备份迁移数据库
这一篇文章中,将讲述通过一个rman的完整全库备份来作数据库的迁移。(使用的备份在上一篇博文中:http://blog.itpub.net/31392094/viewspace-2128466/)---设备:主机:oracle (HOST = 192.168.2.4)作为A库:target database: ORA11GR2 (DBID=238796283)主机:enmo (HOST = 192.168.2.6)作为B库:target datab...
完整的全库备份(供数据库迁移用)
这里的讲述一个完整的全库备份:备份中包括全部数据文件,控制文件,参数文件和归档日志文件。这样就可以使用该备份进行数据库迁移。---进入rman:[oracle@oracle ~]$ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Mon Oct 10 17:49:51 2016Copyright (c) 1982, 2011, Oracle a...