【ORA-12514】linux下安装11g 客户端连不上[转帖]
l【问题】inux下安装11g,本机可以连通,但其他机器的客户端连不上,错误ORA-12514。【分析】大概推测Listener.ora或者Tnsnames.ora导致此问题。[@more@]1、因为修改了IP地址,所以上面两个文件也都修改了,但问题依旧,2、发现etc/hosts里还是原来IP,修改后,问题照样出现。3、比较listener.ora,发现缺少了红字部分。补齐后,测试通过[oracle@localhost ~]$ vi /u01/oracle/network/admin/listener.ora# listener.ora Network Configuration File: /u01/oracle/network/admin/listener.ora# Generated by Oracle configuration tools.LI
一次truncate table 后的数据恢复[转帖]
使用坏境: oracle11.2+rhce5.5 RAC,归档模式,数据库有1TB容量。 在配置流环境时,因为一个误操作,删除了hz用户下的几个表。在这个数据库上还部署了其它几个用户,停机恢复数据显然是不可能的,分析情况后可以使用下面两种方式来恢复数据。1、把当前库的备份文件和归档日志传到测试机上进行时间点不完全恢复,然后exp导出需要误删除的数据。2、使用duplicate表空间的方式生成辅助数据库,在新库中导出需要的数据。[@more@]这次的数据恢复操作我我使用第一种方式,以下是操作步骤:1、拷贝数据文件和2节点的归档日志文件。由于故障库的备
oracle的执行计划居然出错[转帖]
今天同事发给我一个sql,说查询不到结果,sql本身没有错误。而且在其他服务器上执行可以得到结果。环境如下:SQL> select * from v$version;[@more@]BANNER----------------------------------------------------------------Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit ProductionPL/SQL Release 9.2.0.4.0 - ProductionCORE 9.2.0.3.0 ProductionTNS for Solaris: Version 9.2.0.4.0 - ProductionNLSRTL Version 9.2.0.4.0 - Production表结构:SQL> desc plt_plat Name
NTP时钟同步
系统环境:1、Hp unix 11.232、Suse linux 10[@more@]HP UNIX 配置HP服务端配置1.启动ntp服务# /sbin/init.d/xntpd start 4 Mar 16:02:43 ntpdate[13721]: no server suitable for synchronization found2.查看ntp服务运行状况xntpd # ntpq -premote refid st t when poll reach delay offset disp===================================================================== LOCAL(1) LOCAL(1) 10 l 9 64 1 0.00 0.000 15885.0HP客户端配置1、 检查文件/etc/inetd.conf,看是否有下面的内容ntp d
ORACLERAC+HPMC停止启动文档
最近项目组做了一次停止启动数据库和双机的操作,记录一下:背景描述:项目组共有两个数据库,非实时库是两台机器,做成了ORACLE+RAC+HPMC 实时库是两台机器,ORACLE+HPMC实际操作:[@more@]非实时停止一、 先停止ORACLERAC1. 停止数据库服务和实例查看资源,可以看到RAC正常运行oracle@cpda02 /oracle $ crs_stat -tName Type Target State Host ------------------------------------------------------------ora....01.lsnr application ONLINE ONLINE cpda01 ora
监控目录、主机、进程程序
1.主监控程序monitor.sh#******************************************* ## OS : HP-UX 11.23 ## Remark : 调度系统监控 ## FileName : /home/monitor/bin/monitor.sh ## Author : sunzg ## CreateTime : 2009-01-02 ## Regenerator : yangdongxiao ## UpdateTime : 2010-08-31 ##*********************************************#[@more@]#*********************************************## 目录结构说明 ## ## 脚本 : /home/monitor/bin ## 当次监控信息 : /home/monitor/data ## 未入库的监控信息 : /home/monitor/hisdata ## 日志 : /ho
oracle增加分区的方法
在项目中经常要增加大量的分区,总结了增加分区的方法:1.如果只增加一级分区,没有子分区,可以简单的用如下语句增加:alter table TDW_12580_ORD_REL_TAB_Madd PARTITION M_TDW_12580_201005 VALUES (201005)[@more@]2.如果增加的分区有子分区,则需要先建一个一级分区和子分区,然后用下面的脚本来增加:注意:表名用大写,日期格式为20100801 结束日期为下一个月的1号,如20100901脚本:declare --初始化参数 v_table_name varchar2(30); v_partition_name varchar2(30); v_subpartition_name varchar2(30); v_segmen
备份SCHEMA信息的脚本
#!/bin/ksh###################################################################3LPr9&D#:187]J}>]?bVPschema#,187]5DSC;'C{?IEdVC5=/oradata2/masa/export_schema/exportuser.cfgEdVCND<~VP#,# Hg9{2;4fTZ4KEdVCND<~#,D,HON*5<3vKySPSC;'#ChJv #:# 1.6TSZRl5X187]CBkP^8DPhR*M,2=P^8D4K4&PASSWDKEY="password";# 2.51G0TKPPB7>6#,D,HON*/oradata2/masa/export_schema#,Hg9{2;N*4KB7>6#,PhR*=xPPO`S&P^8D#####################################################
备份表空间并上传磁带库的脚本
#!/bin/sh#应用Oracle用户的环境变量. /oracle/.profile#指定程序安装路径PDIR="/bkda2/expdump/bin/backup/month"#删除历史数据程序路径DDIR="/bkda2/expdump/bin/drop_his"[@more@]#********************# 程序初始化#********************#当前年YY=`date +%Y`#当前月MM=`date +%m`#切换到脚本所在目录cd $PDIRecho "nnn" >./log/backup.log 1>&1echo "Initializing....n===================================" >>./log/backup.log 1>&1#输入需要备份的表空间名#ech
网上搜集的一些关于oraclerac负载均衡的资料[转帖]
虽然在Oracle的立场上,总是建议客户能够更好地规划自己的应用,在有其它负载平衡方法的时候,尽量不要依赖于Oracle的Load Balance方法,但是往往在给客户配置完Oracle RAC数据库以后,客户都会要求要测试负载平衡(Load Balance)和TAF(Transparent Application Failover),并且将这两个测试作为RAC是否安装成功的标准。[@more@]这是一件很无奈的事情,像把旁枝末节看作了主要功能,甚至有些买椟还珠的感觉,但是毕竟这是客户,更了解Oracle Load Balance(后文用LB表示),才可以更好满足客户需求。本文不牵涉TAF(可以参看老熊关于TA
Oracle RAC Failover 详解[转帖]
Oracle RAC 同时具备HA(High Availiablity) 和LB(LoadBalance). 而其高可用性的基础就是Failover(故障转移). 它指集群中任何一个节点的故障都不会影响用户的使用,连接到故障节点的用户会被自动转移到健康节点,从用户感受而言, 是感觉不到这种切换。 Oracle 10g RAC 的Failover 可以分为3种:1. Client-Side Connect time Failover2. TAF3. Service-Side TAF[@more@]注意事项: 不能在listener.ora 文件中设置GLOBAL_NAME, 因为这个参数会禁用Connect-time Failover 和 Transparent Application Failover. 一.Client-Side Connect
分区表移动
如果没有二级分区可以直接移动一级分区,如果有二级分区不可直接移动一级分区--移动二级分区到其它表空间 select 'ALTER TABLE '||t.table_name||' MOVE SUBPARTITION '||t.subpartition_name||' TABLESPACE TBS_DW_NEWS compress;' from user_tab_subpartitions t where t.table_name = upper('TDW_MUSIC_WAP_LOGIN_LOG_H') order by t.partition_name[@more@]--移动一级分区到其它表空间 select 'ALTER TABLE '||t.table_name||' MOVE PARTITION '||t.partition_name||' TABLESPACE TBS_DW_NEWS compress;' from user_tab_partition
VCS集群状态为 STALE_ADMIN_WAIT的解决
今天发现有一VCS集群状态变为 STALE_ADMIN_WAIT,解决方法如下:1.首先查看两台机器的当前状态cp-etl01:/etc/VRTSvcs/conf/config # hastatus -sum-- SYSTEM STATE-- System State Frozen A cp-etl01 STALE_ADMIN_WAIT 0 A cp-etl02 STALE_ADMIN_WAIT 0 [@more@]2.在两台机器上查看当前的进程cp-etl01:/etc/VRTSvcs/conf/config # ps -ef |grep had 查看HA进程root 7243 1 0 2009 ? 00:00:00 /opt
使用DBMS_STATS保存分析结果
在使用DBMS_STATS分析表的时候,我们经常要保存之前的分析,以防分析后导致系统性能低下然后进行快速恢复。首先创建一个分析表,该表是用来保存之前的分析值。[@more@]SQL> begin2 dbms_stats.create_stat_table(ownname => 'TEST',stattab => 'STAT_TABLE');3 end;4 /PL/SQL 过程已成功完成。分析表信息SQL> BEGIN2 --DBMS_STATS.delete_table_stats(ownname => 'TEST',tabname => 'A');3 DBMS_STATS.gather_table_stats(ownname => 'TEST',tabname => 'A');4 END;5 /PL/SQL 过程已成功完成。导出表分析信息到st
RMAN备份归档日志脚本
ORA_STATUA=`ps -ef | grep ora_ | grep -v grep | wc -l`if [ $ORA_STATUA -gt 0 ];then/arch/nbuscripts/hot_archive_backup.shfiexit 0以下是hot_archive_backup.sh的内容:[@more@]#!/bin/sh# $Header: hot_database_backup.sh,v 1.2 2002/08/06 23:51:42 $##bcpyrght#***************************************************************************#* $VRTScprght: Copyright 1993 - 2007 Symantec Corporation, All Rights Reserved $ *#***************************************************************************#ecpyrght## -
RMAN全库备份脚本
ORA_STATUA=`ps -ef | grep ora_ | grep -v grep | wc -l`if [ $ORA_STATUA -gt 0 ];then/arch/nbuscripts/hot_database_backup.shfiexit 0以下是hot_database_backup.sh的内容:[@more@]#!/bin/sh# $Header: hot_database_backup.sh,v 1.2 2002/08/06 23:51:42 $##bcpyrght#***************************************************************************#* $VRTScprght: Copyright 1993 - 2007 Symantec Corporation, All Rights Reserved $ *#***************************************************************************#ecpyrght##
讨厌的MERGE JOIN CARTESIAN
今天开发的同事报说有个存储过程老是跑不过去,帮忙看了一下这个存储过程有两具语句,总是在第二个语句出错SQL如下:[@more@]今天开发的同事报说有个存储过程老是跑不过去,帮忙看了一下这个存储过程有两具语句,总是在第二个语句出错SQL如下:select 201007, t1.prov_id, t2.prov_name, t2.pay_act_num from vgopdw.tb_det_prov t1, (select nvl(tb.prov_name, '全国') prov_name, count(distinct ta.serv_num) pay_act_num from vgopdw.tdw_mtv_uord_cmon_stat_m ta, vgopdw.tdw_number_s
oracle数据值型数据改精度测试
今天,同事问我一个问题,一个字段定义原先是NUMBER(15,2),并且里面的数据都是整数,现在想改成NUMBER做了一个测试:SQL> desc bName Type Nullable Default Comments ---- ------------ -------- ------- -------- COL1 NUMBER(15,2) Y SQL> select * from b;[@more@] COL1----------------- SQL> insert into b values(12); 1 row inserted SQL> insert into b values(11.11); 1 row inserted SQL> commit; Commit complete SQL> select * from b 2 ;
查看一个分区的大小
--查看分区select * from user_tab_partitions t where t.table_name = upper('tdw_ft_active_d')[@more@]--查看子分区信息select * from user_tab_subpartitions t where t.table_name = upper('TDW_FT_CONTACT_H')--查看一个分区的大小select t.segment_name as "表名",t.owner as "用户名",sum(t.bytes)/1024/1024 as "表大小(单位:M)"from dba_segments twhere t.partition_name in ('D_FT_CONTACT_H_20100701','D_FT_CONTACT_H_20100702','D_FT_CONTACT_H_20100703','D_FT_CONTACT_H_20100704','
linux下表空间文件系统移动到裸设备测试
1. 用fdisk划分裸磁盘fdisk /dev/sdbnw[@more@]2. 绑定裸设备 1)先分区:fdisk /dev/sdc比如创建了分区/dev/sdc12)添加裸设备到文件/etc/sysconfig/rawdevices文件中:例如:/dev/raw/raw1 /dev/sdc13)绑定裸设备,并且使之重启也有效:service rawdevices restart可以用命令:raw -qa查看系统绑定了哪些裸设备# raw -qa3. 在文件系统创建表空间并创建一个表,把表空间OFFLINECreate tablespace guyuanli ‘/home/oracle/guyuanli.dbf’ size 16m;Create table guyuanli tablespace guyuanli as select * from dba_objects;Selec