易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : Oracle

Oracle DBA手记之“V$SQL视图显示结果异常的诊断”

本文节选自《Oracle DBA手记——数据库诊断案例与性能优化实践》第2章“Yangtingkun的DBA工作手记” (作者:杨廷琨)
V$SQL视图显示结果异常的诊断
有一次碰到一个很奇怪的问题,在检查会话所执行的SQL时,发现V$SQL视图中SQL_TEXT列中的数据是不正常的。
由于V$SQL是动态性能视图,里面保存的是当前共享池中加载的SQL语句,所以如果这个SQL不是执行很频繁的话,那么它很可能会被替换出共享池。或者数据库意外重启,也会导致这个SQL彻底丢失。那么首要任务就是保留现场,一旦错误不可再现,那么所有的问题就都无从查起了。
将显示异常的V$SQL记录备份到了BAK_V$SQL表中,首先看一下异常的SQL语句:
SQL> SELECT SQL_TEXT from BAK_V$SQL;
SQL_TEXT
----------------------------------------------------------------------------------------
        info.CONTRACT_ITEM_ID,info.BUYER_ORG_ID a
          el未承诺'DISCOUNT_STEP is null or INC.NUM_STEP is null then
            ......

Oracle DBA手记之“V$SQL视图显示结果异常的诊断”

本文节选自《Oracle DBA手记——数据库诊断案例与性能优化实践》第2章“Yangtingkun的DBA工作手记” (作者:杨廷琨)
V$SQL视图显示结果异常的诊断
有一次碰到一个很奇怪的问题,在检查会话所执行的SQL时,发现V$SQL视图中SQL_TEXT列中的数据是不正常的。
由于V$SQL是动态性能视图,里面保存的是当前共享池中加载的SQL语句,所以如果这个SQL不是执行很频繁的话,那么它很可能会被替换出共享池。或者数据库意外重启,也会导致这个SQL彻底丢失。那么首要任务就是保留现场,一旦错误不可再现,那么所有的问题就都无从查起了。
将显示异常的V$SQL记录备份到了BAK_V$SQL表中,首先看一下异常的SQL语句:
SQL> SELECT SQL_TEXT from BAK_V$SQL;
SQL_TEXT
----------------------------------------------------------------------------------------
        info.CONTRACT_ITEM_ID,info.BUYER_ORG_ID a
          el未承诺'DISCOUNT_STEP is null or INC.NUM_STEP is null then
            ......

现在将java调用oracle存储过程的示例总结如下


