oracle清理和重建临时表空间
清理临时表空间正常来说,在完成Select语句、create index等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段a的。但有些有侯我们则会遇到临时段没有被释放,TEMP表空间几乎满的状况,甚至是我们重启了数据库仍没有解决问题。这个问题在论坛中也常被网友问到,下面我总结一下,给出几种处理方法。[@more@] 法一、重启库 库重启时,Smon进程会完成临时段释放,TEMP表空间的清理操作,不过很多的时侯我们的库是不允许down的,所以这种方法缺少了一点的应用机会,不过这种方法还是很好用的。 法二、Metalink给出的一个方法
解决linux下删除文件或oracle表空间后空间不释放的问题
在linux下删除文件或oracle表空间后,很多人会遇到linux空间不释放的问题,这个问题可以如下解决:[@more@]用root用户登陆执行命令: lsof | grep 你要删除的操作系统文件名就会看到类似如下信息:oracle 15435 oracle 7u REG 8,6 0 57871108 /test.dbf (deleted)说明操作系统正在进行删除的清理工作,把所有(delete)状态的都kill掉,注意这里面有一些oracle数据库自身的进程的不要kill,然后等三分钟,空间就释放出来了.附lsof命令的用法:lsof简介lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式
oracle常用命令
第一章:日志治理 1.forcing log switchessql> alter system switch logfile;2.forcing checkpointssql> alter system checkpoint;[@more@]3.adding online redo log groupssql> alter database add logfile [group 4]sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size 1m;4.adding online redo log memberssql> alter database add logfile membersql> '/disk3/log1b.rdo' to group 1,sql> '/disk4/log2b.rdo' to group 2;5.changes the name of the online redo logfilesql> alter database rename file 'c:/
linux aix查看CPU和内存
aix查看CPUlsdev -Cc processorsar -P ALL 1查看内存一般用svmon -G ,结合一下topas [@more@]linux [oracle@dell2950 proc]$ dmesg | grep CPU | grep IDCPU0: Physical Processor ID: 0CPU0: Processor Core ID: 0CPU0: Initial APIC ID: 0CPU1: Physical Processor ID: 0CPU1: Processor Core ID: 1CPU1: Initial APIC ID: 1CPU2: Physical Processor ID: 0CPU2: Processor Core ID: 2CPU2: Initial APIC ID: 2CPU3: Physical Processor ID: 0CPU3: Processor Core ID: 3CPU3: Initial APIC ID: 3CPU4: Physical Processor ID: 1CPU4:
使用未写入文档参数_ALLOW_RESETLOGS_CORRUPTION进行崩溃恢复经典一例
什么情况可能使用该参数 有些时侯可能你的库处于非归档的模式下,而你的联机重做日志又currupted,你的数据文件不能完成完全的恢复。而这时当你试图打开数据库时,oracle提示你用resetlogs选项,当你使用该选项时oracle又不允许你使用该选项,总之你想打开数据库,可就是打不开。[@more@] 步骤: 1、最好做一个物理的库的全备 2、使用sqlplus 启动库至mount sqlplus /nolog sql>connect internal sql>startup mount 3、确保所有的数据文件都处于"END BACKUP"状态 s
oracle导成文本格式
在Oracle中你找不到来完成这个功能的工具. 我以前曾经用PowerBuilder的数据管道来完成这个任务, 后来在AskTom上看到有两个工具, 其中一个是用SQL*Plus的SPOOL命令来做的, 另一个是用Pro*C程序来写的. 用SQL*Plus的那种方法要比Pro*C的慢一些, 但是Pro*C因为和:[@more@]如何导出Oracle中的数据到文本文件? 在Oracle中你找不到来完成这个功能的工具. 我以前曾经用PowerBuilder的数据管道来完成这个任务, 后来在AskTom上看到有两个工具, 其中一个是用SQL*Plus的SPOOL命令来做的, 另一个是用Pro*C程序来写的. 用SQL*Plus的那种方法要比Pro*
oracle10g logmnr的使用
一.安装LogMiner$ sqlplus /nologSQL*Plus: Release 10.2.0.3.0 - Production on Tue Apr 15 12:30:58 2008Copyright (c) 1982, 2006, Oracle. All Rights Reserved.SQL> conn / as sysdba;Connected to an idle instance.SQL> startupORACLE instance started.[@more@]一.安装LogMiner$ sqlplus /nologSQL*Plus: Release 10.2.0.3.0 - Production on Tue Apr 15 12:30:58 2008Copyright (c) 1982, 2006, Oracle. All Rights Reserved.SQL> conn / as sysdba;Connected to an idle instance.SQL> startupORACLE instance st
Oracle常用dump命令介绍[转贴]
Oracle常用dump命令介绍链接:http://www.eygle.com/digest/2008/04/oracledump.html --------------------------------------------------------------------------------站内相关文章|Related Articles Oracle Internal Events Introduction9i Performance Tuning Guide 读书笔记二9i Performance Tuning Guide 读书笔记一Oracle GlossaryOracle IS The Information Company一.Memory Dumps1).Global AreaALTER SESSION SET EVENTS 'immediate trace name global_area level n';1 包含PGA2 包含SGA4 包含UGA8 包含indrect memory[@more@
linux下FTP命令详解
FTP> ! 从 ftp 子系统退出到外壳。 FTP> ? 显示 ftp 命令说明。? 与 help 相同。 格式:? [command] 说明:[command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。 FTP> append 使用当前文件类型设置将本地文件附加到远程计算机上的文件。 格式:append local-file [remote-file] 说明:local-file 指定要添加的本地文件。 remote-file 指定要添加 local-file 的远程计算机上的文件。如果省略了 remote-file,本地文件名将被用作远程文件名。[@more@]FTP> ! 从 ftp 子系统
将informix导出的文本数据导入oracle数据库
做项目的时候,做过数据库的移植工作。当时是从informix数据库移植到oracle数据库。其中对于一些涉及到的标准数据要做些移植。现在把它总结出来,希望对大家有点帮助。当然由于oracle和informix的数据类型有所不同,所以先要根据informix的建库脚本把 oracle数据库的表结构对应的建立起来。这里就不详细说明了。由于informix导出的是文本文件,而oracle数据库的导入导出的数据是oracle数据库识别的二进制文件。如果只是oracle数据库之间的导入的话,可以用oracle自带的import或者export工具导入导出。这里也不详细讨论了。[@more@]做项目的
Linux扩展逻辑卷
Linux扩展逻辑卷今天公司机器上的几个逻辑卷空间不够,需要扩展,这里记录了扩展步骤:1. 关闭此机器的oracle数据库2. 2. 划分空间到要增加的逻辑卷,注意这里空间并没有真正地划到 逻辑卷上,因为卷目前的状态是挂载文件系统,所以必须umount文件系统后才能使增加的空间生效[@more@]Linux扩展逻辑卷今天公司机器上的几个逻辑卷空间不够,需要扩展,这里记录了扩展步骤:操作系统是Red Hat Enterprise Linux AS release 4 (Nahant Update 5)1. 关闭此机器的oracle数据库2. 划分空间到要增加的逻辑卷,注意这里空间并没有真正地划到逻辑卷上,因为卷目
外部表的另一种用途 数据迁移
外部表的另一种用途 数据迁移不用exp/imp,expdp/impdp来不同平台间迁移数据表由于条件所限,我的操作在两台linux机器上,不同平台的操作方法一样首先导出第一台机器上的数据[oracle@nsisdb application]$ sqlplus "/as sysdba"SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8月 5 14:38:03 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.[@more@]外部表的另一种用途 数据迁移不用exp/imp,expdp/impdp来不同平台间迁移数据表由于条件所限,我的操作在两台linux机器上,不同平台的操作方法一样首先导出第一
使用Oracle的外部表查询警告日志文件
使用Oracle的外部表查询警告日志文件Oracle 9i中开始引入外部表,什么是外部表? External table 和正规的表很相似,具体的定义可以参见《 Oracle 概念手册》,以下的几点需要注意: > 创建的语法类似于: "CREATE TABLE ... ORGANIZATION EXTERNAL" > 数据在数据库的外部组织,是操作系统文件。 [@more@]使用Oracle的外部表查询警告日志文件Oracle 9i中开始引入外部表,什么是外部表? External table 和正规的表很相似,具体的定义可以参见《 Oracle 概念手册》,以下的几点需要注意: > 创建的语法类似于: "C
自动通过trigger捕获DML语句
自动通过trigger捕获DML语句这是一个通过触发器来监控DML语句的例子.SQL> desc t1 Name Null? Type ----------------------------------------------------- -------- ------------------------------------ A NUMBER [@more@]自动通过trigger捕获DML语句SQL> desc t1 Name Null? Type ----------------------------------------------------- -------- ------------------------------------ A
oracle 9i/10g merge 用法
oracle 9i/10g merge 用法oracle9i的mergeMERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。[@more@]Oracle 9i/10g merge 用法oracle9i的mergeMERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行
Oracle10g审计
Oracle10g审计要使用oracle的审计功能必须先设定初始化参数audit_trailaudit_trail 参数的值可以设置为以下几种: 1. NONE:不开启审计功能。 2. DB:开启审计功能,并将审计记录保存在数据库系统提供的审计视图内,要求用于审计功能实现的视图已经创建。[@more@]Oracle10g审计要使用oracle的审计功能必须先设定初始化参数audit_trailaudit_trail 参数的值可以设置为以下几种: 1. NONE:不开启审计功能。 2. DB:开启审计功能,并将审计记录保存在数据库系统提供的审计视图内,要求用于审计功能实现的视图已经创建。 3. OS:审计记录写入
9i与10g的细粒度审计
表的查询语句用普通触发器是检测不到的,除非开启数据库审计,但是从ORACLE9i开始,提供了一个DBMS_FGA包,可以在线对单个的表进行审计并查询审计资料,这就是细粒度审计。但是这个包的审计过程要求数据库运行在CBO优化模式下,如果不是,可能会有意想不到的结果,这就要求对审计的表进行分析。下面将就这个包的使用做简单的介绍,这个包共有四个过程,[@more@]9i的细粒度审计表的查询语句用普通触发器是检测不到的,除非开启数据库审计,但是从ORACLE9i开始,提供了一个DBMS_FGA包,可以在线对单个的表进行审计并查询审计资料,这就是细粒
oracle参数-cursor_sharing
cursor_sharing:说明: 控制可以终止共享相同的共享游标的 SQL 语句类型。值范围:强制: 强制表达方式不同但语句意思相同的语句共享一个游标。EXACT: 只令完全相同的 SQL 语句共享一个游标。默认值: EXACT[@more@]cursor_sharing:说明: 控制可以终止共享相同的共享游标的 SQL 语句类型。值范围:强制: 强制表达方式不同但语句意思相同的语句共享一个游标。EXACT: 只令完全相同的 SQL 语句共享一个游标。默认值: EXACT若存在字段的 histograms ,则每次是不同的值的时候都产生硬解析 ,若不存在 histograms,则不产生硬解析。换句话说,当表的字
关于ORACLE自动统计CBO统计信息[转帖]
关于ORACLE自动统计CBO统计信息ORACLE10G以后,在建库后默认就创建了个GATHER_STATS_JOB的定时任务。默认情况下在工作日晚上10:00-6:00和周末全天开启。它调用DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC的程序收集统计信息。它检测统计信息缺失的对象和陈旧的对象。然后确定优先级,再开始进行统计信息。[@more@]关于ORACLE自动统计CBO统计信息ORACLE10G以后,在建库后默认就创建了个GATHER_STATS_JOB的定时任务。默认情况下在工作日晚上10:00-6:00和周末全天开启。它调用DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC的程序收集统计信
用flashback恢复存储过程
用flashback恢复存储过程今天在工作开发人员在更新存储过程,但在更新的过程中没有备份原有的存储过程,而新的存储过程又有问题,怎么办呢?能不能把它恢复回去呢。想了想,突然想到了oracle 10g 中的flashback的功能。在SOURCE$表中就能找到删除前的存储过程。[@more@]用flashback恢复存储过程今天在工作开发人员在更新存储过程,但在更新的过程中没有备份原有的存储过程,而新的存储过程又有问题,怎么办呢?能不能把它恢复回去呢。想了想,突然想到了oracle 10g 中的flashback的功能。在SOURCE$表中就能找到删除前的存储过程。注意:1、