【SQL*Plus】11g中使用SQL*Plus的-S选项依然可以看到“Enter password:”问题
在Oracle 11g版本中使用SQl*Plus的-S选项时,在输入密码步骤里原本不应该有任何提示的密码输入位置出现了“Enter password:”提示信息。这是Oracle 11g版本中的一个瑕疵,简单和Oracle 10g中进行一个比较。1.SQL*Plu...
【SQL*Plus】使用SQL*Plus的-S选项精简输出信息
最常用的SQL*Plus命令行工具本身具有很多选项可供我们使用。建议对每一个选项进行一番尝试,这里以-S选项为例阐述一下。1.SQL*Plus帮助信息中关于-S选项的描述ora10g@secdb /home/oracle$ sqlplus -HSQL*Plus: Relea...
【SQL*Plus】使用11g SQL*Plus的errorlogging选项记录session级别的错误
在Oracle 11g版本的SQL*Plus中提供了一个非常有特色的选项errorlogging。当开启该选项之后,会话级别的错误都会写入到指定表中,是spool选项的有益补充。spool选项会将所有的输出信息都写入到指定文件文件中,这样会...
【NUMBER】Oracle的NUMBER数据类型特点
Oracle的NUMBER数据类型内部使用科学计数法以可变长度格式来存储数据。使用1B存储指数,而另外20B(可变)用于存储该数字剩下的部分。这种存储模式使得NUMBER数据类型可以表示的精度为38位。简单的对Oracle数字类型...
【SQL】Oracle的内连接、左外连接、右外连接及全外连接
理解Oracle的各种连接方法的最有效的方法就是“躬亲”,在实践中去深刻理解内连接,左外连接,右外连接,全外连接的概念的和效果。1.创建测试表并准备测试数据sec@ora10g> create table a (a number(1),b number...
【PARAMETER】获得当前实例的非缺省参数信息
数据库启动以后包含众多的参数,如何获取数据库中哪些是非缺省参数信息?这个信息可以通过V$PARAMETER获得,该动态性能使用中的ISDEFAULT字段标识了该参数是否为系统的缺省参数。1.查询结果sys@ora10g> ...
【SCRIPTS】两种自动化获得Oracle授权语句的脚本
对于DBA来说,一切可以简化操作的尝试都值得鼓励,因为在故障来临的时候,拥有一套顺手高效的脚本可见大大的缩短故障对业务的冲击。这里提供两种快速得到Oracle授权语句的脚本,供参考。1.第一种获取Oracle授权语句...
【SQL】行列转换方法示例
一、行变列1.创建测试表test,并初始化实验数据sec@ora10g> create table test (name_id varchar2(10), name varchar2(10));sec@ora10g> insert into test values ('01','Andy1');sec@ora10g> insert in...
【DBMS_RANDOM】从 DBMS_RANDOM创建脚本获得随机信息的生成方法
1.使用desc命令查看dbms_random包的内容sys@ora10g> desc dbms_randomPROCEDURE INITIALIZE Argument Name &n...
【NUMBER】有关Oracle NUMBER类型定义中precision和scale的测试和总结
NUMBER数据类型的定义格式是:NUMBER(p,s)。本文对定义中的p(precision)和s(scale)做一个解释和总结。1.官方文档中有关NUMBER数据类型的描述p is the precision, or the total number of significant decimal di...
【VPD】使用Oracle VPD(Virtual Private Database)限制用户获取数据的范围
VPD全称Virtual Private Database,这个技术提供了对数据库信息的细粒度访问控制。关于VPD的更多描述性信息可通过Oracle官方文档获得:http://download.oracle.com/docs/cd/B19306_01/network.102/b14266/apdvpoli.h...
【Shell】echo与 sqlplus命令相结合快速获得数据库信息
做为一名DBA一定避免不了经常编写各种各样的Shell脚本,这里给大家介绍一种在Shell中快速获得数据库信息的方法。以与数据库进行交互获得数据库版本为例演示一下这个小技巧。1.编写一个只包含一行命令的脚本echo_db_v...
【脚本编辑】每一千行UPDATE语句后插入一条COMMIT语句的编辑方法
提问:如何在一个具有几万行update语句的脚本中实现每1000条SQL语句后面输入一个“commit;”语句?思考时间……继续思考…………几种方法,抛砖在此,待玉到来。1.如果喜欢使用Vi的朋友可以尝试如下命令:%s/\v(.*\n)...
【LOB】使用USER_LOBS视图获得当前用户包含LOB字段的表
包含LOB类型字段的表往往需要特殊关照,如何快速的获得包含LOB对象的数据库表?使用DBA_LOBS、ALL_LOBS和USER_LOBS视图可以很方便地获得包含BLOB或CLOB字段的表。简单看一下效果。1.创建两个包含LOB类型字段的表T1和...
【LOCK】11g中允许DDL锁等待DML锁
11g中使用DDL_LOCK_TIMEOUT参数可以允许DDL锁等待DML锁,在这个技术没有被引入的时候,DDL操作将不等待DML操作,直接给出“ORA-00054”报错信息。1.创建测试表Tsec@11gR2> create table t (x number);Table created....
【SQL】时间递增的两种方法
经常被问到:如何对现有的日期字段增加一秒钟、增加一分钟、增加一小时、增加一天等。这里给出两种方法,供参考。1.增加一秒钟sec@ora10g> select to_date('20100514000000','yyyymmddhh24miss'),to_date('201005140...
【SQL】实现每隔一分钟插入一条数据
需求:如何简单的在一张表中瞬间初始化好一连续数据,规则为时间间隔为一分钟的的DATE类型数据。我们使用层次查询技术来完成这个貌似很“复杂”的需求。1.创建测试表T,仅包含一个时间字段TIMEsec@ora10g> creat...
【TABLE】11g中只读表(Read-only Table)技术特性
Oracle 11g中可以将一个表从普通表修改为只读表,在这种只读状态下,表的操作被限制,具体的限制如下:不允许增删改DML操作;不允许select ... for update悲观锁定;不允许影响只读表T数据的DDL操作;允许索引操作。...
【函数参数】Oracle 11g中使用“=>”显式指明函数参数名与参数值的对应关系
11g中可以使用“=>”完成函数参数的数据指定。如果在11g中编写脚本或程序,可以使用这个小技巧在调用函数时给出参数名字与参数值的对应关系,方便阅读的同时也提高了错误排查的效率,更重要的是,我们因此有了更大的...
【SQL*Plus】11g版本对 SQL*Plus错误日志的记录功能——errorlogging参数
Oracle 11g中的errorlogging参数增强了错误信息的记录功能,可以做到错误信息“落地”的功能。1.Oracle版本信息sys@11gR2> select * from v$version;BANNER---------------------------------------------------...