【Shutdown】同一会话存在未提交事务时使用immediate选项无法关闭数据库
这是一个事实,当同一会话存在未提交事务时使用immediate选项无法关闭数据库。简单看一下这个现象。1.模拟未提交事务这里为了简便,会话session1直接在sys用户下创建表t进行测试。sys@ora10g>createtablet(xnumber);Tablecreated.sys@or
【问题处理】“NOT IN”与“NULL”的邂逅
今天处理了一个因“NOTIN”与“NULL”邂逅导致的问题,值得思考和总结,记录在此,供参考。(感谢John抛出的问题)我们以实验的形式先再现一下这个问题,然后对其分析,最后给出几种解决方案。1.创建实验表T,并分别初始化三条数据,注意T2表中包含一条空(NULL)数据。sec@ora10g>
【cluvfy】集群验证工具cluvfy使用方法——stage
cluvfy作为集群验证工具在Oracle集群和RAC安装和配置的过程中可以起到非常好的辅助作用,简单看一下这个工具带给我们的功能。1.获取集群验证工具cluvfy的帮助信息RACDB1@rac1/home/oracle$cluvfy-helpUSAGE:cluvfy[-help]cluvfysta
【rsync】使用rsync命令提高文件传输效率
众多数据库服务器的管理过程中,在不同服务器间的文件传输是免不了的。您可以使用scp命令或FTP方法完成文件的发送和接收,这篇文章我将给大家介绍另外一种方法,这就是rsync命令。rsync是文件传输程序,它的功能和算法描述可以参考维基百科中的介绍。参考链接:http://zh.wikipedia.o
【实验】【审计】【FGA】使用Oracle的审计功能监控数据库中的可疑操作
看一下Oracle的审计功能(包括FGA细粒度审计)能给我们带来些什么的强悍效果。我将通过这个小文儿向您展示一下Oracle很牛的审计功能。Followme.1.使用审计,需要先激活审计功能1)查看系统中默认的与审计相关的参数设置sys@ora10g>conn/assysdbaConnecte
【COLUMN】设置表字段默认值仅对未来生效
提问:设置表字段的默认值是否会对已有数据数据进行调整?回答此类问题最有效的方法就是“实践”。设计一个实验进行验证,然后再从原理上进行理解。印象将会深刻。回答:设置表字段的默认值不会对已有数据数据进行调整,只会影响未来字段内容。1.创建测试表T并初始化数据sec@ora10g>createtab
【INDEX_SS】使用HINT使SQL用索引跳跃扫描(Index Skip Scan)方式快速获取数据
索引跳跃扫描(IndexSkipScan)可以使用到复合索引的非前缀索引列,达到改善性能的作用,前提是全表扫面的代价高于索引跳跃式扫描的代价。这里给出使用HINT方法使SQL走索引跳跃扫描的方法。1.初始化环境1)创建表Tsec@ora10g>createtablet(xnumber,ynum
VMware上安装RAC遇到的问题,请指点。【问题已得到处理】
在clusterware快安装完的时候报了如图中的错误。在安装软件的过程中也同样的报此错误。有这方面经验的朋友请指点。在我继续安装之后最终的RAC数据库可以使用,不过还是对此心存疑虑。在我三次成功安装的过程中均有这样的报错。操作系统是:linux5.1oraclecluster版本:10201ora
【Privilege】Oracle系统权限非级联收回现象测试
Oracle权限分为系统权限和对象权限。这里给大家演示一下关于系统权限授予以及回收过程中的一个特殊场景:系统权限非级联收回现象。本实验中共涉及到三个用户:SYS用户、secooler1用户和secooler2用户。1.清理并初始化用户1)清理测试用户secooler1和secooler2sys@se
【DataGuard】主库是否为OMF管理方式对使用Grid Control部署物理DataGuard的影响
本文给出在主库为OMF(Oracle-managedfiles)文件管理方式下,使用GridControl部署物理DataGuard时,在FileLocation配置处与非OMF管理方式下的差异。注:使用GridControl部署安装Oracle物理DataGuard的详细步骤请参见如下文章,这里不
【实验】Select For Update行级锁定
Oracle的SelectForUpdate语句可以实现在读取数据后马上锁定相关资源,防止被其他session修改数据的目的。也就是我们常常谈到的“悲观锁定”(现实应用开发中,使用悲观锁定的情况少之又少,也许是因为乐观锁定的实现更加灵活和便捷的缘故)。这个小文儿做一个小小的实验,来看看SelectF
【探索】【oerr】对oerr出处的一点点探索
oerr可以在Linux和UNIX操作系统上查询简短的报错信息的含义,可以很好的辅助排查Oracle故障。这个小文儿介绍一下这个工具的使用方法,然后从oerr脚本中找点有意思的信息。1.oerr的使用方法[oracle@BJS~]$oerrora1257112571,00000,"TNS:packe
【FGA】因关键字书写不正确导致创建FGA时抛出PLS-00306错误
在创建细粒度审计(FGA)时,请对使用到的参数多加留意,防止因一时疏忽带来的使用不便。本文给出一例因FGA参数书写不当导致的“PLS-00306:wrongnumberortypesofargumentsincallto'ADD_POLICY'”问题。1.初始化环境1)创建用户并授权sys@ora1
【dbv】使用dbv工具检验数据文件是否有坏块
dbv工具可以用来验证数据文件的有效性,在数据库恢复之前可以使用该命令对备份文件进行有效性检查,防止因备份文件本身的问题导致数据库无法恢复。当然,dbv命令也可以对在线的数据文件进行检查。注意,dbv工具只可以对数据文件进行检查,无法使用它完成控制文件和日志文件的检查。1.dbv命令语法dbveri
【Shell】echo与 sqlplus命令相结合快速获得数据库信息
做为一名DBA一定避免不了经常编写各种各样的Shell脚本,这里给大家介绍一种在Shell中快速获得数据库信息的方法。以与数据库进行交互获得数据库版本为例演示一下这个小技巧。1.编写一个只包含一行命令的脚本echo_db_version.shsecooler@secDB/home/oracle$vi
【CONNECT BY】使用connect by level/rownum实现连续数字的插入
在准备测试环境的过程中,经常会遇到需要大量连续数字的情况。在这种需求下我们如何快速地完成数据的准备工作呢?使用文本编辑器编写好初始化的脚本固然可行,但是过于拙笨。Oracle提供的层次查询(HierarchicalQueries)功能中的connectby子句可以协助我们便捷的达到目标。1.创建测试
【实验】【PARTITION】RANGE分区表截断表分区(Truncate Partition)
truncate表的效率有目共睹,那如何truncate分区表呢?请看一下简单的演示:1.语法altertablePartition_Table_Nametruncatepartition/subpartitionPartition_Nameupdateindexes;2.创建分区表并插入数据sec
【层次查询】Hierarchical Queries之处理顺序
有关层次查询之前的文章参考如下。【层次查询】HierarchicalQueries之“树的遍历”http://space.itpub.net/519536/viewspace-623809【层次查询】HierarchicalQueries之LEVEL应用http://space.itpub.net/
【解惑】因xhost命令和DISPLAY环境变量操作不当导致无法启动Oracle图形化安装界面
今天在AIX操作系统上安装Oracle11.1时,遇到在执行runInstaller后无法启动安装图像化界面,甚是郁闷。问题现象:使用Xmanager2.0软件登陆AIX桌面,root用户可以启动xclock钟表,在使用“xhost+”命令后su到oracle用户后便始终无法看到xclock命令对应
【传输表空间】使用 EXPDP/IMPDP工具的传输表空间完成数据迁移
本文通过实践演示,完整模拟一下使用EXPDP/IMPDP工具实现传输表空间的过程,供参考。任务描述:将secdb1实例上的sec用户表空间tbs_sec的数据传输到secdb2实例上secooler用户下。1.secdb1实例环境准备1)创建待操作的表空间sys@secdb1>createta