ORA-12519 错误解决
客户端连接间歇性失败,报错ORA-12519OERR: ORA-12519 TNS:no appropriate service handler found[@more@]Error: ORA-12519 / TNS-12519Text: TNS:no appropriate service handler found ---------------------------------------------------------------------------Cause: the listener could not find any available service handlers that are appropriate for the client connection. Action: run "lsnrctl services" to ensure that the instance(s) have registered with the listener, and are accepting connections.
locally managed tablespace
locally managed tablespace 使用bitmap来管理tablespace extent. bitmap存储在每个文件的文件头中。每个extent占据bitmap中的一个bit.管理extent的方式:autoextent(由oracle来自动管理),和uniform(通过表级存储参数) [@more@]A tablespace that manages its own extents maintains a bitmap in each datafile to keep track of the free or used status of blocks in that datafile. Each bit in the bitmap corresponds to a group of blocks. When an extent is allocated or freed for reuse, Oracle changes the bitmap values to s
oracle x$table
V$fixed_table中可以查到所有的X$TABLE的名字。[@more@]可以用如下脚本进行基本查看X$ 表的基本信息:SELECT NAME x$table_name FROM v$fixed_table WHERE NAME LIKE 'X$%' ORDER BY NAME; 也可以通过 Unix 的 strings 命令抽取 oracle 命令里的 X$ 表的信息。$ strings $ORACLE_HOME/bin/oracle >xtable.sql 然后查看 xtables.sql 文件的内容。一些特定的缩写的含义X$KS - Kernel Services X$KSL - Kernel Service Latch X$KC - Kernel Cache X$KQ - Kernel Query X$KQ - Kernel Generic X$LE - Lock Element X$
CBO 统计值存放和 字符串的selectivity 计算
oracle 统计数据存放于:user_tables, user_tab_columns, user_tab_cols(including virtual columns), user_tab_histograms.计算selectivity / cardnality 非常重要。提供user_tab_columns.low_value和user_tab_columns.high_value的转换函数。 字符串做范围查找时,需要根据编码转换成数字,提供此函数cbo_char_value。[@more@]自定义函数:VALUE_TO_DATEVALUE_TO_NUMBERVALUE_TO_VARCHAR2cbo_char_valueSQL> desc t1 ?? ????? ?? ----------------------------------------- -------- --------
ORACLE RAC 用于INTERCONNECT 的内网卡的物理连接方式的利弊
ORACLE RAC 用于INTERCONNECT 的内网卡的物理连接方式的选择:采用交换机连接或是网线直连。itpub讨论中谈到直连的弊端,一旦一个节点机的内网卡出现故障,oracle从OS得到两个节点的网卡状态都是不正常的,因而会导致两个实例都宕掉。下面是讨论过程:[@more@]biti说:从理论上来推测 这里面要注意区分 使用switch 和 直连 的情况:如果使用交换机,拔掉a的,b 会知道自己是活的,a 知道自己出问题了。那么b能提供服务,a将不能提供服务,应该选择down掉是合理的选择。如果是直连,可能出现 brain split,两个节点都不能正常提供服务。但k
varitas 备份到带库的全库备份脚本
使用rman nocatalog 备份到带库, varitas 备份软件的备份全库脚本:oracle@tjgM85:/usr/openv/netbackup/ext/db_ext/oracle/samples/rman> more hot_database_backup.sh [@more@]#!/bin/sh# $Header: hot_database_backup.sh,v 1.9 2002/02/06 16:48:56 lstrub Stab $##bcpyrght#***************************************************************************#* $VRTScprght: Copyright 1993 - 2002 VERITAS Software Corporation, All Rights Reserved $ *#***********************************************************************
number/date/varchar2类型字段做range scan 的selectivity计算
oracle按照standard formula计算cost,当对于number/date类型字段做range scan, oracle都可以得到比较准确的selectivity. (之所以说是比较准确而非正确,因为虽然我们的数字、日期实际是离散的,但oracle optimizer认为是连续的,所以我们想查询2002-12-30-2003-01-05在2000-2004年(共1827天)中的selectivity,期望是7/1827,但oracle并不会这样计算)。[@more@]若以number类型存储年月日yyyymmdd 计算结果为:standard fomula:selectivity=(required range) / (high value - low value) + 2/num_distinct=(20030105-20021230)/(20041