ORACLE常用知识
文章平均质量分 85
gguxxing008
这个作者很懒,什么都没留下…
展开
-
v$sql、v$sqlarea、v$sqltext、v$sql_plan的联系与区别
对于同一个SQL语句,如果在不同环境下使用了不同的优化器目标的情况下,会有不同的执行计划,这样就要求分别有一个独立的游标(即子游标)来区别出每一种情况下的不同的运行行为。Oracle用v$sqlarea中一行保存同样语句的SQL,并用字段version_count的值来指出子游标的个数,而在v$sql里面为每个子游标保留了一个单独的行。两个表可以通过字段address和hash_val转载 2012-06-18 16:44:28 · 849 阅读 · 0 评论 -
expdp/impdp remap_tablespace 无用户导入
好久没写博客了,这个月还没有留下足迹,看来还是不够恒啊,在这月末怎么也得留下点什么。。。目的:源库expdp导出,目标库impdp无用户导入源库:SQL> create user test01 identified by test01 default tablespace user01;SQL> create user test02 identified by test02 def原创 2012-05-26 15:33:27 · 5690 阅读 · 0 评论 -
DDL与UNDO之间的关系
今天在网上找了些资料,整理了下DDL与UNDO之间的关系,通过后台发现DDL还是会产生一定的UNDO,实例演示如下:SQL> select vs.name, ms.value from v$mystat ms, v$sysstat vs where ms.statistic# = vs.statistic# and name = 'undo chang原创 2012-06-12 16:16:02 · 1196 阅读 · 0 评论 -
expdp network_link参数
今天遇到一个这样的问题,问题描述大概如下,这是别人写的,然后我研究了一下,问题的解决方法如下:有两台DB服务器,A和B。两台服务器都是windows系统,数据库版本是10.2.0.1。 现在要从A服务器上导出数据库表到B服务器上。首先在B服务器上建立和A服务器的public database link后(con_a),使用sql查询可以查询到A服务器上的数据库表内容,使用tnsping con原创 2012-06-06 17:55:11 · 7465 阅读 · 0 评论 -
大数据量rebuild index的经历
1. 为什么要rebuildindex?在表上频繁的update和delete的操作会导致索引出现很多空间碎片,从而使得访问该索引的SQL查询效率下降,通过rebuild index,可以回缩空间碎片,并提供查询效率。2. 问题描述OS信息: Solaris 10数据库信息: Oracle 10.2.0.4,两节点的RAC需要重建schema(TLMDBA)下所有的索引转载 2012-04-12 11:10:59 · 1133 阅读 · 0 评论 -
表级碎片整理shrink/move
查看表的碎片程序可以通过我的这篇博客来查询http://blog.csdn.net/gguxxing008/article/details/6858579查到需要清理的碎片后,可以用如下两种方式来清理碎片:alter table xxx shrink space 和 alter table xxx move move命令是将数据从原来的段移到目标段的命令。 [move命令] S原创 2012-04-11 17:43:51 · 732 阅读 · 0 评论 -
RMAN表空间时间点恢复
一直想做个基于时间点的表空间恢复,今天测试了一下,做个笔记,方面以后查阅! 环境:Linux 5.2 10.2.0.1RMAN TSPITR 使用rman进行表空间基于时间点的恢复 实例说明:(1)先创建2个表空间。create tablespace user01 datafile '+DG1' size 1M;create tablespace user02 dat原创 2012-03-01 13:32:54 · 515 阅读 · 0 评论 -
表空间数据文件迁移(三)
以下是引用eygle的一片博客:http://www.eygle.com/archives/2005/12/oracle_howto_move_datafile_raw.html因为一个朋友问起,做个范例简单介绍如何使用Rman进行数据文件的裸设备和文件系统转换。(10G的asm环境类似,11G可以直接利用cp进行冷备份)1.使用裸设备建立EYGLE测试表空间[转载 2012-02-20 16:21:10 · 477 阅读 · 0 评论 -
表空间数据文件迁移(一)
文件系统快慢了,需要将表空间对应的某个文件系统迁移到其他的文件系统,故做了如下测试实验:实验环境:windows7+Oracle 10.2.0.1单实例(非ASM环境)---用此方法,要求此数据文件既不属于SYSTEM表空间,也不属于含有ACTIVE回滚段或临时段的表空间。测试过程如下:Oracle Database 10g Enterprise Edition Relea原创 2012-02-20 14:42:58 · 539 阅读 · 0 评论 -
使用nid的修改数据库名
Use Nid to Change dbname-NID的用法Nid是Oracle从9iR2开始提供的工具,可以用来更改数据库名称,而无需通过之前重建控制文件等繁琐方式。需要说明的是,虽然这个工具来自9iR2,但是仍然可以被用于Oracle8i.先看一下帮助:C:\>nid -helpDBNEWID: Release 10.1.0.2.0 - ProductionCopyr原创 2012-08-08 15:37:01 · 1169 阅读 · 0 评论 -
truncate表的数据恢复(二)
原文:http://www.oracleodu.com/cn/recovery-truncated-table-in-asm-using-odu.html利用ODU在ASM中恢复被Truncate掉的表的实例Posted: April 13th, 2011 ODU 4.0.0以后的版本已经支持ASM,它能够直接从ASM磁盘中解析数据。即使由于硬件或错误地FORMAT导致ASM磁盘头转载 2012-08-20 15:41:41 · 3290 阅读 · 0 评论 -
在Linux 5中为oracle配置hugepage的方法
在Linux 5中为oracle配置hugepage的方法http://unix-cd.com/vc/www/16/2011-01/17676.html2011-01-17 22:46 来源: frankfan126.cublog.cn 作者:frankfan126Hugepage/Big page: 系统进程是通过虚拟地址访问内存,但是CPU必须把它转换程物理原创 2013-07-22 12:16:15 · 667 阅读 · 0 评论 -
关于ORA-01034和ORA-27101的一种解决方法
1 先看oracle的监听和oracle的服务是否都启动了。启动oracle监听:cmd的命令行窗口下,输入lsnrctl start,回车即启动监听。2 查看oracle的sid叫什么,比如创建数据库的时候,实例名叫“abc”,那么先手工设置一下oralce的sid,cmd命令窗口中,set ORACLE_SID=abc3 再输入sqlplus /nolog,回车再输入原创 2013-06-25 10:38:24 · 1015 阅读 · 0 评论 -
Oracle Database PSU/CPU
1. 什么是PSU/CPU?CPU: Critical Patch UpdateOracle对于其产品每个季度发行一次的安全补丁包,通常是为了修复产品中的安全隐患。PSU: Patch Set UpdatesOracle对于其产品每个季度发行一次的补丁包,包含了bug的修复。Oracle选取被用户下载数量多的,并且被验证过具有较低风险的补丁放入到每个季度的PSU中。在每个PSU中不原创 2013-06-03 15:52:11 · 581 阅读 · 0 评论 -
SGA相关的几个动态性能视图
总结一些SGA的相关的动态性能视图:SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64biPL/SQL原创 2013-05-15 17:06:45 · 833 阅读 · 0 评论 -
Shutdown Normal or Shutdown Immediate Hangs. SMON disabling TX Recovery
Shutdown Normal or Shutdown Immediate Hangs. SMON disabling TX Recovery Description===========SHUTDOWN NORMAL or SHUTDOWN IMMEDIATE hangs. In the alert.log, you see only the following: Shutt原创 2013-05-06 17:16:36 · 2025 阅读 · 0 评论 -
IMP-00060:type does not exist or has different identifier
IMP-00060:type does not exist or has different identifier今天在做一个数据库迁移的时候,在imp的时候出现了一个奇怪的报错: ……. . importing table "APPLY_SERV_BAK070713" 1542 rows imported. . importing table原创 2013-05-02 17:33:37 · 2188 阅读 · 0 评论 -
Linux环境下Oracle开机自启动的方法(10g)
环境:Linux5.4+oracle10g(11g ASM环境中把自启动脚本整合到OHAS服务中了)1.安装好Oracle数据库后: 执行 dbstart和dbshut会提示:[oracle@oracle11g ~]$ dbstartORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net ListenerUsa原创 2012-08-27 14:22:15 · 892 阅读 · 0 评论 -
oracle 字符集的子集与超集对应关系(10.2)
更多关于字符集可以参考Database Globalization Support Guide 10g Release 2 (10.2)本文转自:http://hi.baidu.com/kywinder/blog/item/93f6ac56e3275958564e009d.htmlSubsets and SupersetsTable A-11 lists common subset原创 2012-08-27 09:48:45 · 2838 阅读 · 0 评论 -
truncate表的数据恢复(一)
测试环境:windows xp;Oracle 10.2.0.1 32bit 单实例文件系统,后期会对ASM环境进行测试--truncate表恢复前的操作SQL> select ts#,file#,rfile#,name,block1_offset From v$datafile; TS# FILE# RFILE# NAME原创 2012-08-20 15:19:52 · 865 阅读 · 0 评论 -
表空间数据文件迁移(二)
介于前面的方法是有条件限制的,如下方法是可以移动任何表空间的数据文件---- 1. ALTER DATABASE方法; ---- 用此方法,可以移动任何表空间的数据文件。 ---- STEP 1. 下数据库: $ svrmgrl SVRMGR > CONNECT INTERNAL; SVRMGR > SHUTDOWN; SVRMGR > EXIT;原创 2012-02-20 15:07:53 · 366 阅读 · 0 评论 -
更改表的owner
exchange partition的方法是最安全,也是最快速的方法。所以这里写出这种方法供大家参考。假设有A,B两个用户,我们想把TEST表从A用户移到B用户。我们以非分区表作为例子: SQL> conn a/a Connected. SQL> create table test(x int); Table created. SQ原创 2012-02-08 17:12:05 · 1392 阅读 · 0 评论 -
更改表空间名称
以下内容来自:http://www.sjtsoft.com/sjblog/article.asp?id=628简单介绍在 Oracle 10g 以前的版本,更改表空间名字是几乎不可能的事情,除非删除,重新创建,大费周章。Oracle 10g 新添加了一项更改表空间名字的功能,使得更改表空间名字瞬间即可完成。是个较为人性化的功能。SQL> COL FILE_NAME format a70原创 2012-02-08 08:17:33 · 600 阅读 · 0 评论 -
DATA BLOCK物理结构
<br />DATA BLOCK物理结构: <br />Cache header 20bytes <br />Transaction header 48bytes <br />Data header 14bytes<br /> Table dictionary 4bytes/table | Row dictionary 2 bytes/row<br />Data Area<br />tail 4bytes<br /> <br />介绍数据块中包括的3种头信息:<br />首先,数据块是通过data bloc原创 2010-10-21 15:47:00 · 455 阅读 · 0 评论 -
Oracle 事务处理的完整流程分析
详解:http://space.itpub.net/35489/viewspace-673804原创 2010-10-20 17:30:00 · 642 阅读 · 0 评论 -
OLTP与OLAP
<br />OLAP和OLTP的区别:<br />联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。<br />当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系原创 2010-10-20 17:00:00 · 362 阅读 · 0 评论 -
profile&user
<br />今天在群里看到有个哥们问到profile的使用,就做了个测试,下面把一些测试过程记录下来:<br /> <br />1、要把profile绑定到某个用户,必须先看resource_limit这个参数是否为true,如果为FALSE,则通过alter system set resource_limit=true来修改且立即生效(是否可以立即生效可以通过v$parameter这个视图去查看)<br /> <br />2、通过以下语句来查看某个用户是否使用了profile文件<br /> cr原创 2010-12-07 14:46:00 · 598 阅读 · 0 评论 -
oracle正则表达式
<br />ORACLE中的支持正则表达式的函数主要有下面四个:<br />1,REGEXP_LIKE :与LIKE的功能相似<br />2,REGEXP_INSTR :与INSTR的功能相似<br />3,REGEXP_SUBSTR :与SUBSTR的功能相似<br />4,REGEXP_REPLACE :与REPLACE的功能相似<br />它们在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和REPLACE 用法相同,<br />但是它们使用POSIX 正则表达式代替了老的百分原创 2010-10-09 17:04:00 · 292 阅读 · 0 评论 -
裸设备和Oracle的20问答
<br />1.什么叫做裸设备?<br />裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字<br />符设备。它由应用程序负责对它进行读写操作。不经过文件系统的缓冲。<br />2.如何辨别裸设备?<br />在Unix的/dev 目录下,有许多文件,其中有两个大类:字符设备文件和块设备文件。<br />字符设备特殊文件进行I/O操作不经过操作系统的缓冲区,而块设备特殊文件用来同外设进行定长的<br />包传输。字符特殊文件与外设进行I/o操作时每次只传输一个字原创 2010-12-01 22:02:00 · 413 阅读 · 0 评论 -
表空间对用户的管理
<br />上周一同事问了我一个问题,关于控制一个用户对某一个表空间的限制使用的问题,下面把一简单命令记录下来些记录下来:<br /> <br />create user test identified by test;<br /> <br />grant connect,source to test; -----resource中包含有unlimited tablespace的权限即对任何一个表空间的使用权限<br /> <br />revoke unlimited tablespace from原创 2010-11-29 13:12:00 · 305 阅读 · 0 评论 -
oracle restrice用法
<br />在启动过程中限制访问数据库:<br />可以在受限制的模式下启动实例并装载和打开数据库,以便只有管理人员而不是一般的数据库用户可以利用数据库。当需要完成以下一种任务时使用这种数据库启动模式<br />Ø 执行数据库数据的导出或导入操作<br />Ø 执行数据装载操作用SQL*Loader<br />Ø 暂时阻止一般的用户使用数据<br />Ø 在某个移植过程和升级操作过程中<br />通常,所有拥有CREATE SESSION 系统权限的用户都能连接到一个原创 2010-09-29 14:40:00 · 766 阅读 · 0 评论 -
ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法
archive log 日志已满ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法1. 用sys用户登录 sqlplus sys/pass@test as sysdba2. 看看archiv log所在位置SQL> show parameter log_archive_dest;NAME TYPE VALUE------------原创 2010-09-25 11:11:00 · 1086 阅读 · 0 评论 -
ITL事务槽
<br />Oracle ITL:<br /> <br /> ITL是block中的相关事务信息的记录,包括 事务信息的记录(包括list编号、回滚段地址、事务类型、事务状态[提交否]、事务在该block影响的记录条数等)。ITL 是 consistents reads 的基础,根据ITL 才能去回滚段中找变化前的数据 。 如果这个事务已经提交,那么这个ITL的位置就可以被反复使用了,因为ITL类似记录,所以,有的时候也叫itl槽位。 每一个ITL 对应一个 SCN 。 <br />原创 2010-10-21 14:36:00 · 733 阅读 · 0 评论 -
block、extent、segment的关系
<br /> 其实很早就学习了这方面的内容,和mysql的概念也有几分类似,这里记录一下吧:<br /> <br /> 1、block:是Oracle中存储数据块的最小单位,所以数据最终都是存储在block中。它也被称为逻辑blocks或是页(pages)。每个操作系统都有自己的block size。而这里的block是Oracle自己的,不同于OS的blocks。可以通过设置DB_BLOCK_SIZE设置Oracle的block为OS的block的几倍,从而减少不必要的I/O。不管block原创 2010-10-22 14:47:00 · 1065 阅读 · 0 评论 -
Oracle字符集问题总结
经常有同事咨询oracle数据库字符集相关的问题,如在不同数据库做数据迁移、同其它系统交换数据等,常常因为字符集不同而导致迁移失败或数据库内数据变成乱码。现在我将oracle字符集相关的一些知识做个简单总结,希望对大家今后的工作有所帮助。 一、什么是oracle字符集原创 2011-09-17 10:00:17 · 468 阅读 · 0 评论 -
ORACLE坏块总结
Oracle数据库出现坏块现象是指:在Oracle数据库的一个或多个数据块(一个数据块的容量在创建数据库时由db_block_size参数指定,缺省为8K)内出现内容混乱的现象。由于正常的数据块都有固定的合法内容格式,坏块的出现,导致数据库进程无法正常解析数据块的内容,进而使数据转载 2011-08-18 11:18:48 · 457 阅读 · 0 评论 -
strings--在AUM下如何获取回滚段名称
以下是eygle大师几年前写的一个blog,转载过来看看~~有时候在数据库崩溃后的恢复尝试中,我们需要获得回滚段的名称。在AUM(auto undo management)模式下,由于回滚段是自动管理的,我们无法从参数文件中得到回滚段名称,这时需要一点技巧来获得回转载 2011-09-01 14:39:51 · 470 阅读 · 0 评论 -
ORA-07445与ORA-00108错误
今天在自己的数据库alert_log日志中发现大量的ORA-07445与ORA-00108错误,下面做一些说明:Oracle:10.2.0.4OS:REDHET 5.4 32bit现象:alert_zwh.log日志中不停的有错误日志写入,bdump/文件夹下不断的有trc文件写原创 2011-07-20 17:18:44 · 2910 阅读 · 0 评论 -
笔记
1、nohup 该命令可以在你退出帐户之后继续运行相应的进程。n o h u p就是不挂起的意思( no hang up)nohup imp scott/tiger@orcl fromuser=JMYX touser=GDMG file=/data/yd/V2_jmyd/jmyx.dmp LOG=/data/yd/V2_jmyd/impjmyx.LOG >IMPjmyd.log &2、AIX查看操作系统版本--oslevel原创 2011-05-05 11:29:00 · 407 阅读 · 0 评论 -
从备份集恢复归档日志的说明
当数据库出现问题,但不需要restore只需recover时,发现要用到的archivelog已经备份并删除了,因为我们备份archivelog一般是采用delete input的,这时先需要restore archivelog,然后才能做recover,下面介绍一下restore archivelog的用法:restore archivelog后面可以跟的参数有"all, from, hig原创 2011-06-19 16:41:00 · 602 阅读 · 0 评论