摘要:
一.NOLOGGING说明在对大表插入数据的时候,经常会用到nologging选项。Nologging并不是不产生redo,nologging+direct只是不会对数据产生redo(但依然有其他的redo)。同理logging+direct下undo也是大大地减少,减少的是数据的undo,这里强调的是数据本身的undo,就如同redo的减少也一样,是数据本身的redo,这和数据库是否产生redo和undo是不同的概念,比如空间分配的redoandundo,这就不是数据本身的变化。在非归档模式下,对于nologging和logging模式,只有使用append,才不会对数据生成redo。在归档 阅读全文
摘要:
一.RMAN还原与恢复基础在RMAN用于中,还原与恢复是两个不同的概念。还原(restore):指访问先前生成的备份,从中得到一个或多个对象,然后在磁盘上的某个位置还原这些对象。恢复(recover):是一个数据库与给定时间点相一致以保证能够打开这个数据库的实际进程,该进程通常是通过应用重做(包括联机重做日志和归档的重做日志)来完成的。数据库中的数据状态对数据库是非常重要的,在数据库启动时要求数据与给定的时间状态一致。如果数据库是一致的,就可以打开这个数据库,如果不一致,就不能打开。通过使用回滚段,就可以在启动和运行数据库时保持这种一致性。正常关闭数据库时,数据文件会再一次一致。Oracle严 阅读全文
摘要:
创建测试表:SQL>createtablet5(idint);表已创建。SQL>insertintot5values(1);已创建1行。SQL>insertintot5values(2);已创建1行。SQL>insertintot5values(3);已创建1行。SQL>insertintot5values(4);已创建1行。SQL>commit;提交完成。多插入一点数据:SQL>begin2foriin1..1000loop3insertintoT5values(10000);4commit;5endloop;6end;7/分析表SQL>ana 阅读全文
摘要:
一. 官网说明 在DBCA 建库的时候,有提示让我们选择连接类型,这里有两种类型:专用服务器模式和共享服务器模式。默认使用专用模式。如下图:Oracle 官方文档对这两种文档的说明如下:About Dedicated andShared Server Processeshttp://download.oracle.com/docs/cd/B28359_01/server.111/b28310/manproc001.htm OracleDatabase creates server processes to handle the requests of user processesconnect 阅读全文
摘要:
Oracle的Undo有两种方式:一是使用undo表空间,二是使用回滚段.我们通过undo_management参数来控制使用哪种方式,如果设为auto,就使用UNDO表空间,这时必须要指定一个UNDO表空间。如果设为manual,系统启动后使用rollbacksegment方式存储undo信息。如果系统没有指定undo_management,那么系统默认以manual方式启动,即使设置了auto方式的参数,这些参数将被忽略。当实例启动的时候,系统自动选择第一个有效的undo表空间或者是rollbacksegment,如果没有有效的可用的undo表空间或者是回滚段,系统使用systemroll 阅读全文
摘要:
一.RMAN备份的一些优点1.RMAN会检测和报告损坏的数据块。2.不需要将表空间置入热备份模式,RMAN就可以连接备份数据库。热备份期间会额外的生成重做日志。3.RMAN会自动跟踪新的数据文件和表空间,这样就不再需要在脚本中添加新的表空间和数据文件。4.RMAN只备份使用过的数据库(直至最高使用标记(Highwatemark)),这样RMAN备份映像通常小于联机备份的备份脚本。5.RMAN提供备份映像的实际压缩。6.RMAN提供自动且方便的备份,还原和恢复操作。RMAN跟踪恢复数据库所需要的所有备份,在要求还原操作时需要使用这些备份,并且只还原必要的对象。7.RMAN可以与第三方介质管理产品 阅读全文
摘要:
1.delete/truncate只删除数据不删除表,索引的结构。drop将删除表的结构及依赖的index/constrain/trigger,依赖于该表的procedure/function将保留,但是变为invalid状态;2.delete是dml,写rollbacksegement,可回滚,速度慢,事务提交之后才生效。在9i满足undo_retention条件下可使用flashback。一次性大批量数据的delete可能导致回滚段急剧扩展从而影响到数据库,慎用,触发trigger。truncate/drop是ddl,隐式提交,不写rollbacksegment,不能回滚,速度快。9i不能 阅读全文
摘要:
一.查看系统表中的用户索引在Oracle中,SYSTEM表是安装数据库时自动建立的,它包含数据库的全部数据字典,存储过程、包、函数和触发器的定义以及系统回滚段。一般来说,应该尽量避免在SYSTEM表中存储非SYSTEM用户的对象。因为这样会带来数据库维护和管理的很多问题。一旦SYSTEM表损坏了,只能重新生成数据库。我们可以用下面的语句来检查在SYSTEM表内有没有其他用户的索引存在。/*Formattedon2010/6/1913:22:46(QP5v5.115.810.9015)*/SELECT*FROMdba_indexesWHEREtablespace_name='SYSTEM 阅读全文
摘要:
有时候,我们想查看表,存储,触发器等对象的定语语句,有以下两种方法:1.查all_source表2.用DBMS_METADATA包。一.通过all_source表先来确认下,通过all_source表可以查看哪些类型的对象:SQL>SELECTdistincttypeFROMALL_SOURCE;TYPE------------PROCEDUREPACKAGEPACKAGEBODYLIBRARYTYPEBODYTRIGGERFUNCTIONJAVASOURCETYPE从以上的结果我们可以看到,我们可以通过该表查询的对象.查看存储过程定义语句:SQL>SELECTtextFROMAL 阅读全文
摘要:
Oracle10g中的RMAN使用程序主要关注的是将磁盘备份作为介质恢复解决方案的最佳方法。随着磁盘价格的下跌,大量的存储区网络(StorageAreaNetwork:SAN)已经在很多数据中心找到了永久的存储空间。随着业务向着价格越来越便宜而容量越来越大的磁盘发展,对RMAN的功能(如Flashback)进行了升级,从而可以最有效的利用可用存储空间。RMAN备份实用程序是按逻辑执行的过程,而写入到磁盘的操作正是Oracle数据库所擅长的工作。因此,当Oracle数据库开始改进磁盘写入功能时,RDBMS也会做相应的工作来改进性能。但是在许多情况下,数据库的大小及其位置都使得它无法备份到磁盘。或 阅读全文