摘要:
有时候给一些普通用户授予查询系统对象(例如dynamic performance views)权限时会遇到“ORA-02030: can only select from fixed tables/views”,如下所示: SQL> grant select on v$session to test;grant select on v$session to test ... 阅读全文
随笔分类 - 数据库技术(Oracle)
ORA-12537: Network Session: End of file
2018-12-18 17:04 by 潇湘隐者, 6972 阅读, 收藏,
摘要:
最近开发组同事使用Azure的Function App访问公司内部的Oracle数据库时,偶尔会遇到“ORA-12537: Network Session: End of file”这个错误。关于ORA-12537的详细信息如下: [oracle@DB-Server ~]$ oerr ora 12537 12537, 00000, "TNS:connection closed" // *Cau... 阅读全文
ORACLE中关于表的一些特殊查询语句
2018-11-22 10:57 by 潇湘隐者, 1760 阅读, 收藏,
摘要:
1: 如何判断字段的值里面:那些数据包含小写字母或大小字母 判断字段NAME的值里面有小写字母的记录 方式1: SELECT NAME FROM TEST WHERE regexp_like(NAME,'[[:lower:]]'); 方式2 SELECT NAME FROM TEST WHERE regexp_like(NAME,'[a-z]'); 判断字段NAME... 阅读全文
ORACLE中如何查找定位表最后DML操作的时间小结
2018-11-20 14:33 by 潇湘隐者, 4120 阅读, 收藏,
摘要:
在Oracle数据库中,如何查找,定位一张表最后一次的DML操作的时间呢? 方式有三种,不过都有一些局限性,下面简单的解析、总结一下。 1:使用ORA_ROWSCN伪列获取表最后的DML时间 ORA_ROWSCN伪列是Oracle 10g开始引入的,可以查询表中记录最后变更的SCN。然后通过SCN_TO_TIMESTAMP函数可以将SCN转换为时间戳,从而找到最后DML操作时SC... 阅读全文
Oracle 10g 应用补丁PSU 10.2.0.5.180717
2018-11-04 19:06 by 潇湘隐者, 3672 阅读, 收藏,
摘要:
最近测试了一下在Oracle 10g下面(单实例下面)升级、应用补丁PSU 10.2.0.5.180717,打这个补丁的主要原因是 Oracle 将于 2019年6月启用新的SCN兼容性,并且由于BigSCN的作用,96K每秒的SCN增速,都可能会使得通过DB Link的访问产生SCN过度拉升,所以新的补丁需要被应用。最近(2018年8月份)Oracle 提供了针对 Oracle 10g 最终... 阅读全文
ORACLE如何检查找出损坏索引(Corrupt Indexes)
2018-09-14 11:41 by 潇湘隐者, 1318 阅读, 收藏,
摘要:
在Oracle数据库中如何找出损坏索引呢? 下面我们人为构造一个案例,将索引块损坏。如下案例所示: SQL> create tablespace test_data 2 datafile '/u01/app/oracle/oradata/gsp/test_data_01.dbf' 3 size 200M autoextend off 4 logging 5 segm... 阅读全文
oracle中print_table存储过程介绍
2018-09-03 22:08 by 潇湘隐者, 2460 阅读, 收藏,
摘要:
一直以来,觉得MySQL中使用\G参数改变输出结果集的显示方式非常好用,尤其是在命令行界面。但是ORACLE数据库没有这个功能,今天在搜索到Tom大师的一篇博文时,发现大师用一个存储过程print_table实现了类似这样的功能。只是我们这些凡夫俗子不知道而已,特意整理在此,方便自己或有需要的人以后查看。 CREATE OR REPLACE PROCEDURE print_table(p_q... 阅读全文
ORACLE中内部函数SYS_OP_C2C和隐式类型转换
2018-08-17 09:40 by 潇湘隐者, 4426 阅读, 收藏,
摘要:
什么是SYS_OP_C2C呢?官方的介绍如下: SYS_OP_C2C is an internal function which does an implicit conversion of varchar2 to national character set using TO_NCHAR function. Thus, the filter completely changes as com... 阅读全文
ALTER SYSTEM ARCHIVELOG CURRENT挂起案例
2018-07-05 14:12 by 潇湘隐者, 3417 阅读, 收藏,
摘要:
最近两天,一台ORACLE数据库的作业执行delete_ob_get_epps.sh脚本清理过期备份时,执行下面SQL语句就会被阻塞,在监控工具DPA里面部分截图如下(图片分开截断) sql 'alter system archive log current'; 如上截图所示,会话ID=650的EVENT为Log archive I/O,被阻塞的会话303在... 阅读全文
ORA-19816: WARNING: Files may exist in db_recovery_file_dest that are not known to database
2018-07-04 22:32 by 潇湘隐者, 3 阅读, 收藏,
该文被密码保护。 阅读全文
ORACLE中Scalar subquery Caching的hash table大小测试浅析
2018-06-25 10:20 by 潇湘隐者, 1550 阅读, 收藏,
摘要:
前阵子总结了这篇“ORACLE当中自定义函数性优化浅析”博客,里面介绍了标量子查询缓存(scalar subquery caching),如果使用标量子查询缓存,ORACLE会将子查询结果缓存在哈希表中,如果后续的记录出现同样的值,优化器通过缓存在哈希表中的值,判断重复值不用重复调用函数,直接使用上次计算结果即可。从而减少调用函数次数,从而达到优化性能的效果。另外在ORACLE 10和11中,... 阅读全文
ORACLE如何找到引起账号锁定的IP的一点思考与总结
2018-06-17 08:03 by 潇湘隐者, 1841 阅读, 收藏,
摘要:
在ORACLE数据库中,如果没有修改过FAILED_LOGIN_ATTEMPTS的话,默认10次尝试失败后就会锁住用户。此时再登录数据库,就会遇到ORA-28000: the account is locked SQL> SELECT * 2 FROM DBA_PROFILES 3 WHERE RESOURCE_NAME='FAILED_LOGIN_ATTEMPTS'; P... 阅读全文
记一次坑爹的ORA-01152&ORA-01110错误
2018-06-15 13:39 by 潇湘隐者, 12845 阅读, 收藏,
摘要:
最近做RMAN还原时遇到了一次非常坑爹的ORA-01152&ORA-01110错误。遇到的具体错误信息如下所示: RMAN> alter database open resetlogs; RMAN-00571: RMAN-00569: ERROR MESSAGE STACK FOLLOWS RMAN 阅读全文
RMAN restore fails with ORA-01180: can not create datafile 1
2018-06-15 10:02 by 潇湘隐者, 2807 阅读, 收藏,
摘要:
最近在验证、测试备份有效性时,遇到了“ORA-01180: can not create datafile 1”这个错误,顺便结合metalink的官方文档“RMAN restore fails with ORA-01180: can not create datafile 1 (文档 ID 1265151.1)”里面的内容做一个学习、归纳、总结,顺便加深一下理解。 creating ... 阅读全文
ORACLE中使用ANALYZE引起ORA-00604& ORA-30511&ORA-06512错误Troubleshooting
2018-06-14 16:19 by 潇湘隐者, 6 阅读, 收藏,
该文被密码保护。 阅读全文
ORACLE当中自定义函数性优化浅析
2018-05-28 12:15 by 潇湘隐者, 2473 阅读, 收藏,
摘要:
为什么函数影响性能 在SQL语句中,如果不合理的使用函数(Function)就会严重影响性能,其实这里想说的是PL/SQL中的自定义函数,反而对于一些内置函数而言,影响性能的可能性较小。那么为什么SQL语句当中,不合理的使用函数会影响性能呢? 在SELECT语句中调用函数时,那么查询返回的结果集中的每一行都会调用该函数。如果该函数需要执行1秒,返回的结果集是10行,那么此时SQ... 阅读全文
RMAN命令DELETE操作总结
2018-05-16 15:47 by 潇湘隐者, 10107 阅读, 收藏,
摘要:
本篇总结一下RMAN命令中的DELETE操作,DELETE命令用于删除RMAN备份记录以及相应的物理文件。 To delete physical backups and copies as well as do the following: 1: Update their repository records in the target control file to status DELET... 阅读全文
ORA-07445 with error “found dead shared server 'S000'”
2018-05-15 14:46 by 潇湘隐者, 3 阅读, 收藏,
该文被密码保护。 阅读全文
RMAN-06172 Troubleshooting
2018-03-29 11:43 by 潇湘隐者, 3870 阅读, 收藏,
摘要:
今天在RMAN还原测试过程中,遇到了"RMAN-06172: no autobackup found or specified handle is not a valid copy or piece"这个错误,如下所示: RMAN> restore spfile to pfile "/u01/app/oracle/product/10.2.0/db_1/dbs/initSCM2.ora... 阅读全文
如何定位那些SQL产生了大量的redo日志
2018-03-27 23:04 by 潇湘隐者, 6308 阅读, 收藏,
摘要:
在ORACLE数据库的管理、维护过程中,偶尔会遇到归档日志暴增的情况,也就是说一些SQL语句产生了大量的redo log,那么如何跟踪、定位哪些SQL语句生成了大量的redo log日志呢? 下面这篇文章结合实际案例和官方文档“How to identify the causes of High Redo Generation (文档 ID 2265722.1)”来实验验证一下。 首先... 阅读全文