学生在学习jdbc的时候,会问到怎么调用存储过程,现在将java调用oracle存储过程的示例总结如下。(关于调用sqlserver的存储过程将在下次进行小结请关注)
一:无返回值的存储过程
存储过程为:
•         create or replace procedure adddept(deptno number,dname varchar2,loc varchar2)
•         as
•         begin
•           insert into dept values(deptno,dname,loc);
•         end;
然后呢,在java里调用时就用下面的代码:
•         public class TestProcedure {
•             Connection conn=null;
•             CallableStatement cstmt=null;
•       &n ......

现在将java调用oracle存储过程的示例总结如下


学生在学习jdbc的时候,会问到怎么调用存储过程,现在将java调用oracle存储过程的示例总结如下。(关于调用sqlserver的存储过程将在下次进行小结请关注)
一:无返回值的存储过程
存储过程为:
•         create or replace procedure adddept(deptno number,dname varchar2,loc varchar2)
•         as
•         begin
•           insert into dept values(deptno,dname,loc);
•         end;
然后呢,在java里调用时就用下面的代码:
•         public class TestProcedure {
•             Connection conn=null;
•             CallableStatement cstmt=null;
•       &n ......

sqlserver和oracle常用函数对比

sqlserver和oracle常用函数对比
数学函数
  1.绝对值
  S:select abs(-1) value
  O:select abs(-1) value from dual
  2.取整(大)
  S:select ceiling(-1.001) value
  O:select ceil(-1.001) value from dual
  3.取整(小)
  S:select floor(-1.001) value
  O:select floor(-1.001) value from dual
  4.取整(截取)
  S:select cast(-1.002 as int) value
  O:select trunc(-1.002) value from dual
  5.四舍五入
  S:select round(1.23456,4) value 1.23460
  O:select round(1.23456,4) value from dual 1.2346
  6.e为底的幂
  S:select Exp(1) value 2.7182818284590451
  O:select Exp(1) value from dual 2.71828182
  7.取e为底的对数
  S:select log(2.7182818284590451) value 1
  O:select ln(2.7182818284590451) value from dual; 1
  8.取10为底对数
  S:select log10(10) value 1
  O:select log(10,10) value from dual; 1
  9.取平方
  S:select SQUARE(4) value 16
  O:select power(4,2) value from dual 16
  10.取平方根
  ......

sqlserver和oracle常用函数对比

sqlserver和oracle常用函数对比
数学函数
  1.绝对值
  S:select abs(-1) value
  O:select abs(-1) value from dual
  2.取整(大)
  S:select ceiling(-1.001) value
  O:select ceil(-1.001) value from dual
  3.取整(小)
  S:select floor(-1.001) value
  O:select floor(-1.001) value from dual
  4.取整(截取)
  S:select cast(-1.002 as int) value
  O:select trunc(-1.002) value from dual
  5.四舍五入
  S:select round(1.23456,4) value 1.23460
  O:select round(1.23456,4) value from dual 1.2346
  6.e为底的幂
  S:select Exp(1) value 2.7182818284590451
  O:select Exp(1) value from dual 2.71828182
  7.取e为底的对数
  S:select log(2.7182818284590451) value 1
  O:select ln(2.7182818284590451) value from dual; 1
  8.取10为底对数
  S:select log10(10) value 1
  O:select log(10,10) value from dual; 1
  9.取平方
  S:select SQUARE(4) value 16
  O:select power(4,2) value from dual 16
  10.取平方根
  ......

oracle manager database control invalid start

启动“OracleDBConsole”时---出现“Agent process exited abnormally during initialization.”
在运行"emctl start dbconsole " 发现是找不到指定文件,在网上找了一下原因, 更改的指定文件夹的名称,但还是不能启动服务,结果认真看了一下,是CTRL+C,CTRL+V 然后才启动成功,所以特定写下来,记录下来这些信息;
D:\oracle\product\10.2.0\db_1\localhost_ORCL10G ---CTRL+C,CTRL+V在同一目录,然后更改文失夹名为“计算机名_ORCL10G”
D:\oracle\product\10.2.0\db_1\oc4j\j2ee\OC4J_DBConsole_localhost_ORCL10G---CTRL+C,CTRL+V在同一目录,然后更改文件夹名“OC4J_DBConsole_计算机名_ORCL10G”
--- ......

ORACLE ROWID的一点知识

oracle8的ROWID结构
2004-04-23 15:18 pm
来自:Linux文档
地址:http://linux.sheup.com/linux/linux3983.htm
1、为什么使用ROWID
ORACLE把ROWID作为B-树和其内部算法标示ROW的唯一标示。
在ORACLE8以前的版本中,ROWID标示FILE、BLOCK、ROW NUMBER,只用一个数字代
表FILE号。
在ORACLE8中,一个DATAFILE有两个数字代表:
一个绝对值,是整个数据库唯一的。可以看DBA_DATA_FILES中的FILE_ID。
一个相对值,在TABLESPACE中是唯一的,可以看DBA_DATA_FILES中的RELATIVE_
FNO。
新的ROWID使用相对值,所以必须存放SEGMENT的标示,否则就会混淆。所以ORAC
LE8在ROWID中加入对象的SEGMENT号,用来标示TABLE或者PARTITION。
2、ROWID的结构
使用base-64代码,包括a-z,A-Z,0-9,+,-。一共18位。
1-6位:代表OBJECT
7-9位:文件相对值
10-15:文件中的BLOCK
16-18:BLOCK中的SLOT值
3、TABLESPACE-Relative寻址方式
使用的是TABLESPACE-Relative寻址方式,多个文件可以有相同的相对值,因为它
们属于不同的TABLESPACE,所以不能从新的ROWID得到绝对地址,但是这没有问题
,因为当要处理某个OBJECT时,已经能确定它属于哪个TABLESAPCE了 ......

oracle主键的设置

最近总结了一下oracle主键的设置方法,贴到这保存一下吧。 有两种方法可以设置主键,一种是自增长主键,另一种就是生成唯一序列。 一、自增长主键 --首先建一个表TEST
create tableTEST (
  NID int PRIMARY KEY,
  test1 varchar2(20),
  test2 varchar2(20),
  test3 varchar2(20),
  test4 varchar2(20),
  test5 varchar2(20)
)
-- 再建一个序列SEQ_TEST
create sequence SEQ_TEST
minvalue 1        --最小值
nomaxvalue        --不设置最大值
start with 1      --从1开始计数
increment by1    --每次加1个
nocycle           --一直累加,不循环
nocache;          --不建缓冲区     以上代码完成了一个序列(sequence)的建立过程,名称为SEQ_TEST,范围是从1开始到无限大(无限大的程度是由你机器决定的 ......
总记录数:3994; 总页数:666; 每页6 条; 首页 上一页 [343] [344] [345] [346] 347 [348] [349] [350] [351] [352]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号