sqlldr的用法总结
sqlldr userid=lgone/tiger control=a.ctl 其中,a.ctl为控制文件,内容: LOAD DATA --控制文件标识 INFILE 't.dat' -- 要导入的文件 INFILE 'tt.dat' -- 导入多个文件 INFILE * -- "*" 代表要导入的内容就在control文件里,下面的BEGINDATA后面就是导入的内容 INSERT --数据载入方式,有四种 INTO TABLE table_name -- 指定装入的表 BADFILE 'c:bad.txt' --指定坏文件地址 LOGFILE 'c:l
RMAN配置介绍
执行show all命令可以显示rman的当前配置。RMAN> show all; 可以使用目标数据库控制文件替代恢复目录。[@more@]RMAN 配置参数为:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # defaultCONFIGURE BACKUP OPTIMIZATION OFF; # defaultCONFIGURE DEFAULT DEVICE TYPE TO DISK; # defaultCONFIGURE CONTROLFILE AUTOBACKUP OFF; # defaultCONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # defaultCONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # defaultCONFIGURE DATAFILE BACKUP
同一个语句在plsql的sql窗口可以执行命令窗口不能执行
今天有人反映查询非常慢,跟踪到问题sql后,发现该语句在plsql的sql窗口可以执行,但是在命令窗口不能执行。在命令窗口报错:ORA-00900:invalid sql statement.[@more@]检查很多遍,没有发现问题。将该语句放到sqlplus执行也出错。最后仔细对照sql窗口、命令窗口发现,该语句有几行空行,拷贝到sql窗口时会自动将空行去掉。马上到命令窗口将空行去掉,执行ok,再在sqlplus窗口执行也ok。原来问题在这。
控制文件被破坏的数据库恢复方法
这种情况一般不需要restore database。[@more@](一)、有镜像文件时1、如果控制文件不同步,则从参数文件中,将不同步的参数文件去掉,或拷贝一个好的控制文件替换坏的控制文件或。(ora-00214)2、如果出现ora-00205错误,检查各控制文件是否正确。3、Sql>startup(二)、没有镜像文件时Ⅰ、重建控制文件来恢复数据库:1、控制文件损坏后以NOMOUNT方式启动,然后根据以前备份的trace文件重新创建一个新的控制文件。如果在备份控制文件之后创建了新的数据文件,并且知道数据文件的路径,可以把新建的表空间的数据文件添加在重建文本中
10G、11G expdp的compression参数的区别
10g的expdp的一个参数compression是不提供对表数据的压缩的只是对metadata的压缩 也就是定义的压缩 说白了 就是没鸟用的今天刚刚装了个11g 就测试了下expdp的compression首先expdp help=y看看 11g 和10g有什么不同[@more@]Keyword Description (Default)------------------------------------------------------------------------------ATTACH Attach to existing job, e.g. ATTACH [=job name].COMPRESSION Reduce size of dumpfile contents where valid keyword. values
转一个白老大的文章--- 一个诊断的思路
昨天有一个朋友安装CRS的时候无法找到节点:$ ./cluvfy/runcluvfy.sh stage -post hwos -n node1,node2 -verbosenotice: JAVA_HOME not set in the environment.Performing post-checks for hardware and operating system setupChecking node reachability...[@more@]Check: Node reachability from node "node1"Destination Node Reachable? ------------------------------------ ------------------------node1 no node2
Index Full Scan 与 Index Fast Full Scan
index full scan和index fast full scan是指同样的东西吗?答案是no。两者虽然从字面上看起来差不多,但是实现的机制完全不同。我们一起来看看两者的区别在哪里? [@more@]首先来看一下IFS,FFS能用在哪里:在一句sql中,如果我们想搜索的列都包含在索引里面的话,那么index full scan 和 index fast full scan 都可以被采用代替full table scan。比如以下语句: SQL> CREATE TABLE TEST AS SELECT * FROM dba_objects WHERE 0=1;SQL> CREATE INDEX ind_test_id ON TEST(object_id);SQL> INSERT INTO TEST SELECT * FROM
Linux内存使用详解
我是一名程序员,那么我在这里以一个程序员的角度来讲解Linux内存的使用。一提到内存管理,我们头脑中闪出的两个概念,就是虚拟内存,与物理内存。这两个概念主要来自于linux内核的支持。Linux在内存管理上份为两级,一级是线性区,类似于00c73000-00c88000,对应于虚拟内存,它实际上不占用实际物理内存;一级是具体的物理页面,它对应我们机器上的物理内存。[@more@]这里要提到一个很重要的概念,内存的延迟分配。Linux内核在用户申请内存的时候,只是给它分配了一个线性区(也就是虚存),并没有分配实际物理内存;只有当用户使用这块内
statspack报告中Rollback per trans过高怎么办
olivenan网友在itpub上提问,statspack报表中的Rollback per transaction %达到93.97%,对系统是否有影响,偶以前也曾经也遇到过这个问题,现将这个问题做个解答,希望对这个问题比较困惑的同学有所帮所,实际情况就是:statsapck报表中的rollback perl transaction%比例过高对系统没有什么不利影响。。。[@more@]如果想对这个问题有所理解,必须对以下两个问题的概念比较清楚,还有这两个问题都比较容易理解:1 了解user rollback与transaction rollback的区别2 了解Rollback per transaction%的计算公式如果想清楚地理解第1个问题,请看
RMAN CROSSCHECK命令小bug(转)
问题不是发生在命令本身,而是发生在中文翻译上。[@more@]看下面的例子:E:>SET ORACLE_HOME=E:ORACLEORACLE920E:>%ORACLE_HOME%binrman target /@ytk92恢复管理器: 版本9.2.0.4.0 - ProductionCopyright (c) 1995, 2002, Oracle Corporation. All rights reserved.连接到目标数据库: YTK92 (DBID=1285986946)RMAN> crosscheck archivelog all;正在使用目标数据库控制文件替代恢复目录分配的通道: ORA_DISK_1通道 ORA_DISK_1: sid=16 devtype=DISK对归档日志的验证成功存档日志文件名=E:ORACLEORADATAYTK92ARCHIVE1_9.DBF 记录 I
global index & local index的区别
表可以按range,hash,list分区,表分区后,其上的索引和普通表上的索引有所不同,oracle对于分区表上的索引分为2类,即局部索引和全局索引,下面分别对这2种索引的特点和局限性做个总结。[@more@]局部索引local index1. 局部索引一定是分区索引,分区键等同于表的分区键,分区数等同于表的分区说,一句话,局部索引的分区机制和表的分区机制一样。2. 如果局部索引的索引列以分区键开头,则称为前缀局部索引。3. 如果局部索引的列不是以分区键开头,或者不包含分区键列,则称为非前缀索引。4. 前缀和非前缀索引都可以支持索引分区消除,前
"ORA-00054 resource busy and acquire with NOWAIT specified"的解决方法
今天在做同步时,出现如下错误:ORA-00054 resource busy and acquire with NOWAIT specified”资源正忙,需指定nowait"[@more@]出现这个问题的原因是正在执行的操作请求的资源正被其他事务锁定。nowait:立即执行,如果另有会话正在修改该记录会立即报告错误:ORA-00054: 资源正忙,要求指定 NOWAIT;如果不选择nowait选项则会一直处理等待状态。 wait [n]:等待n秒,如果另有会话正在修改该记录会报告错误:ORA-30006: 资源已被占用; 执行操作时出现 WAIT 超时 =>另外,还有一个skip locked。skip locked:跳过已被别的会话锁定
dbms_stats.gather_table_stats与analyze table 的区别[转贴]
参考 http://www.itpub.net/viewthread.php?tid=845777&extra=&page=1Analyze StatementThe ANALYZE statement can be used to gather statistics for a specific table, index or cluster. The statistics can be computed exactly, or estimated based on a specific number of rows, or a percentage of rows:ANALYZE TABLE employees COMPUTE STATISTICS;ANALYZE INDEX employees_pk COMPUTE STATISTICS;ANALYZE TABLE employees ESTIMATE STATISTICS SAMPLE 100 ROWS;ANALYZE TABLE employees ESTIMATE STATISTICS SAMPLE 15
analyze 与 dbms_stats 使用
analyze 与 dbms_stats 使用一、analyze 使用1、功能a)搜集和删除索引、表和簇的统计信息b)验证表、索引和簇的结构c)鉴定表和簇和行迁移和行联接d)针对analyze的搜集和删除统计信息功能而言,oracle推荐使用DBMS_STATS包来搜集优化信息,DBMS_STATS可以并行的搜集信息,可以搜集分区表的全局信息,进一步来说,按成本的优化器只会使用DBMS_STATS包所统计出来的信息。2、先决条件必须在你自己的方案中或有ANALYZE ANY system 的权限,[@more@]3、语法ANALYZE{ TABLE [ schema.]table[ PARTITION ( partition ) | SUBPARTITION ( subpartiti
Oracle OS Watcher使用说明
OSW是Oracle提供的一个用于操作系统监控的工具包,这个工具包可以从Metalink下载。Metalink Note:301137.1 OSW支持的平台OSW is certified to run on the following platforms:AIX Tru64 Solaris HP-UX Linux[@more@]OSW的安装从metalink上下载后(并ftp 到unix server上),直接tar开就可以使用了。如果是compress格式的,先解压缩,比如:uncompress osw.tar.Ztar xvf osw.tar [cs1] /oracle> tar xvf osw.tarx .x ./oswx ./osw/Exampleprivate.net, 1731 bytes, 4 media blocks.x ./osw/OSWatcher.sh, 11784 bytes, 24 media bloc
oracle诊断工具-RDA使用(转)
RDA是Remote Diagnostic Agent 的简称,是oracle用来收集、分析数据库的工具,运行该工具不会改变系统的任何参数,RDA收集的相关数据非常全面,可以简化我们日常监控、分析数据库的工作,Oracle Support也建议我们在反馈相关问题时,提供RDA收集的数据,这样可以为快速解决问题提供一个有力的保证。[@more@]一、支持的操作系统 IBM AIX Intel Linux (RedHat and SuSE) HP-UX (10.* and 11.*) HP Tru64 Sequent Dynix/Ptx Sun Solaris (2.6 - 2.10) Windows XP Professional Windows 2000 Workstation and Server Windows 2003 Server 二、
ORA-00600 : internal error code, arguments: [qertbFetchByRowID]
检查alert.log时发现错误:Errors in file /u01/app/oracle/admin/bakdb/udump/bakdb2_ora_1097.trc:ORA-00600 : internal error code, arguments: [qertbFetchByRowID], [], [], [], [], [], [], [][@more@]这个错误是oracle的bug(4258825, 4000840)引起的,虽然官方宣称这两个bug已经在10.2.0.1版本上修复了(我们的版本是10.2.0.2),实际上看,已经修复的bug未必就不再发生。绝对地来说Oracle在更新表时肯定会自动维护索引的, 不过由于程序的Bug(4258825, 4000840)在有些条件下Insert/Delete/Update表的记录后, Oracle没有维护索引, 就
crs reboot_toc引起主机重启问题(patch sets:MLR#10 6273339)
系统刚上线时,RAC的一个节点出现几次因reboot_toc重启。现象:当前主机情况:数据库服务器的配置如下,cpu激活数为16个。System Name : HP-UXModel : server rx8640HP-UX version : B.11.23CPU type : IA64 (400 Mhz)CPU Architecture : IA-64 0当前数据库情况:crs 10.2.0.3 + oracle 10.2.0.3 (rac)当前问题:在两节点rx8640的oracle rac环境下,节点1的操作系统曾经出现几次无故重起现象,,数据库层面上数据库的告警日志和crs都缺少产生的日志(未产生),hp工程师通过主机问题产生的core文件分析,认为是oracle的crs引起的,发现是由
bdump目录下产生大量*m000*.trc文件(P5010657)
现象:在bdump目录下产生大量*m000*.trc文件,其文件内容是:ksugetosstat failed: op=pstat_getprocessor,location=slsgetactive ()[@more@]原因:这是由于oracle发现主机上有32颗cpu,而在操作系统上只激活了16颗!解决方法:升级数据库,补丁名称为5010657,具体升级步骤如下:1、从metalink网站上下载补丁p5010657_10203_HPUX-IA64.zip,将其上传到/var/tmp目录下;2、以oracle用户执行:% unzip p5010657_10203_HPUX-IA64.zip% cd /var/tmp/50106573、关闭数据库,以oracle用户执行: %srvctl stop database -d ysdb%srvctl stop nod
bdump目录发现大量trc文件(bug 5500535、5201883)
巡检时发现bdump目录下存在大量trc文件,数据库正常运行时不应该产生这么多的trc文件。[@more@]主要有以下trc文件:lgwr.trc、ckpt.trc:内容主要是:warning:oracle process running out of os kernek i/o resources 这个跟bug 5500535 有关mman.trc:内容:AUTO SGA: Not free 0xc000000593efef20, 1, 1, 1也是bug,Bug 5201883 ,在10.2.0.4得到修复mmon:*** KEWRAFC: Flush slave failed, AWR Enqueue Timeout内容:可能跟一个undo的bug有关系