oracle 常用
文章平均质量分 54
zhaojian1988
这个作者很懒,什么都没留下…
展开
-
ogg同步表
oracle11.2.0.4 Version 11.1.1.1.2 OGGCORE_11.1.1.1.2_PLATFORMS_111004.2100 1.stop r_bj2.查看scncol GET_SYSTEM_CHANGE_NUMBER for 999999999999999999999999select dbms_flashback.get_system_cha原创 2015-05-06 18:32:42 · 1814 阅读 · 0 评论 -
确保统计信息准确性脚本
下面就是一个关于确保统计信息准确性的脚本DECLARE CURSOR STALE_TABLE IS SELECT OWNER, SEGMENT_NAME, CASE WHEN SIZE_GB 30 WHEN SIZE_GB >=原创 2015-01-18 00:18:23 · 409 阅读 · 0 评论 -
降低HWM方法实验move shrink
想要降低HWM,有2中方法alter table table_name MOVE;alter table table_name SHRINK space; ALTER TABLE MOVE 步骤:1. desc username.table_name ----检查表中是否有LOB查询含有LOB类型字段的表:select DISTINCT a原创 2015-01-17 22:39:19 · 521 阅读 · 0 评论 -
ASM Allocation Units(AU) 不同大小对性能的影响
1创建AU=1M block size 32k 的表空间SQL>CREATE BIGFILE TABLESPACE test_au1 DATAFILE '+DATA_AU1/test.dbf'SIZE 4G NOLOGGING ONLINE PERMANENT BLOCKSIZE 32768EXTENTMANAGEMENTLOCALUNIFORMSIZE1048原创 2015-01-18 01:37:10 · 620 阅读 · 0 评论 -
组合分区表创建索引之后最好收集索引的统计信息
本实验基于Oracle10g 先建立一个组合分区表create table t_sub(id number, data varchar2(20))partition by range(id)subpartition by hash(data)(partition p1 values less than (100) (subpartition p1_s_1,原创 2015-01-17 21:21:59 · 1268 阅读 · 0 评论 -
找出未收集统计信息,以及统计信息过期的表
下面这个查询可以找到从未收集过统计信息或者统计信息过期的表。EXEC DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO;SELECT OWNER,TABLE_NAME,OBJECT_TYPE,STALE_STATS,LAST_ANALYZED FROMDBA_TAB_STATISTICS WHERE (STALE_STATS='原创 2015-01-17 19:57:53 · 444 阅读 · 0 评论 -
& 符号在 SQLPLUS 的转义
有时候,SQL语句中包含了 & 符号,&是数据库中存储的值,而非要求我们输入某个值, 如果你在 SQLPLUS中运行该SQL,可以用 set define off 命令 忽略 &SQL> set define offSQL> select 'This is &Robinson' from dual;'THISIS&ROBINSON'-----原创 2015-01-17 15:49:25 · 799 阅读 · 0 评论 -
exp,imp问题
一:首先应该查询数据库的字符集SQL> select * from nls_database_parameters where parameter='NLS_LANGUAGE' or parameter='NLS_TERRITORY' or parameter='NLS_CHARACTERSET';我们知道NLS_LANG = language_territor原创 2015-01-17 14:20:43 · 599 阅读 · 0 评论 -
ORACLE查看数据库安装补丁情况
[oracle@hyadi OPatch]$ ./opatch lsinventoryInvoking OPatch 10.2.0.4.9Oracle 中间补丁程序安装程序版本 10.2.0.4.9版权所有 (c) 2009, Oracle Corporation。保留所有权利。Oracle 主目录 : /oracle/oracle/db_1原创 2015-02-02 23:00:52 · 2041 阅读 · 0 评论 -
将索引移动到别的表空间
alter index index_name rebuild tablespace tablespace_name online nologging parallel;SQL> select segment_name,segment_type,tablespace_name from user_segments where segment_name='EMP_DEPTNO';SEG原创 2015-01-18 20:40:32 · 639 阅读 · 0 评论 -
DG 检查日志文件是否传输到备用数据库
例如:我配置归档位置如下: SQL> show parameter log_archive_dest_NAME TYPE VALUE------------------------------------ --------------------------原创 2015-01-18 19:07:58 · 2284 阅读 · 0 评论 -
oracle统计用户下表的大小
Select username,default_tablespace,created from dba_users order by created desc;select segment_name, bytes/1024/1024/1024 from dba_segments where owner in ('WLS816','WYJK','XCYS','PERFSTAT','TROUBLE原创 2015-02-06 13:24:38 · 3909 阅读 · 0 评论 -
ISSYS_MODIFIABLE 返回false
SQL> select name,value ,ISSYS_MODIFIABLE from v$parameter where name like 'sga%';NAME VALUE ISSYS_MOD--------------- --------------- ---------sga_max_size 612368384原创 2015-04-04 19:50:16 · 761 阅读 · 0 评论 -
TKPROF 命令语法
一. TKPROF 命令语法:TKPROF filename1, filename2 [ SORT = [ opion][,option] ] [ PRINT = integer ] [ AGGREGATE = [ YES | NO ] ] [ INSERT = filename3 ] [ SYS = [ YES | NO ] ]原创 2015-01-25 17:22:52 · 901 阅读 · 0 评论 -
使用awk来解析dump文件
dump文件是平时工作中经常碰见的,有时候得到一个dump,但是没有提供一些更多的信息,导入的时候就很可能会有问题。如果某个用户默认表空间是user,但是dump中的表所属的表空间是datas01,则导入的时候会自动转换表空间。但是如果表中存在lob字段且dump的表空间和目标环境的表空间不一致,就有在导入dump的时候,经典的00959问题,错误类似下面的形式。IMP-00017原创 2015-01-22 22:14:45 · 383 阅读 · 0 评论 -
Oracle 9i/10g/11g数据库升级路线图总览
注意:Oracle 10.2.0.1 不能直接升级到11gR2,至少需要先升级到10.2.0.2 以后才可以升级到11gR2原因:To find time zone file version on sourcedatabase (10g) runSQL> select * from v$timezone_file; If time zone file ver原创 2015-01-04 14:53:38 · 993 阅读 · 0 评论 -
listener操作
1. 停止写listener log在某些特定的场合可能会有这样的需求。控制这个功能的参数是LOG_STATUS。 官网对这个参数的说明:To turn listenerlogging on or off. --在OS层面直接使用:lsnrctl SET LOG_STATUS {on | off}$ lsnrctl show LOG_STATUS --在LSNRCT原创 2015-01-04 10:21:00 · 1076 阅读 · 0 评论 -
对分区表导入导出的水平,垂直切分
在工作中有时候碰到一些分区表,业务数据量很大,可能几百G,上T的规模,而且做数据的导入导出的时候,会感觉到exp/expdp的时候生成的dump文件太大了,做导入的时候也是很重的负担。比如500G的dump,你在使用imp做导入的时候,别无选择,只能看着日志里partition里的数据一个一个被导入。impdp可能稍微好点,还能指定个并行,但是问题又来了,一个500G的dump。impdp是在最后原创 2015-01-22 16:50:32 · 667 阅读 · 0 评论 -
UNDO表空间一直增长问题处理
1).将UNDO表空间对应的数据文件调整为自动扩展,并为其设定一个最大值。SQL> ALTER DATABASE DATAFILE '' AUTOEXTEND ON MAXSIZE 客户正是通过这种方式解决了问题,调整之后空间很快得到释放,V$UNDOSTAT.TUNED_UNDORETENTION值立即变小,这和文章前面的解释是完全吻合的,当UNDO表空间对应的数据文件是自动扩展的,原创 2015-01-22 16:08:47 · 2936 阅读 · 0 评论 -
检查组件状态
col comp_name for a40set pagesize 49999set wrap offselect comp_name,version, status from dba_registry;原创 2015-01-04 15:25:13 · 388 阅读 · 0 评论 -
expdp迁移SDE数据
环境介绍:源端: 系统:windows_2008server_r2迁移对象:SDE/WXWF内存:16GCPU:2颗 目标端: 系统:windows_2008server_r2_64导入:SDE/WXWF内存:32GCPU:2颗数据库版本:oracle11.2.0.4_64SDE版本:SDE11g_64 迁移步骤:目标端原创 2015-01-15 12:29:21 · 714 阅读 · 0 评论 -
Oracle数据库如何授权收费(Database Licensing)
有部分项目数据库使用的是Oracle,有时也被同事询问oracle的收费模式,下面把oracle的授权收费模式简要说明一下。Oracle软件本身是免费的,所以任何人都可以从Oracle官方网站下载并安装Oracle的数据库软件,收费的是License,即软件授权,如果数据库用于商业用途,就需要购买相应Oracle产品的License。现在Oracle有两种授权方式,原创 2015-02-02 20:07:08 · 1085 阅读 · 0 评论 -
Oracle动态采样详解
动态采样概述 动态采样(Dynamic Sampling)技术的最初提出是在Oracle 9i R2,在段(表,索引,分区)没有分析的情况下,为了使CBO 优化器得到足够的信息以保证做出正确的执行计划而发明的一种技术,可以把它看做分析手段的一种补充。当段对象没有统计信息时(即没有做分析),动态采样技术可以通过直接从需要分析的对象上收集数据块(采样)来获得CBO需要的统计信息。一个简单的原创 2015-02-02 14:24:12 · 561 阅读 · 0 评论 -
查看Oracle的redo日志切换频率
两个sql,原理是一样的,第二个用到了统计函数。 时间单位:分钟方法一、select * from v$log a where a.THREAD# = 1 ; set pagesize 49999set wrap off?set line 200select b.SEQUENCE#,b.FIRST_TIME,a.SEQUENCE#,a.FIR原创 2013-08-05 13:28:23 · 1044 阅读 · 0 评论 -
sql 获取 session 客户端的 IP 地址
http://blog.csdn.net/xiangsir/article/details/8693734在 Oracle 中如何确定远程 session 客户端的 IP 地址前几天,Daniel 所在的环境多个数据库发生了一件惨案:我们把所有数据库主机、数据库的密码更改后,硬件总集成的一台 windows 主机安装了一个 Oracle数据库监控工具,不断尝试利用错原创 2013-08-01 18:36:25 · 1601 阅读 · 0 评论 -
找出 alter system kill session ‘sid,serial#’ kill 掉的数据库会话对应进程
源:http://www.xifenfei.com/3197.html当我们使用alter system kill session ‘sid,serial#’在数据库中kill掉某个会话的时候,如果你观察仔细会发现v$session.paddr发生了改变,从而是的不能直接通过关联v$process.addr找出spid,然后进行其他操作.本文提供三种方法找该种情况下spid的方原创 2013-07-31 17:31:06 · 2424 阅读 · 0 评论 -
查询oracle被锁对象并解锁
源:http://www.xifenfei.com/607.html1、查询oracle被锁对象及其语句SELECTa_s.owner, a_s.object_name, a_s.object_type, VN.SID, VN.SERIAL#, VS.SPID"OS_PID", VN.P原创 2013-07-31 16:41:32 · 612 阅读 · 0 评论 -
oracle parameter event list 11.2.0.3.0
Posted by syksky On 十二月 - 5 - 2012 0 CommentEvent#Message10000control file debug event, name ‘control_file’10001control file crash event110002control file crash e原创 2013-04-23 10:47:26 · 2728 阅读 · 0 评论 -
查看Oracle的redo日志切换频率
查看Oracle的redo日志切换频率两个sql,原理是一样的,第二个用到了统计函数。 时间单位:分钟方法一、 select * from v$log a where a.THREAD# = 1 ; set pagesize 49999set wrap off set line 200select b.SEQUENCE#, b.FIRST_TIME,a原创 2013-04-10 17:08:11 · 1839 阅读 · 0 评论 -
ORA-3136
Sun Sep 02 04:18:58 EAT 2012WARNING: inbound connection timed out (ORA-3136) 该错误通常由于网络原因或数据库繁忙导致连接超时,对应的metalink文档号[ID 465043.1]官方给出的解决方法是:1.在listener.ora中添加INBOUND_CONNECT_TIMEOUT_listener_原创 2013-04-10 15:45:05 · 821 阅读 · 0 评论 -
编译失效对象(Package,trigger等)
如何有效的编译数据库中的失效对象(Package,trigger等)0很多时候,由于数据库的变更或迁移,会导致数据库中的对象失效。由于对象之间可能存在复杂的倚赖关系,所以手工编译通常无法顺利通过。Oracle提供一个脚本用于按照顺序/依赖关系重新编译失效对象。这个脚本是:$ORACLE_HOME/rdbms/admin/utlrp.sql其中会调原创 2013-04-10 18:15:45 · 936 阅读 · 0 评论 -
oracle死锁查询及处理
博客分类: --------------------------------------------------------------------------------查询发生死锁的select语句select sql_text from v$sql where hash_value in(select sql_hash_value from v$session where s转载 2013-04-10 13:42:30 · 593 阅读 · 0 评论 -
oracle编译数据库失效对象
1.查看SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, STATUS FROM DBA_OBJECTS WHERE STATUS = 'INVALID' ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME; sqlplus -s '/ as sysdba' set heading off column OWN原创 2013-08-06 13:33:23 · 1182 阅读 · 0 评论 -
DUAL表被“不幸”删除后的恢复
DUAL表可以执行插入、更新、删除操作,还可以执行drop操作。但是不要去执行drop表的操作,否则会使系统不能用,数据库起不了,会报Database startup crashes with ORA-1092错误。用sys用户登陆。创建DUAL表。授予公众SELECT权限(SQL如上述,但不要给UPDATE,INSERT,DELETE权限)。向DUAL表插入一条记录(仅此原创 2013-08-18 23:34:27 · 573 阅读 · 0 评论 -
利用oracle 快照dblinks 解决数据库表同步问题
1、在目的数据库上,创建dblinkdrop public database link dblink_orc92_182;create public DATABASE LINK dblink_orc92_182CONNECT TO bst114 IDENTIFIED BYpassword USING ''orc92_192.168.254.111'';--dblin原创 2013-08-07 15:47:02 · 781 阅读 · 0 评论 -
计算UNDO恢复完成时间
计算UNDO恢复完成时间set linesize 100alter session set NLS_DATE_FORMAT='DD-MON-YYYY HH24:MI:SS';select usn, state, undoblockstotal "Total", undoblocksdone "Done", undoblockstotal-undoblocksdone "ToDo原创 2015-01-14 16:09:54 · 375 阅读 · 0 评论 -
Oracle 聚簇因子
简单来说,CLUSTERING_FACTOR反映的是通过索引扫描访问一张表,需要访问的表的数据块数量,即反映I/O的次数。这个CLUSTERING_FACTOR是如何计算出来的呢?(1) 扫描索引结构;(2) 顺序对比相邻索引条目的ROWID,如果两个ROWID属于不同数据块,那么CLUSTERING_FACTOR增加1;(3)原创 2015-02-01 18:01:39 · 469 阅读 · 0 评论 -
dbms_stats收集统计信息no_invalidate参数
dbms_stats收集统计信息时候no_invalidate参数用于是否与收集相关object的cursor失效,defalut(9i false, 10g dbms_stats.auto_invalidate(既null))true:当收集完统计信息后,收集对象的cursor不会失效(不会产生新的执行计划,子游标)false:当收集完统计信息后,收集对象的cursor会立即失效原创 2015-01-29 15:58:55 · 802 阅读 · 0 评论 -
关于undo的常用操作
查看回滚段过期情况:SELECT tablespace_name,STATUS, SUM(BYTES)/1024/1024/1024 FROM DBA_UNDO_EXTENTS group by tablespace_name,STATUS order by tablespace_name,status;查看回滚段正在运行的占用情况: SELECT s.inst_i转载 2014-11-26 16:07:09 · 933 阅读 · 0 评论 -
参数文件
一个常见错误的解决流程错误了的修改了spfile里面的参数,数据库启动失败,因为没有办法直接修改spfile,该怎么办?1、sql>createpfile=‘/u01/app/oracle/initoraclr10g.ora’fromspfile2、手工的在pfile里面编辑和修改错误的参数3、sql>createspfilefrompfile=‘=‘/u0原创 2014-09-22 15:59:58 · 410 阅读 · 0 评论