关于drop user的cascade选项解惑
在数据库中,有时候需要删除用户,大多数时候都需要使用cascade选项,有些时候却不需要,想知道在这个简单的命令之后数据库倒底在干什么,这时候给一些指定的操作加上trace就跟把那层纱布揭开一样,可以很清楚看到数据库倒底在干些什么。10046,sql_trace等都是一些不错的选择。首先来复现一下这个问题。‘创建一个新用...
linux下挂载新硬盘和分区的步骤
今天和大家分享一下在linux下挂载新硬盘的步骤。演示的环境基于centos[root@localhost etc]# uname -aLinux localhost.localdomain 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux[root@localhost etc]# cat system-releaseCentOS release 6.2 (Final)[root@localhost e...
数据库shutdown之后无法启动的问题
最近在已有数据库服务器上又新建了4个数据库实例,目前一共有9个数据库实例。环境搭好以后做检查的时候。根据反馈,有个job报如下的错误。Failed to create connection for url=jdbc:oracle:thin:@xxxxx and dbUser=xxxxxxNested Exception/Error: java.sql.SQLRecoverableException: IO Error: Got minus one fr...
通过top命令抓取cpu高消耗的sql
top命令在linux环境维护中很实用,虽然功能缺失不够sar那么全面。今天和大家分享一个通过top命令来抓取性能sql的案例。通过top命令抓取了如下的信息。pid是3585的进程对应的sql 之前已经确定是性能问题导致的了,所以先放过,可以看看pid是8879的这个进程,出现的不是很“稳定”。可能通过ash,awr不一定能够及时的抓...
关于字符串匹配查找的总结
比如判断一个字符型字段中出现某个字符超过3次的数据行,如果为了简单达到目的,可以直接使用Like来做,SQL> select content from clob_test where content like '%is%is%is%';CONTENT--------------------------------------------------------------------------------this is a test,and it is very useful但是可...
一条sql语句导致的数据库宕机问题及分析
之前分享过一篇博文,是一条sql语句"导致"的数据库宕机,上次是另有原因,这次真碰到一个案例,而且是在重要的环境上,希望大家引以为戒。数据库是基于Linux64的版本,版本是11.2.0.2.0,已经打了最新的psu.数据库的访问用户数大约在1000左右,当时查看服务器的cpu已经是100%了,有大约10个进程都是cpu 100%,数据库逻辑读...
关于TNS-12543: TNS:destination host unreachable的案例
今天在给几个库做映射的时候,用tnsping,有一个库老是有问题,在客户端配置tnsping NFTTESTUsed TNSNAMES adapter to resolve the aliasAttempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.19.198.51)(PORT = 1563))) (CONNECT_DATA = (SERVICE_NAME = NFTTEST)))TNS-1254...
oracle大师的点拨分享
突然想起前段时间和美国一个oracle大师的邮件交流,感觉受益匪浅,大师还是很热心的,为了保护隐私,只说他是oaktable的会员,很有经验而且谦逊的一个人。交流的邮件如下,希望大家也能收到一些感悟。对自己的学习都能有所帮助。Jianrong,I will try to answer your questions with my responses in red italicized typ...
关于数据字典的查询效率优化
最近因为测试需要对一些数据文件做压缩,腾出更多的空间来为其他环境做准备,压缩数据文件,最开始采用了如下的sqlcol name for a40col resizecmd for a80select a.file#,a.name,a.bytes/1024/1024 CurrentMB, ceil(HWM * a.block_size)/1024/1024 ResizeTo, ...
一条sql语句“导致”的数据库宕机问题及分析
最近测试环境需要做一些变更,把测试环境切分成两套环境,存储空间也需要压缩压缩和整理。unix组的人已经开始做空间划分了,然后我们需要在此基础上重建一套环境。有些数据文件使用空间不大,所以准备压缩一下。用了下面的sql语句,结果跑了十几秒中就抛了下面的错误。SQL> set linesize 200SQL> col name for a40SQ...
服务器增加内存后无法重启数据库的问题及解决
前几天生产环境需要做服务器的扩容,把原本64G的内存扩到了128G.然后调整了一些其他的kernel参数,在此基础上需要调整sga的大小,以便分配更多的缓存。环境是11gR2的RAC环境,这时候rac有一个明显的优点就显现出来了,就是没有downtime。一个实例一个实例的改动,调整kernel,db参数都很方便管理。所在的每个服务器只有一个...
jdk版本导致tomcat,eclipse无法启动的问题
这几天从官网 下载了swingweb的demo,是一个打包好的tomcat,里面的jar包和脚本都是完整的,直接启动tomcat就可以,通过命令行java -version可以看到jdk也是安装好的。但是启动tomcat的时候就是报错。提示jdk,jre的配置不对,我检查了几遍,环境变黄没有问题啊。重新设置了JAVA_HOME然后再path,classpath里面重新引...
分区表放入keep pool,recycle pool的问题及解析
因为生产环境的性能瓶颈,经过诊断,给出的结论是需要把几个表和索引放入keep pool,几个索引放入recycle pool.其实放入keep pool 确实对于频繁访问的数据,而且数据量不大的情况下,性能有一定的改善。避免了大量的物理读。大家的大体感觉都是把表放入keep pool,其实在一定的情况下,把索引放入keep pool也有一定的道理,...
临时表空间损坏的修复
最近测试环境需要把一些现有的存储空间匀出一部分来给新增的环境使用。unix组的人很快就空间按照指定的比例重新切分好了。环境交给我的时候,我先把数据库起来,没有任何问题,因为需要到处一个创建用户的语句,就简单执行了一个查询。select dbms_metadata.get_ddl('USER',u.username) from dba_users u WHERE USERNAME ...
sqlplus无法启动的问题及解决
今天性能测试部门的同事问我一个问题,说他跑一个shell脚本调用sqlplus结果报错Error 6 initializing SQL*PlusSP2-0667: Message file sp1<lang>.msb not foundSP2-0750: You may need to set ORACLE_HOME to your Oracle software directory我记得自己之前碰到过类似的问题,也是sqlplus启动不了。参见日志http:/...
redo日志文件学习笔记(一)
关于redo日志文件,今天因为要做redo日志的在线迁移,所以特意做了个简单的总结。1. 如果要把redo的切换信息显示到alert日志中,需要设置个参数。Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> s...
数据库文件的迁移
关于数据库中的文件迁移,需要考虑普通数据文件,redo日志文件(还需要考虑是否为current状态),undo表空间,临时表空间,system,sysaux表空间。文件迁移可以参考下面的伪代码:move_non_system_tablespace ,需要在open状态 {&nb...
excel文件内容导入数据库的问题及解决
今天需要导一些数据,从excel导入到数据库中。没有装现成的plsqldev,只能用sql*loader来弄了。首先我把excel文件的内容转换成csv文件,以逗号分隔,在另存外excel文件的时候有那个选项。然后我在目标库中创建了如下的表。create table sql_summary(sql_time varchar2(100),sql_id varchar2(100),cpu_time varchar2(1...
ORACLE 11g导入9i dump的问题及解决
因为系统迁移,需要将一部分的9i的数据导入11g的库里,目标库是11.2.0.3.0 64位的环境。导入dump的时候,有一个比较大的分区表,需要用导入分区的方式,就写了如下的命令。但是奇怪的是过了一会,抛出来一个imp的错误就完事了。-bash-4.1$ imp n1/n1@testdb tables=TEST_DB:TEST_DB_PAR_P1  ...
alert日志中出现ash size的警告
今天查看数据库的alert日志总出现了如下的警告。Archived Log entry 202 added for thread 1 sequence 202 ID 0x1ed7a02c dest 1:Sat Mar 15 01:37:30 2014Completed checkpoint up to RBA [0xca.2.10], SCN: 267711453Sat Mar 15 01:44:58 2014Active Session History (ASH) performed an emergency flush. This may ...