04 2013 档案

摘要:IBM/AIX 下找到占用指定端口的进程并杀死它零、Windows下的方法> netstat -ano | find "1521"TCP 0.0.0.0:1521 0.0.0.0:0 LISTENING 2024> taskkill /pid 2024一、相关方法的参考资料(转载)1:首先根据端口号# netstat -A | grep 1099返回f1000089c27a2358 tcp4 0 0 *.389 *.* LISTEN 2:移除sock# rmsock f100089c27a2358 tcpcbThe socket ... 阅读全文
posted @ 2013-04-29 22:48 wilson.han 阅读(886) 评论(0) 推荐(0) 编辑
摘要:Oracle 判断 并 手动收集 统计信息 脚本 分类: Oracle Performance 2011-05-25 20:31 2882人阅读 评论(0) 收藏 举报oraclestatisticsexceptionsql数据库table一. 说明在之前的blog: Oracle Statistic 统计信息 小结 http://blog.csdn.net/tianlesoftware/archive/2009/10/15/4668723.aspx 里对统计信息的收集有说明, Oracle 的Automatic Statistics Gathering 是通过Scheduler 来实现收集和 阅读全文
posted @ 2013-04-29 22:19 wilson.han 阅读(358) 评论(0) 推荐(0) 编辑
摘要:之前对ORACLE中的变量一直没个太清楚的认识,比如说使用:、&、&&、DEIFINE、VARIABLE……等等。今天正好闲下来,上网搜了搜相关的文章,汇总了一下,贴在这里,方便学习。==================================================================================在oracle 中,对于一个提交的sql语句,存在两种可选的解析过程, 一种叫做硬解析,一种叫做软解析.一个硬解析需要经解析,制定执行路径,优化访问计划等许多的步骤.硬解释不仅仅耗费大量的cpu,更重要的是会占据重要的们闩(la 阅读全文
posted @ 2013-04-27 17:00 wilson.han 阅读(560) 评论(0) 推荐(0) 编辑
摘要:先基于以下文档静默安装好Oracle11gR2软件后, 现开始静默建库.1.1静默配置监听通过response文件运行netca,生成sqlnet.ora和listener.ora文件,位于$ORACLE_HOME/network/admin目录下:#su-oracle$$ORACLE_HOME/bin/netca/silent/responsefile$DISTRIB/response/netca.rsp$ll$ORACLE_HOME/network/admin/*.ora$lsnrctlstatus执行完后,监听就已经启动了,默认端口是1521,默认是动态监听,只要实例启动了就会监听到. 阅读全文
posted @ 2013-04-26 23:36 wilson.han 阅读(775) 评论(0) 推荐(0) 编辑
摘要:一、监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。二、本地服务名(Tnsname) Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。Oracle常用的客户端配置就是采用的本地服务名,本文中.. 阅读全文
posted @ 2013-04-19 21:18 wilson.han 阅读(247) 评论(0) 推荐(0) 编辑
摘要:oracle DBA 常用监控脚本1(转)一、数据库构架体系 1、表空间的监控是一个重要的任务,我们必须时刻关心表空间的设置,是否满足现在应用的需求,以下的语句可以查询到表空间的详细信息SELECT TABLESPACE_NAME,INITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENTS, MAX_EXTENTS,PCT_INCREASE,MIN_EXTLEN,STATUS, CONTENTS,LOGGING, EXTENT_MANAGEMENT, -- Columns not available in v8.0.x ALLOCATION_TYPE, -- Remove t 阅读全文
posted @ 2013-04-17 23:06 wilson.han 阅读(552) 评论(0) 推荐(0) 编辑
摘要:1. 监控事例的等待select event,sum(decode(wait_Time,0,0,1)) "Prev",sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot"from v$session_Waitgroup by event order by 4;2. 回滚段的争用情况select name, waits, gets, waits/gets "Ratio"from v$rollstat a, v$rollname bwhere a.usn = b.usn; 阅读全文
posted @ 2013-04-17 23:03 wilson.han 阅读(156) 评论(0) 推荐(0) 编辑
摘要:--监控索引是否使用alter index &index_name monitoring usage;alter index &index_name nomonitoring usage;select * from v$object_usage where index_name = &index_name;--求数据文件的I/O分布selectdf.name,phyrds,phywrts,phyblkrd,phyblkwrt,singleblkrds,readtim,writetimfrom v$filestat fs,v$dbfile dfwhere fs.file# 阅读全文
posted @ 2013-04-17 23:01 wilson.han 阅读(226) 评论(0) 推荐(0) 编辑
摘要:TKPROF使用学习Tkprof工具可用来格式化sql trace产生的文件,让你更容易看懂trace的内容用法:tkprof tracefile outputfile [explain= ] [table= ] [print= ] [insert= ] [sys= ][sort= ] ...参数说明:tracefile:你要分析的trace文件outputfile:格式化后的文件explain=user/password@connectstringtable=schema.tablename 注1:这两个参数是一起使用的,通过连接数据库对在trace文件中出现的每条sql语句查看执行计划,并 阅读全文
posted @ 2013-04-17 22:56 wilson.han 阅读(204) 评论(0) 推荐(0) 编辑
摘要:从Oracle Database 10g开始,Oracle在建库后就默认创建了一个名为GATHER_STATS_JOB的定时任务,用于自动收集CBO的统计信息。这个自动任务默认情况下在工作日晚上10:00-6:00和周末全天开启。调用DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC收集统计信息。该过程首先检测统计信息缺失和陈旧的对象。然后确定优先级,再开始进行统计信息。可以通过以下查询这个JOB的运行情况:select * from Dba_Scheduler_Jobs where JOB_NAME ='GATHER_STATS_JOB'其实同 阅读全文
posted @ 2013-04-17 22:47 wilson.han 阅读(602) 评论(0) 推荐(0) 编辑
摘要:1 运行SQLPLUS工具 sqlplus 2 以OS的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入SQLPLUS命令提示符 sqlplus /nolog 5 在命令提示符以OS身份连接 connect / as sysdba 6 以SYSTEM的身份连接 connect system/xxxxxxx@服务名 7 显示当然用户有哪些表 select * from tab; 8 显示有用户名和帐户的状态 select username,account_status from dba_users; 9 将SCOTT帐号解锁(加锁) alter user 阅读全文
posted @ 2013-04-17 22:45 wilson.han 阅读(289) 评论(0) 推荐(0) 编辑
摘要:如果要灵活的实现限制IP访问ORACLE数据库,最好使用登陆触发器的方式来实现。 下面的方式对于限制单个IP地址访问ORACLE数据库比较方便,但是对于实现一个网段的IP访问数据库就有点繁琐了, 因为这种方法需要把IP地址一个一个的列出来。 通过在SQLNET.ORA中增加如下的语句即可实现IP的限制: tcp.validnode_checking = yes //开启IP限制 tcp.invited_nodes=() //允许访问的IP列表,各IP之间用逗号分隔 tcp.excluded_nodes=() //限制访问的IP列表,各个IP之间用逗号分隔 本次测试的环境说明如下: 数据库服务. 阅读全文
posted @ 2013-04-15 22:19 wilson.han 阅读(842) 评论(0) 推荐(0) 编辑
摘要:oracle建表、建主键、外键基本语法-创建表格语法: create table 表名( 字段名1 字段类型(长度) 是否为空, 字段名2 字段类型 是否为空);-增加主键 alter table 表名 add constraint 主键名 primary key (字段名1);-增加外键: alter table 表名 add constraint 外键名 foreign key (字段名1) references 关联表 (字段名2);在建立表格时就指定主键和外键 create table T_STU ( STU_ID char(5) not null, STU_NAME varcha.. 阅读全文
posted @ 2013-04-15 22:07 wilson.han 阅读(1310) 评论(0) 推荐(0) 编辑
摘要:在Oracle中查看所有的表:select * from tab/dba_tables/dba_objects/cat;看用户建立的表 : select table_name from user_tables; //当前用户的表select table_name from all_tables; //所有用户的表select table_name from dba_tables; //包括系统表select * from user_indexes //可以查询出所有的用户表索引查所有用户的表在all_tables主键名称、外键在all_constraints索引在all_indexes但主键也 阅读全文
posted @ 2013-04-15 22:04 wilson.han 阅读(1030) 评论(0) 推荐(0) 编辑
摘要:Oracle的HINT可以强制指定SQL的执行计划,比如选择索引、表的连接顺序以及表的连接方式等等。不过如果查询的是视图,使用HINT就变得麻烦一些。看一个具体的例子吧:SQL> CREATE TABLE T1 (ID NUMBER, NAME VARCHAR2(30), TYPE VARCHAR2(30));表已创建。SQL> CREATE TABLE T2 (ID NUMBER, NAME VARCHAR2(30), TYPE VARCHAR2(30));表已创建。SQL> CREATE INDEX IND_T1_NAME ON T1 (NAME);索引已创建。SQL&g 阅读全文
posted @ 2013-04-15 21:58 wilson.han 阅读(300) 评论(0) 推荐(0) 编辑
摘要:环境:OS:Red Hat Linux As 5DB:10.2.0.4我们知道判断一个索引的好坏可以通过该索引的clustering_factor高低来衡量,clustering_factor越低,索引的使用效果就越好,那怎么样才能降低索引的clustering_factor呢,通常使用的方法是让表的索引字段值按顺序存储,下面通过一个例子说明.1.创建表并构造无序的数据create table scott.tb_index_test( id number not null, name varchar2(30));create index scott.idx_tb_index_test on s 阅读全文
posted @ 2013-04-15 21:47 wilson.han 阅读(256) 评论(0) 推荐(0) 编辑
摘要:把数据从一个表复制到另一个表,插入新数据或替换掉老数据是每一个ORACLE DBA都会经常碰到的问题。在ORACLE9i以前的年代,我们要先查找是否存在老数据,如果有用UPDATE替换,否则用INSERT语句插入,其间少不了还有一些标记变量等等,繁琐的很。现在ORACLE9i专为这种情况提供了MERGE语句,使这一工作变得异常轻松。MERGE语句的语法如下:MERGE [hint] INTO [schema .] table [t_alias]USING [schema .] { table | view | subquery } [t_alias]ON ( condition )WHEN M 阅读全文
posted @ 2013-04-15 21:31 wilson.han 阅读(396) 评论(0) 推荐(0) 编辑
摘要:一、资源管理器(DRM)由三个要素组成:资源消费群(resource_consumer_group)资源计划(resource_plan)资源计划指令(resource_plan_directive)执行与DRM有关的操作,必须具有 administer_resource_manager 系统权限。二、未决域(pending area)DRM的三个要素都必须创建在未决域中,然后提交。1、创建未决域exec dbms_resource_manager.create_pending_area;2、验证未决域exec dbms_resource_manager.validate_pending_ar 阅读全文
posted @ 2013-04-15 21:29 wilson.han 阅读(352) 评论(0) 推荐(0) 编辑
摘要:0、数据库参数属性col PROPERTY_NAME format a25col PROPERTY_VALUE format a30col DESCRIPTION format a100select * from database_properties;select * from v$version;1、求当前会话的SID,SERIAL#SELECT Sid, Serial# FROM V$sessionWHERE Audsid = Sys_Context('USERENV', 'SESSIONID');2、查询session的OS进程IDSELECT p.Sp 阅读全文
posted @ 2013-04-15 11:39 wilson.han 阅读(498) 评论(0) 推荐(0) 编辑
摘要:【转】Oracle中DUMP的转储方法什么是DUMP:DUMP是一个动词,它代表一种操作,说的简单一点,拿内存举例,就是原封不动的把某一片内存给展现出来。拿跟踪举例,就是它原始的展示了Oracle处理某个问题的过程。大家在学习研究ORACLE的过程中,为了更深入的了解内部的机制,免不了要经常DUMP来研究学习。Oracle 11g的Trace文件存放路径:oracle\diag\rdbms\**\**\trace1、DUMP出控制文件alter system (session) set events 'immediate trace name controlf level 10' 阅读全文
posted @ 2013-04-12 00:06 wilson.han 阅读(368) 评论(0) 推荐(0) 编辑
摘要:转帖 - alter system/session set events的使用2011-08-05 10:47:55|分类: 数据库技术 |标签: |字号大中小订阅格式:alter system|session set events ‘[eventnumber|immediate] trace name eventname [forever] [, level levelnumber] : …….’通过:符号,可以连续设置多个事件,也可以通过连续使用alter session set events来设置多个事件。格式说明:eventnumber指触发dump的事件号,事件号可以是Oracle错 阅读全文
posted @ 2013-04-11 23:52 wilson.han 阅读(258) 评论(0) 推荐(0) 编辑
摘要:数据库优化oracle存储工作磁盘 作为数据库管理员来说,要在表上建立索引很简单。但是要知道这个索引是否合适、如何优化索引则就具有一定的难度。这项工作也是用来评价一个数据库管理员是否算得上专家的一个重要指标。那么为什么索引优化有这么大的难度呢?这主要是因为索引优化是考察一个数据库管理员经验的时候。笔者今天就跟大家分享一下这方面的管理经验。 其实在数据库中本身就提供了一些比较有参考价值的信息,可以帮助管理员来做好索引的设计与优化。二元高度就是Oracle数据库中帮助数据库管理员来做好这个工作的工具。什么叫做二元高度呢?说实话笔者也不了解这个名词具体代表的含义。只知道索引二元高高度对把Rowi.. 阅读全文
posted @ 2013-04-11 22:51 wilson.han 阅读(211) 评论(0) 推荐(0) 编辑
摘要:Oracle Index 介绍 2009-07-30 15:42:06|分类: Oracle |标签: |字号大中小订阅Oracle Index 介绍概述 索引在各种关系型数据库系统中都是举足轻重的组成部分,其对于提高检索数据的速度起至关重要的作用。在Oracle中,索引基本分为以下几种:B*Tree索引,反向索引,降序索引,位图索引,函数索引,interMedia全文索引等。Oracle提供了大量索引选项。知道在给定条件下使用哪个选项对于一个应用程序的性能来说非常重要。一个错误的选择可能会引发死锁,并导致数据库性能急剧下降或进程终止。而如果做出正确的选择,则可以合理使用资源,使那些已经运行了 阅读全文
posted @ 2013-04-11 22:49 wilson.han 阅读(260) 评论(0) 推荐(0) 编辑
摘要:1,切换日志文件: 1.1, 切换前: SQL> select group#,sequence#,bytes,members,status from v$log; GROUP# SEQUENCE# BYTES MEMBERS STATUS---------- ---------- ---------- ---------- ---------------- 1 215 52428800 1 CURRENT 2 213 52428800 1 INACTIVE 3 214 52428800 1 INACTIVE 1.2 切换日志文件 SQL> alter system switch l 阅读全文
posted @ 2013-04-09 21:51 wilson.han 阅读(156) 评论(0) 推荐(0) 编辑
摘要:注意,无论gather stale还是gather auto,都要求进行监视。如果你执行一个alter table xxx monitoring命令,Oracle会用dba_tab_modifications视图来跟踪发生变动的表。这样一来,你就确切地知道,自从上一次分析统计数据以来,发生了多少次插入、更新和删除操作。SELECT * FROM Sys.Dba_Tab_Modifications WHERE Table_Owner = 'SCOTT';使用alter table xxx monitoring命令来实现Oracle表监视时,需要使用dbms_stats中的auto 阅读全文
posted @ 2013-04-09 21:50 wilson.han 阅读(761) 评论(0) 推荐(0) 编辑
摘要:create table typeTab(c_id number(10), c_name varchar2(100) not null);declare i number(10);begin for i in 1..100000 loop insert into typeTab values( i,'test' || i ); if i mod 100 = 0 then commit; end if; end loop;end; 阅读全文
posted @ 2013-04-09 21:48 wilson.han 阅读(133) 评论(0) 推荐(0) 编辑
摘要:发现测试用的一个DB在startup时报如下错误:SQL> alter database open;alter database open*ERROR at line 1:ORA-16038: log 1 sequence# 56 cannot be archivedORA-19809: limit exceeded for recovery filesORA-00312: online log 1 thread 1: '/u02/oradata/orcl/redo01.log'参照网上一篇文章得以解决:http://www.cnblogs.com/jimeper/arc 阅读全文
posted @ 2013-04-06 23:11 wilson.han 阅读(357) 评论(0) 推荐(0) 编辑
摘要:用10g从8i的数据库里面导出用户数据,然后导入10g数据库中,结果中途报错,就中止了倒入,然后redolog就被占满了就出了这么个报错,数据库mount后无法open,还好不是什么大问题,网上搜了搜就解决了,万幸万幸PS:这些DBA视图好烦啊,好多参数啊,肿么记啊 肿么记.SQL> alter database open;alter database open*ERROR at line 1:ORA-16014: log 1 sequence# 29 not archived, no available destinationsORA-00312: online log 1 threa 阅读全文
posted @ 2013-04-06 22:52 wilson.han 阅读(312) 评论(0) 推荐(0) 编辑
摘要:oracle 11g,安装后丢失了日志文件,启动数据库发生错误 ORA-16038: 日志 2 序列号 23 无法归档ORA-00312: 联机日志 2 线程 1:'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'ORA-16032: 参数 LOG_ARCHIVE_DEST_1 的目标字符串无法被转换ORA-19801: 尚未设置初始化参数 DB_RECOVERY_FILE_DEST查看alter日志文件提示ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string ca 阅读全文
posted @ 2013-04-06 22:45 wilson.han 阅读(1447) 评论(0) 推荐(0) 编辑
摘要:最近碰到两次ORA-8103错误,简单总结一下。一次是客户的10.2数据库出现了ORA-600[6002]错误,导致的问题是索引出现了逻辑损坏,本来问题很简单,只需要删除索引并重建,或者通过ONLINE REBUILD方式就可以了。但是索引删除后,扫描这张表出现了ORA-8103错误,这说明错误不仅出现在索引上,在数据块上同样存在逻辑错误,从而导致了前面的ORA-600[6002]错误。第二个问题是11.2.0.2环境中出现的ORA-8103错误,错误发生在统计信息收集过程中:Fri Mar 30 02:00:00 2012DBMS_STATS: GATHER_STATS_JOB encoun 阅读全文
posted @ 2013-04-06 22:37 wilson.han 阅读(1602) 评论(0) 推荐(0) 编辑
摘要:GATHER_STATS_JOB ORA-20000前几天,数据库日志中出现ora-20000的错误,具体为:ORA-20000: Unable to analyze TABLE "LC00019999"."TMP_ZWPZK4YSFEB0CF9F5A", insufficient privileges or does not exist感觉很诧异,为啥分析这个表,并提示表不存在呢?仔细分析之下得知,oracle10的GATHER_STATS_JOB,会定期调用过程dbms_stats.gather_database_stats_job_proc执行信息 阅读全文
posted @ 2013-04-06 22:25 wilson.han 阅读(2107) 评论(0) 推荐(0) 编辑
摘要:原文地址:OracleDecode函数详解作者:冰山客函数介绍 DECODE函数是ORACLE PL/SQL的功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其它数据库厂商的SQL实现还没有此功能。DECODE有什么用途呢?先构造一个例子,假设我们想给智星职员加工资,其标准是:工资在8000元以下的加20%;工资在8000元或以上的加15%,通常的做法是,先选出记录中的工资字段值? select salary into var-salary from employee,然后对变量var-salary用if-then-else或choose case之类的流控制语句进行判断. 阅读全文
posted @ 2013-04-06 16:11 wilson.han 阅读(2223) 评论(0) 推荐(0) 编辑
摘要:select * from dba_indexes where table_name ='T_USER_ROOT';select * from dba_indexes where index_name ='INDX_T_USER_ROOT$SSOID' 阅读全文
posted @ 2013-04-06 16:08 wilson.han 阅读(712) 评论(0) 推荐(0) 编辑
摘要:Oracle提高查询效率的解析原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/database/316/12292816.shtml在一个数据库中进行操作的时候,效率是很重要的,那么,如何提高oracle的查询效率呢?笔者将从以下几个方面进行详细解析: 1、选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接.. 阅读全文
posted @ 2013-04-03 23:57 wilson.han 阅读(280) 评论(1) 推荐(0) 编辑
摘要:随着时间的累积,在没有很好的规划的情况下,数据库中也许会存在大量长期不被使用的索引,如果快速的定位这些索引以便清理便摆在案头。我们可以使用“alter index ××× monitoring usage;”命令将索引至于监控状态下,经过一定的监控周期,那些不被使用到的索引便会在具体Schema下的v$object_usage视图中得以体现。展示一下这个过程,供参考。友情提示:生产数据库中的索引添加和删除一定要慎重,需要做好充分的测试。1.环境准备1)创建表Tsec@ora10g> create table t (x int);Table created.2 阅读全文
posted @ 2013-04-03 22:46 wilson.han 阅读(127) 评论(0) 推荐(0) 编辑
摘要:如果仅仅是lock,以下语句可以发现所有用户锁selects.username,decode(l.type,'TM','TABLELOCK','TX','ROWLOCK',NULL)LOCK_LEVEL,o.owner,o.object_name,o.object_type,s.terminal,s.machine,s.program,s.osuserfromv$sessions,v$lockl,dba_objectsowheres.sid=l.sidando.object_id=l.id1ands.usernameisnotnu 阅读全文
posted @ 2013-04-03 22:44 wilson.han 阅读(412) 评论(0) 推荐(0) 编辑
摘要:Oracle错误代码小结 ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换会话 ORA-00022: 无效的会话 ID;访问被拒绝 ORA-00023: 会话引用进程私用内存;无法分离会话 ORA-00024: 单一进程模式下不允许从多个进程注册 ORA-00025: 无法分配 ORA-00026: 丢失或无效的会话 ID ORA-00027: 无法删去当前会话 ORA-0 阅读全文
posted @ 2013-04-03 22:34 wilson.han 阅读(3252) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示