存在多个tnsnames文件也会引起连接错误
今天处理了一个tnsnames文件配置的问题,让我又想起一个跟tnsnames文件相关的知识点tnsnames文件是可以存在多个路径下面,oracle会根据顺序选择下面我们模拟一下$HOME/.tnsnames.ora/etc/tnsnames.ora$ORACLE_HOME/network/admin/tnsnames.ora+++我们默认都会去配置这个文件这三个位置的优先顺序...
tnsnames配置缺少空格导致的ORA-12154
今天一位网友找我说用sqlplus远程连接总是报错,连接不上,最终检查发现是他本机的tnsnames文件配置格式不对导致的以下是我模拟的环境,如下:[oracle@localhost admin]$ sqlplus scott/tiger@goolenSQL*Plus: Release 11.2.0.1.0 Production on Thu Dec 26 20:23:45 2013Copyright (c) 1982, 2009, Oracle. ...
ORA-01578: ORACLE data block corrupted
今天在测试库上创建表的时候,报了个错误SQL> create table abc as select * from dba_objects;create table abc as select * from dba_objects *ERROR at line 1:ORA-01578: ORACLE data bl...
单实例oracle从文件系统迁移到ASM
今天需要在asm环境下测试一个工具,手头缺少asm环境的测试库,故把一个文件系统上的单实例迁移到asm上来做测试,顺便记录一下安装配置asm实例的步骤这里不再重复1,查看asm实例状态[oracle@goolen ~]$ export ORACLE_SID=+ASM [oracle@goolen ~]$ sqlp...
ORA-00600(kkdoilsn1)
今天DG备库报600错误Tue Dec 10 17:04:49 2013Errors in file /tol/app/oracle/admin/coredb/diag/rdbms/dg_111/coredb/trace/coredb_ora_29573.trc (incident=68329):ORA-00600: 内部错误代码, 参数: [kkdoilsn1], [], [], [], [], [], [], [], [], [], [], []Incident details in: /tol/app/oracle/admin/cored...
bbed修改varchar数据
bbed更改data block里的varchar型数据此实验只是为了熟悉bbed用法和data block块的结构,在实际工作中这样的修改没有太大的实际意义SQL> show userUSER is "SCOTT"SQL> create table goolen (id number,name varchar2(50));Table created.SQL> insert into goolen values(1,'你是猪');1 row created.SQL...
12c online move datafile
oracle12C可以实现在线move数据文件,使得我们rename file方便了很多SQL> select file#,name from v$datafile; FILE# NAME---------- ------------------------------------------------------------------------------------- 1 /opt/app/oracle/oradata/ORA...
12c DDL logging
oracle在12c中引入了ddl logging的功能此功能有初始化参数enable_ddl_logging控制,默认为FALSE,设置为TRUE后,oracle会将执行的ddl语句记录到一个log日志里面我们来测试一下SQL> select * from v$version;BANNER  ...
Clustering Factor过高导致查询没走索引
昨天遇到一个sql,查询一直没走索引,而走的全表扫描,检查是因为群集因子太高导致不走索引,表的行数(NUM_ROWS=135,352,160),(Clustering Factor=110,160,620)解决方法:把索引相对的列进行排序存储,减少群集因子重建索引是不能改变群集因子大小的集群因子反映了数据相对于索引的列是否有序集群因子...
延迟standby端的日志应用
最近领导要搞读写分离,测试阶段需要设置日志应用延迟来达到测试目的总结了几条可以实现日志延迟的方法:方法1: 在备库指定delay属性alter database recover managed standby database delay 10 disconnect from session; --备库延迟10分钟应用主库日志方法2: log_ archive_dest_n参数中指定了delay属性alter ...
direct path read新特性导致buffer_pool keep失效
最近朋友遇到一个问题,有个表迁到11g后,之前设置buffer_pool keep失效了,每次查询都有很大的物理读经过检查发现是11g的新特性direct path read导致的这个特性其实就是oracle在扫描一个大表的时候,会将数据直接读取到pga中,而不经过sga,所以就造成了buffer_pool keep没有生效的问题oracle通过参数_small_table_thre...
bbed修改一个事务的状态
这个实验,我们演示怎么使用bbed工具来修改一个事务的状态模拟环境:Session A:创建一个表,更新其中一行,但是不提交SQL> create table goolen as select object_id id,object_name name from user_objects where rownum <=3;Table created.SQL> col name for a35SQL> set lines 120SQL> select * from goolen;&n...
physical standby 归档出现gap的解决办法
今早发现有一套DG环境的备库归档出现gap,主库上的也没有了遇到这种情况其实不用重新配置从库,只要在主库上做个增量,在standby库上恢复一下就可以了。Media Recovery Waiting for thread 1 sequence 8317Fetching gap sequence in thread 1, gap sequence 8317-8317FAL[client]: Failed to request gap sequence...
bbed copy修复坏块和delete的数据
我们来模拟一下非系统表空间数据文件出现坏块,或者误删除数据后使用bbed的copy命令来恢复的实验,前提是我们有之前此数据文件的备份,因为我们需要从老数据文件中copy block来恢复SQL> create table goolen as select object_id,object_name,object_type from dba_objects where rownum <=400;Table created.SQL> selec...
row_number rank dense_rank函数
一个sql看清这三个函数的区别:SQL> select 2 dname, 3 ename, 4 sal, 5 row_number() over(partition by dname order by sal desc) as row_number, 6 rank() over(partition by dname order by sal desc) as rank_umber, 7 de...
使用BBED修改表数据
bbed可以直接修改block上的内容模拟环境:SQL> select * from goolen; ID NAME---------- -------------------- 1 GOOLEN 2 ORACLESQL> select 2 dbms_rowid.rowid_relative_fno(rowid) file_number,...
使用BBED恢复delete删除的数据
表中的数据被delete后,其实数据并没有真正的删除,oracle只是把这一行打了一个删除的标记,虽然数据还在,但是此行所占用的空间是可以被其他数据覆盖的,所以恢复也有一定限制下面我们来模拟一个环境[oracle@localhost xiaoming]$ sqlplus scott/tigerSQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 23 1...
ORA-14450: attempt to access a transactional temp table already in use
今早遇到一位网友,要给一个临时表添加字段的时候报ORA-14450: attempt to access a transactional temp table already in use错误其实遇到这种错误,肯定是这个表被其他session占用,如其他session正在对这个表DML,这种情况通过查询V$LOCKED_OBJECT试图,关联上V$session,一般就能查到是什么session在操作这张表了...
DDL_LOCK_TIMEOUT
最近又看了一遍11g的一些新特性,其实有的在工作中还是挺有用也很常用的,记录一下DDL_LOCK_TIMEOUT PropertyDescriptionParameter typeIntegerDefault value0Modifiable...
ORA-27369: job of type EXECUTABLE failed with exit code: Permission denied
新加的一个SCHEDULER作业,用普通用户执行报权限不足作业上线后alter日志里面报:ORA-12012: error on auto execute of job 318537ORA-27369: job of type EXECUTABLE failed with exit code: Permission deniedTue Oct 15 10:31:00 2013trace文件里记录:*** 2013-10-15 10:30:10.920*** SESSION ID:(717.33910) ...