《oracle数据库操作手册》由会员分享,可在线阅读,更多相关《oracle数据库操作手册(47页珍藏版)》请在金锄头文库上搜索。
1、操作手册操作手册目录一表空间. 41。创建表空间. 42.增加表空间. 43。删除表空间. 54。查询表空间状态. 55。查询数据文件路径. 56.移动表空间中数据文件的路径.57.移动表和索引到其他表空间.68。查看表空间的使用率. 7二用户和权限. 91.创建用户. 92.修改用户的密码. 93.给用户授权. 94. 查询数据库系统上有多少用户,文件名和创建时间 .10三归档和非归档模式 .101.查看数据库的归档模式.102.修改数据库的归档模式.10四日志文件. 111。查询日志文件信息. 112.增加日志文件配置信息.123。增加日志成员. 124.删除一组日志. 12五密码文件.
2、131.创建密码文件. 13六参数文件(SPFILE PFILE) .131.查看数据库使用参数文件( SPFILE 还是PFILE) .132.创建SPFILE. 133。通过PFILE 启动数据库.13七STATSPACK. 141。安装STATSPACK. 142.数据采集. 143。设置自动快照. 144。设置数据采集的时间.14八ORACLE 信息查询 .151.查询ORACLE数据库的名字 ,创建日期 .152。 查询ORACLE所在操作系统的主机名,实例名,版本 .153。查询ORACLE数据库系统版本详细信息 .15九控制文件. 161.查询控制文件. 162。备份控制文件.
3、16十索引. 161。创建普通索引. 162.创建位图索引. 163。查询索引所在的表,表空间,索引类型 .164。查询索引所在的列. 17十一.主键. 181。定义主键. 182.查询主键索引. 183。查询约束信息. 184。禁止约束. 195.开启主键. 19十二.手工建库脚本. 19十三.PROFILE文件内容. 20十四.做定时 JOB. 211。创建存储过程,为此存储过程作定时 JOB .212.定时JOB 的 参数说明.21十五。查询出 SQL 语句. 221.通过SID 找出HASH VALUE 值.222。通过HASH VALUE 值 查询出SQL 语句 .223.根据HAS
4、H VALUE 值 查询出对应的 SESSLIN SID .224。根据HASH VALUE 找出对应的机器名称 .225。通过HASH VALUE 查询出 该语句的执行计划 .236。查询存储过程. 237。查询对象属于哪个用户.238。查询表的分析时间. 239。查询对象(表)的类型.23十六.查询脚本. 241。查询等待事件. 242.查询大表已经索引超过2G 的对象 .243。查看锁. 25十七。基本的 SQL 语句. 251.对表的操作. 252.常用的函数. 26十八。安装手册. 27十九.错误总结. 271. ORA00257: 归档程序错误. 27二十。故障处理. 291。日志
5、挖掘. 292。行链接行迁移. 303.逻辑备份( exp/imp).354.关闭和启动数据库的步骤.36二十一。METALINK 操作. 371.开二级别SR. 372.OPATCH 下载地址. 383.数据库升级补丁下载. 38二十二。ORACLE下载. 401。ORACLE10G 下载方法.40P1。IMP/EXP参数详细说明.43一表空间一表空间1.1.创建表空间创建表空间create tablespace xjzhang datafile dcreate tablespace xjzhang datafile d:oracleproduct10.1oracleproduct10.1。
6、0oradata0oradataxjzhang.dbf size 20mxjzhang.dbf size 20mautoextend offautoextend offsegment space management autosegment space management autoautoextend offautoextend off不自动扩展不自动扩展segment space management autosegment space management auto自动段管理自动段管理 推荐推荐1 1。1 1 创建临时表空间创建临时表空间create temporary tablespa
7、ce temp1 tempfile dcreate temporary tablespace temp1 tempfile d:oracleproduct10oracleproduct10。1.0oradat1.0oradataauctempaauctemp。dbf size 5m audbf size 5m autoextend offtoextend off用于存放扩展信息用于存放扩展信息1.21.2 创建创建 UNDOUNDO 表空间表空间createcreateundoundotablespacetablespacezzq_undo1zzq_undo1datafiledatafileD
8、:D:ORACLEPRODUCT10ORACLEPRODUCT10 。1 1。0ORADATAAUC0ORADATAAUC ZZQ_UNDO2.DBF size 20m autoextend offZZQ_UNDO2.DBF size 20m autoextend off2.2.增加表空间增加表空间alteralter tablespacetablespace BCS_LOGBCS_LOG addadd datafiledatafile /disk_array/oracle/oracle/oradata/auc/BCS_LO/disk_array/oracle/oracle/oradata/a
9、uc/BCS_LO G13G13。dbf size 1024m autoextend offdbf size 1024m autoextend off-路径根据操作系统的不听进行填写路径根据操作系统的不听进行填写3.3.删除表空间删除表空间drop tablespace zzqdrop tablespace zzq- - -直接删除表空间,而不删除对应的数据文件直接删除表空间,而不删除对应的数据文件drop tablespace zzq INCLUDING CONTENTSdrop tablespace zzq INCLUDING CONTENTS- - -加上该选项加上该选项 则连同数据文件
10、一起删除了则连同数据文件一起删除了4 4。查询表空间状态。查询表空间状态col tablespace_name for a15col tablespace_name for a15select tablespace_nameselect tablespace_name,block_size,status,contents,logging from dba_tablespablock_size,status,contents,logging from dba_tablespaces;ces;查询结果查询结果 STATUSSTATUS 为为 ONLINEONLINE 表示为联机状态表示为联机状态
11、正常正常 如果为如果为 OFFLINEOFFLINE 说明表空间不被使用说明表空间不被使用5.5.查询数据文件路径查询数据文件路径select file_id,file_nameselect file_id,file_name,tablespace_nametablespace_name,status,bytes from dba_data_filesstatus,bytes from dba_data_files6.6.移动表空间中数据文件的路径移动表空间中数据文件的路径1. 1.首先确定数据文件的状态首先确定数据文件的状态 要为要为 OFFLINEOFFLINEselect tablesp
12、ace_name,status,contents from dba_tablespacesselect tablespace_name,status,contents from dba_tablespacesselectselect file_id,file_namefile_id,file_name , tablespace_nametablespace_name fromfrom dba_data_filesdba_data_files wherewhere file_namefile_name likelike%ORACLE%ORACLE order by file order by f
13、ile- -通过该语句查询数据文件的路径通过该语句查询数据文件的路径2. 2.将该表空间修改为将该表空间修改为 OFFLINEOFFLINEalter tablespace USERS offlinealter tablespace USERS offlineselect tablespace_nameselect tablespace_name,statusstatus,contents fromcontents from dba_tablespacesdba_tablespaces- -查看表空间状态确定修改查看表空间状态确定修改成功成功3. 3.移动数据文件移动数据文件host copy
14、 D:oracleproduct10.1host copy D:oracleproduct10.1。0oradataaucUSERS01.DBF d0oradataaucUSERS01.DBF d:oracleproduct10.1oracleproduct10.1。0oradataaucdbf0oradataaucdbf4. 4.重新命名重新命名 该表空间的路径和名称该表空间的路径和名称alter tablespace users rename datafile dalter tablespace users rename datafile d:oracleproduct10.1.0orad
15、ataaucoracleproduct10.1.0oradataaucUSERS01.DBFUSERS01.DBFto d:oracleprto d:oracleproduct10.1oduct10.1。0oradataaucdbfUSERS010oradataaucdbfUSERS01。DBFDBF5. 5.修改表空间的状态为修改表空间的状态为 ONLINEONLINE 状态状态alter tablespace users onlinealter tablespace users online第二种方法第二种方法在数据库位在数据库位 mountmount 的模式下的模式下1. 1.hosth
16、ostcopycopyd d : oracleproduct10.1oracleproduct10.1 。 0oradataaucsystem010oradataaucsystem01 。 dbfdbfd d :oracleproduct10.1.0oradataaucsystemoracleproduct10.1.0oradataaucsystem2. 2. alteralter databasedatabase renamerename filefile d d:oracleproduct10oracleproduct10。1.0oradataaucsystem011.0oradataau
17、csystem01。dbfdbf totod:oracleproduct10.1.d:oracleproduct10.1.0oradataaucsystem0oradataaucsystemsystem01.dbfsystem01.dbf3.alter database open3.alter database open4 4。 select file_name,tablespace_name from dba_data_filesselect file_name,tablespace_name from dba_data_files7.7.移动表和索引到其他表空间移动表和索引到其他表空间1.
18、 1.查询该对象存放在哪个表空间查询该对象存放在哪个表空间selectselect segment_namesegment_name,tablespace_nametablespace_name,extents,blocksextents,blocks fromfrom dba_segmentsdba_segments wherewhereowner=ZHANGowner=ZHANG2 2。查询该对象是索引,还是表。查询该对象是索引,还是表selectselect object_idobject_id, object_nameobject_name, object_typeobject_typ
19、e, status,createdstatus,created fromfrom dba_objectsdba_objects wherewhereowner=ZHANGowner=ZHANG3. 3.查询索引或者表查询索引或者表 存放在哪个表空间存放在哪个表空间selectselect index_nameindex_name, table_nametable_name, tablespace_nametablespace_name, statusstatus fromfrom dba_indexesdba_indexes wherewhereowner=ZHANGowner=ZHANG4.
20、 4.移动表到另一个表空间移动表到另一个表空间alter table zhang.zzq_1 move tablespace zhang_zzqalter table zhang.zzq_1 move tablespace zhang_zzq6. 6.查询该表是否移动到该表空间查询该表是否移动到该表空间selectselect segment_namesegment_name , tablespace_name,extents,blockstablespace_name,extents,blocks fromfrom dba_segmentsdba_segments wherewhereown
21、er=ZHANGowner=ZHANG7. 7.检查表是否有效检查表是否有效selectselect object_idobject_id,object_nameobject_name,object_type,status,createdobject_type,status,created fromfrom dba_objectsdba_objects wherewhereowner=ZHANGowner=ZHANG状态为状态为 VALIDVALID 是有效是有效8. 8.重建索引重建索引 并且将索引移动到另一个表空间并且将索引移动到另一个表空间alter index zhang.zzq_in
22、dex rebuild tablespace zhang_zzqalter index zhang.zzq_index rebuild tablespace zhang_zzq9. 9.查询索引对应的表空间查询索引对应的表空间selectselectindex_nameindex_name , table_name,tablespace_name,statustable_name,tablespace_name,status fromfromdba_indexesdba_indexes wherewhereowner=ZHANGowner=ZHANG8.8.查看表空间的使用率查看表空间的使用率
23、有两个脚本都可以使用1。col f.tablespace_name format a15col f.tablespace_name format a15col d.tot_grootte_mb format a10col d.tot_grootte_mb format a10col tscol tsper format a8per format a8select upper(fselect upper(f。tablespace_name) ”TSname”tablespace_name) ”TSname”,d d。tot_grootte_mb TS-bytestot_grootte_mb TS
24、-bytes(mm) ,d d。tot_grootte_mb -tot_grootte_mb -f.total_bytes ”TSf.total_bytes ”TS-used-used (mm)” ”,f f。total_bytes TS-free(mtotal_bytes TS-free(m) ,to_charto_char(round(dround(d。tot_grootte_mbtot_grootte_mb f f。total_bytes) / d.tot_grootte_mb * 100,total_bytes) / d.tot_grootte_mb * 100,2)2),990990
25、。99) TS99) TSperperfrom (select tablespace_namefrom (select tablespace_name,round(sum(bytesround(sum(bytes) / (1024 * 1024/ (1024 * 1024) , 2) total_bytes,2) total_bytes,roundround(max(bytesmax(bytes) / (1024 * 1024/ (1024 * 1024), 2) max_bytes, 2) max_bytesfrom sysfrom sys。dba_free_spacedba_free_sp
26、acegroup by tablespace_namegroup by tablespace_name) f, f,(select dd.tablespace_name,select dd.tablespace_name,round(sumround(sum(dddd。bytesbytes) / (1024/ (1024 10241024), 2) tot_grootte_mb, 2) tot_grootte_mbfrom sys.dba_data_files ddfrom sys.dba_data_files ddgroup by dd.tablespace_name) dgroup by
27、dd.tablespace_name) dwhere dwhere d。tablespace_name = ftablespace_name = f。tablespace_nametablespace_nameorder by 5 descorder by 5 desc2.SELECT DSELECT D。TABLESPACE_NAMETABLESPACE_NAME,SPACE ”SUM_SPACESPACE ”SUM_SPACE(M),M),BLOCKS SUM_BLOCKS,BLOCKS SUM_BLOCKS,SPACESPACE NVL(FREE_SPACE, 0) USED_SPACE
28、 NVL(FREE_SPACE, 0) USED_SPACE(M)M),ROUNDROUND( (1 - NVL1 - NVL(FREE_SPACE, 0) / SPACEFREE_SPACE, 0) / SPACE) * 100* 100, 2 2) ”USED_RATE(%),”USED_RATE(%),FREE_SPACE FREE_SPACE(MFREE_SPACE FREE_SPACE(M) FROM (SELECT TABLESPACE_NAMEFROM (SELECT TABLESPACE_NAME,ROUNDROUND(SUMSUM(BYTES) / (1024BYTES) /
29、 (1024 1024)1024), 2) SPACE,2) SPACE,SUM(BLOCKSSUM(BLOCKS) BLOCKSBLOCKSFROM DBA_DATA_FILESFROM DBA_DATA_FILESGROUP BY TABLESPACE_NAMEGROUP BY TABLESPACE_NAME ) D D,(SELECT TABLESPACE_NAME,(SELECT TABLESPACE_NAME,ROUNDROUND(SUMSUM(BYTESBYTES) / (1024/ (1024 1024), 2) FREE_SPACE1024), 2) FREE_SPACEFRO
30、M DBA_FREE_SPACEFROM DBA_FREE_SPACEGROUP BY TABLESPACE_NAME) FGROUP BY TABLESPACE_NAME) FWHERE D.TABLESPACE_NAME = FWHERE D.TABLESPACE_NAME = F 。TABLESPACE_NAMETABLESPACE_NAME(+)+)UNION ALLUNION ALL -if have tempfile-if have tempfileSELECT D.TABLESPACE_NAME,SELECT D.TABLESPACE_NAME,SPACE SUM_SPACESP
31、ACE SUM_SPACE(M)”,M)”,BLOCKS SUM_BLOCKSBLOCKS SUM_BLOCKS,USED_SPACE USED_SPACEUSED_SPACE USED_SPACE(M),M),ROUND(NVL(USED_SPACEROUND(NVL(USED_SPACE, 0 0) / SPACE * 100/ SPACE * 100, 2 2) ”USED_RATE”USED_RATE()() ,NVL(FREE_SPACE, 0NVL(FREE_SPACE, 0) ”FREE_SPACE”FREE_SPACE(M)”M)”FROMFROM (SELECT TABLES
32、PACE_NAMESELECT TABLESPACE_NAME,ROUNDROUND(SUMSUM(BYTES) /BYTES) / (1024 * 1024)1024 * 1024), 2 2) SPACESPACE,SUMSUM(BLOCKS) BLOCKSBLOCKS) BLOCKSFROM DBA_TEMP_FILESFROM DBA_TEMP_FILESGROUP BY TABLESPACE_NAMEGROUP BY TABLESPACE_NAME ) D D,(SELECT TABLESPACE_NAME(SELECT TABLESPACE_NAME,ROUNDROUND(SUM(
33、BYTES_USED) /SUM(BYTES_USED) / (10241024 10241024) , 2) USED_SPACE2) USED_SPACE,ROUNDROUND(SUMSUM(BYTES_FREE) /BYTES_FREE) / (10241024 10241024), 2, 2) FREE_SPACEFREE_SPACEFROM V$TEMP_SPACE_HEADERFROM V$TEMP_SPACE_HEADERGROUP BY TABLESPACE_NAMEGROUP BY TABLESPACE_NAME ) F FWHERE D.TABLESPACE_NAME =
34、F.TABLESPACE_NAMEWHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME (+)+)ORDER BY 5 DESCORDER BY 5 DESC二用户和权限二用户和权限1 1。创建用户。创建用户create user yqm identified by ora1234 default tablespace ts_yqmtemporary tablespace ts_temp_yqm创建用户 yqm 密码为 ora123默认的表空间维 ts_yqm 默认的临时表空间为 ts_yqm默认的 临时表空间维 ts_temp_yqm2 2。修改用户的密码。
35、修改用户的密码alter user yqm identified by yqm1234alter user yqm identified by yqm12343 3。给用户授权。给用户授权grant connect to yqmgrant connect to yqm- -授予用户授予用户 connectconnect 的权限的权限grant dba to yqmgrant dba to yqm授予用户授予用户 DBADBA 的权限的权限revoke dba from yqmrevoke dba from yqm收回用户收回用户 DBADBA 的权限的权限grant select on sco
36、tt.emp to kxhtgrant select on scott.emp to kxht- -授予用户授予用户 能查询能查询 SCOTTSCOTT 下的下的 EMPEMP 表的权限表的权限grant select any table to sologrant select any table to solo- -授予用户能查询所有表的权限授予用户能查询所有表的权限grant delete any table to sologrant delete any table to sologrant create any table to sologrant create any table t
37、o solo4.4. 查询数据库系统上有多少用户,文件名和创建时间查询数据库系统上有多少用户,文件名和创建时间select usernameselect username,created from dba_userscreated from dba_users三归档和非归档模式三归档和非归档模式1.1.查看数据库的归档模式查看数据库的归档模式在数据库正常启动的模式下在数据库正常启动的模式下Archive log listArchive log list2 2。修改数据库的归档模式。修改数据库的归档模式在数据库为在数据库为 mountmount 的模式下进行修改的模式下进行修改alter dat
38、abase archivelogalter database archivelog- -将非归档模式修改为归档模式将非归档模式修改为归档模式alter system set log_alter system set log_archive_dest_1=location=darchive_dest_1=location=d:oracleoraclelog scope=spfilelog scope=spfile修改数据库的归档日志路径修改数据库的归档日志路径四日志文件四日志文件1 1。查询日志文件信息。查询日志文件信息SelectSelect from vfrom vlogfilelogfil
39、eSQLSQL desc v$logfiledesc v$logfile;名称名称是否为空?是否为空? 类型类型- - - - - - - - - - - - - - - -GROUPGROUPNUMBERNUMBERSTATUSSTATUSVARCHAR2(7)VARCHAR2(7)TYPETYPEVARCHAR2(7VARCHAR2(7)MEMBERMEMBERVARCHAR2(513)VARCHAR2(513)IS_RECOVERY_DEST_FILEIS_RECOVERY_DEST_FILEVARCHAR2(3VARCHAR2(3)可以查询出日志文件属于哪个组,日志文件的路径可以查询出
40、日志文件属于哪个组,日志文件的路径1 1。1 1 查询日志文件大小查询日志文件大小select bytes/1024select bytes/1024 /1024 from v$log/1024 from v$log- -查询日志文件的大小查询日志文件的大小1.21.2 日志切换日志切换alter system switch logfilealter system switch logfile手工切换日志手工切换日志1 1。3 3 重做日志文件详细重做日志文件详细SQL select group#SQL select group#,membersmembers,bytes,statusbyte
41、s,status,archived from v$log;archived from v$log;查询结果:查询结果:GROUPGROUPMEMBERSMEMBERSBYTES STATUSBYTES STATUSARCARC- - - - - - - - - - - - - -1 12 210485760 CURRENT10485760 CURRENTNONO2 22 210485760 INACTIVE10485760 INACTIVEYESYES3 31 110485760 INACTIVE10485760 INACTIVEYESYES4 41 110485760 INACTIVE104
42、85760 INACTIVEYESYES结果显示,有四组重做日志结果显示,有四组重做日志,1 ,1 组组 2 2 组有两个成员,组有两个成员,3 3 组组 4 4 组有一个成员,大小组有一个成员,大小 1048576010485760 字节字节. .正在使用的是正在使用的是 第一组日志第一组日志, ,(状态为状态为 CURRENT),1CURRENT),1 组没有归档,组没有归档,2,32,3,4 4 组都归档了组都归档了. .(ARCARC 为为 NONO,没有归档,没有归档,YES,YES,为归档)为归档)CURRENTCURRENT 表示正在被使用表示正在被使用2.2.增加日志文件配置信
43、息增加日志文件配置信息alter database add logfile group 4 dalter database add logfile group 4 d:oracleproduct10oracleproduct10。1 1。0oradataaucre0oradataaucredo04 size 10mdo04 size 10m查询出原来日志组中日志成员的大小查询出原来日志组中日志成员的大小 增加日志组增加日志组 日志成员的大小和原有的日志成员大小一致日志成员的大小和原有的日志成员大小一致3 3。增加日志成员。增加日志成员alter database add logfile mem
44、ber dalter database add logfile member d:oracleproduct10oracleproduct10。1.0oradataaucred1.0oradataaucredo011 to group 1o011 to group 1为日志一组增加一个日志成员为日志一组增加一个日志成员4 4。删除一组日志。删除一组日志alter database drop logfile group 4alter database drop logfile group 4五密码文件五密码文件1 1。创建密码文件。创建密码文件SQLSQL hosthost orapwdorap
45、wd file=d:oracleproduct10file=d:oracleproduct10。1 1。0db_1dbsinitdw.ora0db_1dbsinitdw.ora password=oraclepassword=oracleentries=5entries=5六参数文件(六参数文件(spfilepfile)spfilepfile)1 1。查看数据库使用参数文件(。查看数据库使用参数文件(SPFILESPFILE 还是还是 PFILEPFILE)Show parameter spfileShow parameter spfile查询结果如果查询结果如果 VALUEVALUE 有路劲
46、的话有路劲的话 说明数据库说明数据库 的参数文件的参数文件 使用的是使用的是 SPFILESPFILE2 2。创建。创建 SPFILESPFILECreate spfile from pfile=DCreate spfile from pfile=D:oracleproduct10oracleproduct10。1.0adminaucpfileinit1.0adminaucpfileinit。ora.1111200818ora.111120081852565256当数据库当数据库 启动启动 使用使用 PFILEPFILE 启动的时候启动的时候 通过以上方式通过以上方式 创建创建 SPFILES
47、PFILE3.3.通过通过 PFILEPFILE 启动数据库启动数据库startup pfile=Dstartup pfile=D:oracleproduct10oracleproduct10。1.0adminaucpfileinit.ora1.0adminaucpfileinit.ora。111120081811112008185256;5256;七七statspackstatspack1.1.安装安装 STATSPACKSTATSPACK?/rdbms/admin/spcreate?/rdbms/admin/spcreate。sqlsql2.2.数据采集数据采集采样数据采样数据SQL ex
48、ec statspack.snapSQL exec statspack.snap后隔几分钟后再次采样数据后隔几分钟后再次采样数据SQLSQL exec statspack.snap exec statspack.snap生成报表生成报表SQLSQL?/rdbms/admin/spreport.sql?/rdbms/admin/spreport.sql3.3.设置自动快照设置自动快照oracleproduct10。1.0db_1rdbmsadminspauto.sql4 4。设置数据采集的时间。设置数据采集的时间修改该脚本中的内容修改该脚本中的内容, ,variable jobno number
49、variable jobno number;variable instno number;variable instno number;beginbeginselect instance_number intoselect instance_number into :instno from v$instance;instno from v$instance;dbms_job.submitdbms_job.submit(:jobno:jobno, statspackstatspack。snapsnap;, , trunctrunc(sysdate+1sysdate+1 / /24,HH24,HH
50、), , trunctrunc(SYSDATE+1SYSDATE+1 / /2424,HHHH) , TRUE, :instnoTRUE, :instno) ;commit;commit;end;end;/ /主要是主要是 2424系统默认的是系统默认的是 一个小时自动执行一次一个小时自动执行一次, ,如果设置为半个小时执行一次的话,就将如果设置为半个小时执行一次的话,就将 2424 修改为修改为 4848就可以了就可以了-然后执行然后执行?/rdbms/admin/spauto?/rdbms/admin/spauto八八ORACLEORACLE 信息查询信息查询1.1.查询查询 ORACLE
51、ORACLE 数据库的名字,创建日期数据库的名字,创建日期select nameselect name,created,log_modecreated,log_mode,open_mode from v$databaseopen_mode from v$database2 2。 查询查询 ORACLEORACLE 所在操作系统的主机名所在操作系统的主机名, ,实例名,版本实例名,版本select host_name,instance_nameselect host_name,instance_name,version from vversion from vinstanceinstance3.
52、3.查询查询 ORACLEORACLE 数据库系统版本详细信息数据库系统版本详细信息selectselect from vfrom vversionversion九控制文件九控制文件1 1。查询控制文件。查询控制文件col name for a45col name for a45select * from v$controlfileselect * from v$controlfile2.2.备份控制文件备份控制文件alter database backup controlfile to trace备份控制文件为备份控制文件为 TRCTRC 文件文件 在在 BDUMPBDUMP 中可以找到中可
53、以找到十索引十索引1.1.创建普通索引创建普通索引createcreate indexindex zhangzhang。zzq_1_indexzzq_1_index onon zhangzhang。zzq_1(a3)zzq_1(a3) pctfreepctfree 2525 storagestorage (initialinitial 500k500k)tablespace zzq_indextablespace zzq_index2 2。创建位图索引。创建位图索引create bitmap index zhang.zzq_2_index on zhang。zzq_2(aname) pctfr
54、ee 25 storage (initial 500k)tablespace zzq_index3 3。查询索引所在的表,表空间,索引类型。查询索引所在的表,表空间,索引类型SQL col tablespace_name for a15SQL col tablespace_name for a15SQLSQL selectselect index_nameindex_name,index_type,table_name,tablespace_name,uniquenessindex_type,table_name,tablespace_name,uniqueness,statusstatus
55、fromfrom dba_indexesdba_indexeswhere owner=ZHANGwhere owner=ZHANG;INDEX_NAMEINDEX_NAMEINDEX_TYPEINDEX_TYPETABLE_NAMETABLE_NAMETABLESPACE_NAME UNIQUENES STATUSTABLESPACE_NAME UNIQUENES STATUS- - - - - - - - - - - - - - - - - - - - - - - - - - -ZZQ_2_INDEXZZQ_2_INDEXBITMAPBITMAPZZQ_2ZZQ_2ZZQ_INDEXZZQ_
56、INDEXNONUNIQUE VALIDNONUNIQUE VALIDBINBINJzT/JzT/ 4eOlRteD8fJ2TYznbw=$04eOlRteD8fJ2TYznbw=$0 NORMALNORMALBIN$uZNQmZH5SSa6pO3YXAGNLA=$0BIN$uZNQmZH5SSa6pO3YXAGNLA=$0 ZHANG_ZZQZHANG_ZZQNONUNIQUE VALIDNONUNIQUE VALIDZZQ_1_INDEXZZQ_1_INDEXNORMALNORMALZZQ_1ZZQ_1ZZQ_INDEXZZQ_INDEXNONUNIQUE VALIDNONUNIQUE V
57、ALID查询结果可以看出,索引查询结果可以看出,索引 zzq_2_indexzzq_2_index 是是 BITMAPBITMAP 索引,位于表索引,位于表 zzq_2,zzq_2,位于位于 ZZQ_INDEXZZQ_INDEX 表空间表空间是非唯一是非唯一索引(索引(NONUNIQUENONUNIQUE), ,状态状态 VALIDVALID 表示正常表示正常索引索引 ZZQ_1_INDEXZZQ_1_INDEX 是普通索引,是普通索引, 位于表位于表 ZZQ_1ZZQ_1 位于位于 ZZQ_INDEXZZQ_INDEX 表空间表空间是非唯一索是非唯一索引(引(NONUNIQUE)NONUNI
58、QUE),状态,状态 VALIDVALID 表示正常表示正常4.4.查询索引所在的列查询索引所在的列SQL select index_nameSQL select index_name, table_name,column_nametable_name,column_name, index_owner,table_owner from dba_ind_columns whereindex_owner,table_owner from dba_ind_columns wheretable_owner=ZHANG;table_owner=ZHANG;INDEX_NAMEINDEX_NAMETABL
59、E_NAMETABLE_NAMECOLUMN_NAMECOLUMN_NAMEINDEX_OWNERINDEX_OWNERTABLE_OWNERTABLE_OWNER- - - - - - - - - - - - - - - - - - - - - - - - -ZZQ_2_INDEXZZQ_2_INDEXZZQ_2ZZQ_2ANAMEANAMEZHANGZHANGZHANGZHANGBINBINJzT/JzT/ 4eOlRteD8fJ2TYznbw=4eOlRteD8fJ2TYznbw=0 0 BIN$uZNQmZH5SSa6pO3YXAGNLA=$0BIN$uZNQmZH5SSa6pO3YX
60、AGNLA=$0 NAME_IDNAME_IDZHANGZHANGZHANGZHANGZZQ_1_INDEXZZQ_1_INDEXZZQ_1ZZQ_1A3A3ZHANGZHANGZHANGZHANG查询结果看出查询结果看出,ZZQ_2_INDEX,ZZQ_2_INDEX 该索引该索引 在表在表 ZZQ_2ZZQ_2 中,所在的列为中,所在的列为 ANAMEANAME,所在的用户为,所在的用户为 ZHANG.ZHANG.十一。主键十一。主键1 1。定义主键。定义主键定义定义 zzq_3zzq_3 表中表中 A1A1 字段为主键约束字段为主键约束 主键名称为主键名称为 A3_primary_key
61、A3_primary_keySQLSQL alter table zhang.zzq_3 ADD constraint zzq_3_primary_key primary key (a1alter table zhang.zzq_3 ADD constraint zzq_3_primary_key primary key (a1 ) deferrabledeferrableusing index tablespace zzq_primary_key;using index tablespace zzq_primary_key;该错误是该错误是 主键约束主键约束ORAORA00001:00001
62、: 违反唯一约束条件违反唯一约束条件2 2。查询主键索引。查询主键索引SQL col segment_name for a20SQL col segment_name for a20SQLSQLselectselect segment_name,segment_type,tablespace_namesegment_name,segment_type,tablespace_name fromfrom dba_segmentsdba_segments wherewheretablespace_name=ZZQ_PRIMARY_KEYtablespace_name=ZZQ_PRIMARY_KEY3
63、 3。查询约束信息。查询约束信息SQLSQL selectselect constraint_nameconstraint_name,table_name,constraint_typetable_name,constraint_type,status,deferred,validatedstatus,deferred,validated fromfromdba_constraints where owner=ZHANGdba_constraints where owner=ZHANG;CONSTRAINT_NAME TABLE_NAMECONSTRAINT_NAME TABLE_NAMECO
64、NSTRAINT_TYPECONSTRAINT_TYPESTATUSSTATUSDEFERREDDEFERRED- - - - - - - - - - - - - - - - - - - - - -VALIDATEDVALIDATED- - - -ZZQ_3_PRIMARY_K ZZQ_3ZZQ_3_PRIMARY_K ZZQ_3P PENABLEDENABLEDIMMEDIATEIMMEDIATEEYEY状态为状态为ENABLEDENABLED表示表示 主键有效(主键打开)主键有效(主键打开) ,状态为,状态为 DISABLEDDISABLED,表示主键关闭,表示主键关闭4 4。禁止约束。禁
65、止约束alter table zhang.zzq_3 disable novalidate constraint zzq_3_primary_key;alter table zhang.zzq_3 disable novalidate constraint zzq_3_primary_key;5.5.开启主键开启主键alter table zhangalter table zhang。zzq_3 enable novalidate constraint zzq_3_primary_keyzzq_3 enable novalidate constraint zzq_3_primary_key十二
66、。手工建库脚本十二。手工建库脚本CREATE DATABASE wxzbCREATE DATABASE wxzbUSER SYS IDENTIFIED BY oracleUSER SYS IDENTIFIED BY oracleUSER SYSTEM IDENTIFIED BY oracleUSER SYSTEM IDENTIFIED BY oracleLOGFILE GROUP 1 (/dev/rdatavg_1_076LOGFILE GROUP 1 (/dev/rdatavg_1_076) SIZE 1022MSIZE 1022M,GROUP 2 (/dev/rGROUP 2 (/dev/
67、rdatavg_1_077) SIZE 1022M,datavg_1_077) SIZE 1022M,GROUP 3 (/dev/rdatavg_1_078) SIZE 1022MGROUP 3 (/dev/rdatavg_1_078) SIZE 1022MMAXLOGFILES 10MAXLOGFILES 10MAXLOGMEMBERS 5MAXLOGMEMBERS 5MAXLOGHISTORY 1MAXLOGHISTORY 1MAXDATAFILES 100MAXDATAFILES 100MAXINSTANCES 1MAXINSTANCES 1CHARACTER SET ZHS16GBKC
68、HARACTER SET ZHS16GBKNATIONAL CHARACTER SET UTF8NATIONAL CHARACTER SET UTF8DATAFILE /dev/rdatavg_2_sys SIZE 2046M REUSEDATAFILE /dev/rdatavg_2_sys SIZE 2046M REUSEEXTENT MANAGEMENT LOCALEXTENT MANAGEMENT LOCALDEFAULT TEMPORARY TABLESPACE temp1DEFAULT TEMPORARY TABLESPACE temp1TEMPFILE /dev/rdatavg_2
69、_tmp1TEMPFILE /dev/rdatavg_2_tmp1SIZE 2046M REUSESIZE 2046M REUSEUNDO TABLESPACE UNDOTBS1UNDO TABLESPACE UNDOTBS1DATAFILE /dev/rdatavg_2_udo1DATAFILE /dev/rdatavg_2_udo1SIZE 2046M REUSE AUTOEXTEND offSIZE 2046M REUSE AUTOEXTEND off;十三十三. . 。profileprofile文件内容文件内容_=/usr/bin/env_=/usr/bin/envTMPDIR=/o
70、racle/tempTMPDIR=/oracle/tempLANG=en_USLANG=en_USLOGIN=oracleLOGIN=oraclePGSD_SUBSYS=grpsvcsPGSD_SUBSYS=grpsvcsPATH=/oracle/app/oracle/binPATH=/oracle/app/oracle/bin : /home/watch/bin/home/watch/bin : /usr/local/bin:/usr/ccs/bin:/oracle/app/oracle/bin/usr/local/bin:/usr/ccs/bin:/oracle/app/oracle/bi
71、n :/usr/bin:/etc:/usr/sbin:/usr/ucb:/oracle/bin:/usr/bin/X11:/sbin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/oracle/bin:/usr/bin/X11:/sbin:。:/oracle/OPatch:/oracle/OPatchNLS_LANG=american_americaNLS_LANG=american_america。zhs16gbkzhs16gbkORACLE_BASE=/oracleORACLE_BASE=/oracleLC_FASTMSG=trueLC_FASTMSG=trueCLA
72、SSPATH=/oracle/app/oracle/JRE/libCLASSPATH=/oracle/app/oracle/JRE/lib :/oracle/app/oracle/JRE/lib/rt/oracle/app/oracle/JRE/lib/rt。jar:/oracle/app/oracle/jlibjar:/oracle/app/oracle/jlibLOGNAME=oracleLOGNAME=oracleTMP=/oracle/tempTMP=/oracle/tempMAIL=/usr/spool/mail/oracleMAIL=/usr/spool/mail/oracleOR
73、ACLE_SID=bossbil1_i1ORACLE_SID=bossbil1_i1LOCPATH=/usr/lib/nls/locLOCPATH=/usr/lib/nls/locPS1=oraclewxkhp630:PS1=oraclewxkhp630:PWDPWDUSER=oracleUSER=oracleNLS_DATE_FORMAT=YYYYMMDDHH24MISSNLS_DATE_FORMAT=YYYYMMDDHH24MISSAUTHSTATE=compatAUTHSTATE=compatDISPLAY=10DISPLAY=10。238.2238.2。223223:0.00.0SHE
74、LL=/usr/bin/kshSHELL=/usr/bin/kshODMDIR=/etc/objreposODMDIR=/etc/objreposORA_NLS33=/oracle/app/oracle/ocommon/nls/admin/dataORA_NLS33=/oracle/app/oracle/ocommon/nls/admin/dataHOME=/oracleHOME=/oracleTERM=vt100TERM=vt100MAILMSG=MAILMSG=YOU HAVE NEW MAILYOU HAVE NEW MAILORACLE_HOME=/oracle/app/oracleO
75、RACLE_HOME=/oracle/app/oraclePWD=/PWD=/TZ=BEIST-8TZ=BEIST-8AIXTHREAD_SCOPE=SAIXTHREAD_SCOPE=SA_z=! LOGNAMEA_z=! LOGNAMENLSPATH=/usr/lib/nls/msg/NLSPATH=/usr/lib/nls/msg/L/%N:/usr/lib/nls/msg/L/%N:/usr/lib/nls/msg/L/L/N N。catcatLIBPATH=/oracle/app/oracle/lib:/oracle/app/oracle/ctx/libLIBPATH=/oracle/
76、app/oracle/lib:/oracle/app/oracle/ctx/libLD_LIBRARY_PATH=/oracle/app/oracle/libLD_LIBRARY_PATH=/oracle/app/oracle/lib :/usr/lib/usr/lib十四。做定时十四。做定时 JOBJOB1 1。创建存储过程。创建存储过程, ,为此存储过程作定时为此存储过程作定时 JOBJOB1 1创建一张表,用户存放定时信息创建一张表,用户存放定时信息create table test_time (test datecreate table test_time (test date)2.
77、2. 制定定时执行的存储过程制定定时执行的存储过程create or replace procedure inserttest as begin insert into test_time valuescreate or replace procedure inserttest as begin insert into test_time values(sysdate)sysdate);endend;/ /3 3。 创建创建 JOB,JOB,即创建待执行的定时任务过程即创建待执行的定时任务过程variable job1 numbervariable job1 number;beginbegin
78、dbms_job.submit(:job1dbms_job.submit(:job1,inserttest;inserttest;,sysdate,sysdate+1,sysdate,sysdate+1 / /14401440 ); ;endend;4 4。启动。启动 JOBJOB 启动并运行定时任务的过程启动并运行定时任务的过程beginbegindbms_job.run(:job1);dbms_job.run(:job1);endend;/ /5. 5.查看查看 结果结果select to_charselect to_char(testtest,yyyy/mm/dd hh24:mi:ss)
79、 from test_timeyyyy/mm/dd hh24:mi:ss) from test_time2.2.定时定时 JOBJOB 的的 参数说明参数说明DBMS_JOB.SUBMITDBMS_JOB.SUBMIT(:(:jobnojobno,/job/job 号号your_procedureyour_procedure; ,/要执行的过程要执行的过程trunctrunc(sysdatesysdate)+1+1/ /2424,/下次执行时间下次执行时间trunc(sysdate)+1trunc(sysdate)+1/ /24+1/24+1/每次间隔时间每次间隔时间) ;删除删除 jobjo
80、b:dbms_jobdbms_job。remove(jobnoremove(jobno) ;修改要执行的操作修改要执行的操作:job:dbms_job:job:dbms_job。what(jobnowhat(jobno,what);what);修改下次执行时间修改下次执行时间:dbms_job:dbms_job。next_date(jobnext_date(job,next_date);next_date);修改间隔时间修改间隔时间:dbms_job.interval(job:dbms_job.interval(job,interval);interval);停止停止 job:dbmsjob:
81、dbms。brokenbroken(job,broken,nextdate);job,broken,nextdate);启动启动 job:dbms_job.runjob:dbms_job.run(jobno)jobno);修改修改 job_queue_processesjob_queue_processes 的值的值: :(保证其不为(保证其不为 0 0 否则否则 JOBJOB 不自动运行)不自动运行)可通过可通过 select * from vselect * from vparameterparameter;查看其值;查看其值;或者直接用或者直接用 show parameter job_q
82、ueue_processes;show parameter job_queue_processes;查看如下:查看如下:NAME TYPE VALUENAME TYPE VALUE- - - - - - - - - -job_queue_processes integer 10job_queue_processes integer 10方法方法 1 1。startup pfile=Cstartup pfile=C:oracleora90databaseinitorcloracleora90databaseinitorcl。oraora; ;/这个方法用来修改这个方法用来修改 initorcli
83、nitorcl。oraora 文件的文件的 job_queue_processesjob_queue_processes 参数参数, ,然后重新启动数据库然后重新启动数据库方法方法 2.alter system set job_queue_processes=102.alter system set job_queue_processes=10/这个方法不用重启数据库就可以生效,系统自动修改这个方法不用重启数据库就可以生效,系统自动修改 initinit。oraora 文件以后即可生效文件以后即可生效 . .文章来源:文章来源: baike.dubabaike.duba。netnet十五十五.
84、 .查询出查询出 SQLSQL 语句语句1.1.通过通过 SIDSID 找出找出 HASH VALUEHASH VALUE 值值SELECT sql_hash_value FROM vSELECT sql_hash_value FROM vsession b WHERE b.SID = 1179session b WHERE b.SID = 11792 2。通过。通过 HASH VALUEHASH VALUE 值值 查询出查询出 SQLSQL 语句语句selectselect sql_textsql_text fromfrom V VSQLTEXT_WITH_NEWLINESSQLTEXT_W
85、ITH_NEWLINES wherewhere hash_valuehash_value = =27437383312743738331 orderorder byby piecepiece3.3.根据根据 HASH VALUEHASH VALUE 值值 查询出对应的查询出对应的 SESSLIN SID SESSLIN SIDselect sid from v$open_cursor where hash_value=2692718941select sid from v$open_cursor where hash_value=26927189414.4.根据根据 HASH VALUEHAS
86、H VALUE 找出对应的机器名称找出对应的机器名称select USER#select USER#,MACHINE,SQL_HASH_VALUE from vMACHINE,SQL_HASH_VALUE from vsession where sid=1179session where sid=11795.5.通过通过 HASH VALUEHASH VALUE 查询出查询出 该语句的执行计划该语句的执行计划select id,parent_id pidselect id,parent_id pid ,operationoperation,options,object_nameoptions,
87、object_name,cost,cardinality fromcost,cardinality fromv vsql_plan where hash_value=2743738331sql_plan where hash_value=27437383316.6.查询存储过程查询存储过程根据存储过程的名称,查询出存储过程的内容 存储过程的名称要大写select text from dba_source where name=P_STA_SP_MOT_C0017 7。查询对象属于哪个用户。查询对象属于哪个用户select OWNER f rom dba_segments where SEGME
88、NT_NAME=TI_B_ASYNWORK8 8。查询表的分析时间。查询表的分析时间selectblocks,LAST_ANALYZEDfromdba_tableswhereowner=UCR_CRM1andtable_name=TI_B_ASYNWORK9 9。查询对象。查询对象( (表)的类型表)的类型查询该对象是表还是索引等SELECT SEGMENT_TYPE,blocks from dba_segments where owner=UCR_CRM1 and segment_name=TI_B_ASYNWORK十六。查询脚本十六。查询脚本1 1。查询等待事件。查询等待事件select
89、event,sidselect event,sid,p1p1,p2p2,p3 from v$session_wait where event not like SQLp3 from v$session_wait where event not like SQL and event not and event notlike rdbmlike rdbm 2 2。查询大表已经索引。查询大表已经索引 超过超过 2G2G 的对象的对象注意:该语句很耗费注意:该语句很耗费 CPU,CPU,尽力避免高峰时段查询尽力避免高峰时段查询set linesize 300set linesize 300col ow
90、ner format a15col owner format a15col tablespace_name format a20col tablespace_name format a20col segment_name format a30col segment_name format a30selectselect fromfrom( (select owner,select owner,segment_namesegment_name,partition_name,partition_name,segment_type,segment_type,-tablespace_name-tabl
91、espace_name,roundround(sum(bytes) / 1024 / 1024 / 1024,2) as ”GBsum(bytes) / 1024 / 1024 / 1024,2) as ”GBfrom dba_segmentsfrom dba_segmentswhere owner not in (SYSwhere owner not in (SYS, SYSTEMSYSTEM,PERFSTATPERFSTAT)group by owner, segment_namegroup by owner, segment_name, partition_name,segment_ty
92、pepartition_name,segment_type-tablespace_name-tablespace_nameorder by gb descorder by gb desc)where gbwhere gb =2=23 3。查看锁。查看锁select decode(request,0select decode(request,0, holder:holder:, waiter:) holder,sid,id1waiter:) holder,sid,id1, id2,lmode,request,type,ctime,blockid2,lmode,request,type,ctime
93、,blockfrom v$lock where (id1,id2,type) infrom v$lock where (id1,id2,type) in(select id1select id1, id2id2, type from v$lock where requesttype from v$lock where request 0 0)orderorderby id1by id1,requestrequest十七十七. .基本的基本的 SQLSQL 语句语句1 1。对表的操作。对表的操作1.1.创建一张表创建一张表Create tableCreate table 表表 (a varcha
94、r2(10(a varchar2(10) ); ;2.2.插入内容插入内容Insert intoInsert into 表表 values(values(aaaa); ;3 3。删除内容。删除内容Delete fromDelete from 表名表名 (可以增加条件(可以增加条件 以删除选择的内容)以删除选择的内容)4.4.删除表删除表Drop tableDrop table 表名表名5 5。增加一列。增加一列alter table abc add c numberalter table abc add c number6.6.删除一列删除一列alter table abc drop colu
95、mn calter table abc drop column c2 2。常用的函数。常用的函数1 1。转换函数。转换函数to_charto_char将非字符类型转换为字符型将非字符类型转换为字符型select to_char(sysdate,yyyyselect to_char(sysdate,yyyy-mm-dd hh24-mm-dd hh24mi-mi-ss)ss)to_dateto_dateto_numberto_number2 2 聚集函数聚集函数avgavgmaxmaxminminsumsumcountcount3.3.系统函数系统函数useruser查询当前用户的登陆账号查询当前
96、用户的登陆账号select user from dual;select user from dual;decodedecode 函数函数select sumselect sum(decodedecode(sex,sex,男男 ,1 1,0)0) 男人数,男人数,sumsum(decode(sex,decode(sex,女女 ,1 1,0 0) from efrom e;查询查询 e e 表中男人数和女人数各有多少,使用表中男人数和女人数各有多少,使用 DECODEDECODE 函数来做一个判断,函数来做一个判断,if if 语句的判断语句的判断, ,如果如果 SEXSEX 为男,为男,做计数,
97、如果不是男则不做计数做计数,如果不是男则不做计数. .nvlnvl对查询的字段做一个标示对查询的字段做一个标示select a1,nvlselect a1,nvl(a2a2, 未输入未输入 ) from dualfrom dual;如果如果 a2a2 的字段为空的话的字段为空的话, ,就显示未输入。就显示未输入。十八。安装手册十八。安装手册十九。错误总结十九。错误总结1. ORA-002571. ORA-00257: 归档程序错误归档程序错误问题问题: :在导入在导入 3G3G 大的数据时大的数据时, ,需要注意需要注意 Oracle10Oracle10。2.02.0。1 1 版本的归档日志空
98、间默认为版本的归档日志空间默认为 2G2G,不断归档导致磁盘空间不断归档导致磁盘空间. .则导入数据暂停。则导入数据暂停。在进行在进行 大量的数据插入大量的数据插入 或者或者 IMPIMP 大量导入的时候大量导入的时候, ,- - - - - - - - - - - - - - - - - -警告日志出现错误警告日志出现错误Wed May 20 17:16:06 2009Wed May 20 17:16:06 2009Errors in file d:oracleproduct10Errors in file d:oracleproduct10。1.0adminaucbdumpauc_arc1
99、_372.trc:1.0adminaucbdumpauc_arc1_372.trc:ORA-19809ORA-19809: 超出了恢复文件数的限制超出了恢复文件数的限制ORAORA19804:19804: 无法回收无法回收 97556489755648 字节磁盘空间字节磁盘空间 (从(从 21474836482147483648 限制中)限制中)ARC1ARC1:ErrorError1980919809CreatingCreatingarchivearchiveloglogfilefiletotoDD:ORACLEPRODUCT10ORACLEPRODUCT10。1.0FLASH_RECOVE
100、RY_AREAAUCARCHIVELOG2009_05_201.0FLASH_RECOVERY_AREAAUCARCHIVELOG2009_05_20 O1_MF_1_478_U_.ARCO1_MF_1_478_U_.ARCARC1ARC1: All standby destinations failedAll standby destinations failed; successful archival assumedsuccessful archival assumedARC1ARC1: Failed to archive log 6 thread 1 sequence 478 (198
101、09Failed to archive log 6 thread 1 sequence 478 (19809 )Wed May 20 17:16:06 2009Wed May 20 17:16:06 2009Errors in file d:oracleproduct10.1.0adminaucbdumpauc_arc1_372Errors in file d:oracleproduct10.1.0adminaucbdumpauc_arc1_372 。trc:trc:ORAORA16038:16038: 日志日志 6 6 序列号序列号 478478 无法归档无法归档ORAORA19809198
102、09: 超出了恢复文件数的限制超出了恢复文件数的限制ORAORA0031200312: 联机日志联机日志 6 6 线程线程 1 1: D:ORACLEPRODUCT10D:ORACLEPRODUCT10。1 1。0ORADATAAUCREDO060ORADATAAUCREDO06ORA-00312ORA-00312: 联机日志联机日志 6 6 线程线程 1: D:ORACLEPRODUCT10.1.0ORADATAAUCREDO0611: D:ORACLEPRODUCT10.1.0ORADATAAUCREDO061Errors in file dErrors in file d:oraclep
103、roduct10oracleproduct10。1.0adminaucbdumpauc_mmon_22641.0adminaucbdumpauc_mmon_2264。trctrc:ORAORA19815:19815: 警告警告: db_recovery_file_dest_size: db_recovery_file_dest_size 字节字节 (共(共 21474836482147483648 字节字节) ) 已使用已使用 100.00100.00, 尚有尚有 0 0 字节可用。字节可用。- - - - - - - - - - - - - - - - - - - - - -原因原因: :检
104、查检查 alert_logalert_log 日志原来是归档日志占满了日志原来是归档日志占满了 FLASH_RECOVERY_AREAFLASH_RECOVERY_AREA 的的 2G2G 空间空间解决办法解决办法解决方法解决方法 1 1:先手工删除:先手工删除 D D:oracleproduct10.2.0flash_recovery_areaoracleproduct10.2.0flash_recovery_area 里面的里面的日志,日志,然后用户用然后用户用 rmanrman 进入把归档日志删除进入把归档日志删除1 1)命令)命令rman target/rman target/2 2)
105、命令)命令crosscheck archivelog allcrosscheck archivelog all;3 3)命令)命令delete expired archivelog all;delete expired archivelog all;4 4)命令)命令exitexit解决方法解决方法 2 2: :改变了改变了 FLASH_RECOVERY_AREAFLASH_RECOVERY_AREA 的大小的大小修改命令修改命令alter system set db_recovery_file_dest_size=8G scope=bothalter system set db_recove
106、ry_file_dest_size=8G scope=both ;查看命令查看命令show parameter db_recovery_file_dest_sizeshow parameter db_recovery_file_dest_size二十二十. .故障处理故障处理1.1.日志挖掘日志挖掘1. 1.数据库数据库 是是 归档模式归档模式archive log listarchive log list2.2.修改参数文件修改参数文件 确定确定 在参数文件在参数文件 中有该参数中有该参数 如果没有如果没有 添加到参数文件中添加到参数文件中utl_file_dir=d:oracleprodu
107、ct10.1utl_file_dir=d:oracleproduct10.1。0adminauccdump0adminauccdump3 3 检查检查 是否有是否有 以下的两个包以下的两个包Desc dbms_logmnr_dDesc dbms_logmnr_dDesc dbms_logmnrDesc dbms_logmnr如果显示字段如果显示字段 说明有说明有 如果没有如果没有( (invalid descrption objec) 需要需要 安装这两个包安装这两个包catproccatproc。sqlsql 执行执行 该脚本来进行安装该脚本来进行安装在在 RDBMSRDBMS 路径下路径下
108、3.3.核对核对 日志日志 是否归档是否归档 可以检查警告日志可以检查警告日志 判断判断 日志的归档日志的归档4 4。建立。建立 日志的目录文件日志的目录文件executeexecute dbms_logmnr_ddbms_logmnr_d 。 buildbuild ( oralinlogoralinlog 。 oraora , d d : oracleproduct10oracleproduct10 。 1 1 。0adminauc0adminauccdump)cdump)5.5.确定归档的路径和文件确定归档的路径和文件 执行执行executeexecutedbms_logmnr.add_l
109、ogfile(logfilename=dbms_logmnr.add_logfile(logfilename=D:oracleproduct10.1.0flash_recovery_areaAUCARCHIVELOG2009_05_20O1_MF_1_512D:oracleproduct10.1.0flash_recovery_areaAUCARCHIVELOG2009_05_20O1_MF_1_512_517PH7OZ_.ARC,options=dbms_logmnr_517PH7OZ_.ARC,options=dbms_logmnr。newnew)6 6 创建一张创建一张 临时表临时表存放
110、归档的信息存放归档的信息createcreate tabletable temp_arch_13temp_arch_13 tablespacetablespace USERSUSERS asas selectselect fromfrom v vlogmnr_contentslogmnr_contents wherewhereSQL_REDO like %drop tableSQL_REDO like %drop table or SQL_REDO like %DROP TABLE or SQL_REDO like %DROP TABLE 7 7。释放内存。释放内存execute dbms_l
111、ogmnrexecute dbms_logmnr。end_logmnrend_logmnr. .8.8.查询需要的信息查询需要的信息SELECTSELECT scnscn,timestamptimestamp,seg_name,table_name,sql_redo fromfrom syssys。temp_arch_13查询结果查询结果SQLSQL SELECT scn SELECT scn,timestamp,seg_ownertimestamp,seg_owner,seg_name,table_nameseg_name,table_name,sql_redo from syssql_re
112、do from sys。temp_arch_13;temp_arch_13; SCN TIMESTAMP SEG_OWNER SEG_NAME TABLE_NAME SQL_REDO SCN TIMESTAMP SEG_OWNER SEG_NAME TABLE_NAME SQL_REDO- - - - - - - - - - - - - - - 3368640 21-5 3368640 21-5 月月 09 AUC RIZHI RIZHI drop table rizhi09 AUC RIZHI RIZHI drop table rizhiAS ”BIN$iO3Q/iWXRgiwlLY0AS
113、”BIN$iO3Q/iWXRgiwlLY0L9E6lg=$0” ;L9E6lg=$0” ;2.2.行链接行迁移行链接行迁移概念:概念:两则之间的区别:两则之间的区别:行连接是指一个行存储在多个块中的情况,因为一个该行的长度超过了一个块的可用空间大小行连接是指一个行存储在多个块中的情况,因为一个该行的长度超过了一个块的可用空间大小. .行迁移是指一个数据行不适合放入当前块而被重新定位到另一个块行迁移是指一个数据行不适合放入当前块而被重新定位到另一个块, ,但在原始块中保留一个指针但在原始块中保留一个指针,原始块中的指针是必需的,原始块中的指针是必需的, ,因为索引的因为索引的 rowidrowi
114、d 项仍然指向原始位置项仍然指向原始位置. .行连接通常与行的长度和行连接通常与行的长度和 oracleoracle 数据库块中的大小有关,而行迁移通常是当一个更新操作的长度数据库块中的大小有关,而行迁移通常是当一个更新操作的长度增加且又要保持该行在同一块中增加且又要保持该行在同一块中, ,而该块又缺少可用空间时产生的问题,而该块又缺少可用空间时产生的问题,oracleoracle 在决定行连接之前先在决定行连接之前先试图进行行迁移试图进行行迁移以下是以下是 在本机上模拟的该实验在本机上模拟的该实验( (以说明该故障的处理)以说明该故障的处理)1 1。创建以下表。创建以下表 hangcreat
115、ecreate tabletable hang asas selectselect * fromfrom jfsh_trade_rizhi_informationwherewhere rownumrownum=1( (将将jfsh_trade_rizhi_information 该表记录 只复制一行 和表结构)2.2.修改表修改表 hanghang 的列的列alteralter tabletable hang addadd xinzeng20 charchar(1000)该列从 xinzeng1 一直增加到 xinzeng203 3。对该表分析一下。对该表分析一下ANALYZEANALYZE
116、TABLETABLE hang LISTLIST CHAINEDCHAINED ROWSROWS如果没有如果没有 HAINED_ROWSHAINED_ROWS 表表 可以通过以下脚本进行创建可以通过以下脚本进行创建ORACLE_HOME/rdbms/admin/utlchain。sql4.4.查询查询 该表该表 是否存在行迁移是否存在行迁移SQLSQL col OWNER_NAME for a10col OWNER_NAME for a10SQL col TABLE_NAME for a10SQL col TABLE_NAME for a10SQLSQL col CLUSTER_NAME fo
117、r a10col CLUSTER_NAME for a10SQLSQL colcolPARTITION_NAME for a15PARTITION_NAME for a15SQLSQL col SUBPARTITION_NAME for a15col SUBPARTITION_NAME for a15SQL col HEAD_ROWID for a15SQL col HEAD_ROWID for a15SQL col ANALYZE_TIMEST for a20SQL col ANALYZE_TIMEST for a20SQLSQL set lines 1000 pages 1000set l
118、ines 1000 pages 1000SELECT *SELECT *FROM CHAINED_ROWSFROM CHAINED_ROWSWHERE TABLE_NAME = HANG;WHERE TABLE_NAME = HANG;OWNER_NAME TABLE_NAME CLUSTER_NA PARTITION_NAMEOWNER_NAME TABLE_NAME CLUSTER_NA PARTITION_NAME SUBPARTITION_NA HEAD_ROWIDSUBPARTITION_NA HEAD_ROWIDANALYZE_TIMESTANALYZE_TIMEST- - - -
119、 - - - - - - - - - - - - - - - - - - - -AUCAUCHANGHANGN/AN/AAAAPDMAAEAAAQ3c 22AAAPDMAAEAAAQ3c 225 5 月月 -09-09AAAAAA根据查询结果根据查询结果 发现发现 发生了行迁移发生了行迁移1.1.试着试着 重新创建表重新创建表 并且使用这张表内容并且使用这张表内容createcreate tabletable hang_1 asas selectselect fromfrom hang2 2。分析该表。分析该表ANALYZEANALYZE TABLETABLE hang_1 LISTLIST
120、CHAINEDCHAINED ROWSROWS3.3.查询查询SQLSQL SELECT *SELECT *FROM CHAINED_ROWSFROM CHAINED_ROWSWHERE TABLE_NAME = HANG_1WHERE TABLE_NAME = HANG_1;OWNER_NAME TABLE_NAME CLUSTER_NA PARTITION_NAMEOWNER_NAME TABLE_NAME CLUSTER_NA PARTITION_NAME SUBPARTITION_NA HEAD_ROWIDSUBPARTITION_NA HEAD_ROWIDANALYZE_TIMEST
121、ANALYZE_TIMEST- - - - - - - - - - - - - - - - - - - - - -AUCAUCHANG_1HANG_1N/AN/AAAAPDNAAEAAAQ3k 22AAAPDNAAEAAAQ3k 225 5 月月 0909AAAAAAAUCAUCHANG_1HANG_1N/AN/AAAAPDNAAEAAAQ3k 22-5AAAPDNAAEAAAQ3k 22-5月月 -09-09AAAAAA重新创建该表重新创建该表 和复制该表内容和复制该表内容 不能解决该问题不能解决该问题如果该数据库中如果该数据库中 该表该表 不存在与其他的表之间有关联不存在与其他的表之间有关
122、联 存在主键外键等存在主键外键等 尝试以下方法进行尝试以下方法进行处理处理SQLselect CONSTRAINT_NAMESQLselect CONSTRAINT_NAME,CONSTRAINT_TYPECONSTRAINT_TYPE,TABLE_NAME from USER_CONSTRAINTS where TABLE_NAME=CUSTOMER;TABLE_NAME from USER_CONSTRAINTS where TABLE_NAME=CUSTOMER;CONSTRAINT_NAME C TABLE_NAMECONSTRAINT_NAME C TABLE_NAME- - - -
123、 - - - - - -PK_CUSTOMER1 P CUSTOMERPK_CUSTOMER1 P CUSTOMERSQLSQLselect CONSTRAINT_NAME,CONSTRAINT_TYPE,select CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME from USER_CONSTRAINTSTABLE_NAME from USER_CONSTRAINTSwhere R_CONSTRAINT_NAME=where R_CONSTRAINT_NAME=PK_CUSTOMER1PK_CUSTOMER1; ;no rows selectedno
124、rows selectedSQL CREATE TABLE CUSTOMER_temp ASSQL CREATE TABLE CUSTOMER_temp ASSELECT * FROM CUSTOMER WHERE rowid INSELECT * FROM CUSTOMER WHERE rowid IN(SELECT head_rowid FROM chained_rows(SELECT head_rowid FROM chained_rowsWHERE table_name =WHERE table_name = CUSTOMERCUSTOMER); ;Table createdTable
125、 created。SQLselect countSQLselect count(*) from CUSTOMER*) from CUSTOMER;COUNTCOUNT() )-338299338299SQL DELETE CUSTOMER WHERE rowid INSQL DELETE CUSTOMER WHERE rowid IN(SELECT head_rowid(SELECT head_rowidFROM chained_rowsFROM chained_rowsWHERE table_name = CUSTOMERWHERE table_name = CUSTOMER); ;2130
126、6 rows deleted.21306 rows deleted.SQLSQL INSERT INTO CUSTOMER SELECT * FROM CUSTOMER_temp; INSERT INTO CUSTOMER SELECT * FROM CUSTOMER_temp;21306 rows created.21306 rows created.SQL DROP TABLE CUSTOMER_temp;SQL DROP TABLE CUSTOMER_temp;Table dropped.Table dropped.SQL commit;SQL commit;Commit complet
127、e.Commit complete.SQL select countSQL select count(*) from CUSTOMER;*) from CUSTOMER;COUNT(*)COUNT(*)- - -338299338299SQLSQL truncate table chained_rows; truncate table chained_rows;Table truncatedTable truncated。SQL ANALYZE TABLE CUSTOMER LIST CHAINED ROWS INTO chained_rowsSQL ANALYZE TABLE CUSTOME
128、R LIST CHAINED ROWS INTO chained_rows;Table analyzedTable analyzed。SQLSQL select count( select count() from chained_rows;) from chained_rows;COUNTCOUNT() )- -0 0行链接行迁移行链接行迁移 实施实施 方案方案1 1。 exp/imp exp/imp优点:安全性高优点:安全性高缺点:速度较慢,且可能影响业务缺点:速度较慢,且可能影响业务2.MOVE2.MOVE表(表(alter tablealter table 表名表名 move tabl
129、espace move tablespace 表空间名表空间名 )优点优点: :过程简单过程简单, ,速度快速度快缺点:需要占用相同大小的空间做数据存放,可能影响业务缺点:需要占用相同大小的空间做数据存放,可能影响业务3.3.使用使用utlchain.sqlutlchain.sql优点:安全性高,速度快优点:安全性高,速度快缺点:过程繁琐,如表中含有外键约束的话不能使用此方案缺点:过程繁琐,如表中含有外键约束的话不能使用此方案行链接行链接当一条记录太大,一个数据块无法将其存储时,当一条记录太大,一个数据块无法将其存储时,OracleOracle就会将其存储在相链接的数据块中。如果一条记录就会将
130、其存储在相链接的数据块中。如果一条记录中含有中含有数据类型如:数据类型如:LONGLONG、LONG RAWLONG RAW、LOBLOB,行链接则无法避免,行链接则无法避免. .行迁移行迁移当一个数据块已满,而一条记录在更新后长度增加了,或者表上新增加了字段当一个数据块已满,而一条记录在更新后长度增加了,或者表上新增加了字段, ,这时这时OracleOracle就会将整个记就会将整个记录迁移录迁移到一个新的数据块到一个新的数据块, ,原先的位置存放指向新位置的指针,这就是行迁移。记录的原先的位置存放指向新位置的指针,这就是行迁移。记录的 ROWIDROWID 在行迁移之后保持在行迁移之后保持
131、不变。不变。行链接行链接/ /行迁移对系统的影响行迁移对系统的影响除大数据类型之外,上述情况对数据库的性能是有影响的。除大数据类型之外,上述情况对数据库的性能是有影响的。系统在访问一条记录时,正常情况只需要访问系统在访问一条记录时,正常情况只需要访问1 1个数据块个数据块, ,但是当出现行链接但是当出现行链接/ /行迁移后,就需要访问至少行迁移后,就需要访问至少2 2个数据个数据块,增大了至少块,增大了至少 1 1 倍的系统开销。倍的系统开销。查询发生行链接、行迁移的表查询发生行链接、行迁移的表select owner, table_name, tablespace_name, chain_c
132、nt from dba_tables where chain_cnt 0;通过上面查询确定行链接 行迁移的表名 table_name 该字段值1.1.通过执行通过执行 utlchain.sql 该脚本 建立一个存放行迁移 的表?/rdbms/admin/utlchain.sql注意:如果该表已经存在,就不需要注意:如果该表已经存在,就不需要 执行该脚本(执行该脚本(CHAINED_ROWS)CHAINED_ROWS)2.2.分析分析 ROW_IDROW_ID 产生的行迁移产生的行迁移analyze table 用户。表名 list chained rows;3.3.建立一张表建立一张表 用户存
133、放用户存放 被迁移的行被迁移的行createcreate tabletable CH_BB_IVPN_SHOULD_COMPLETE_Tasas selectselect * fromfrom hang wherewhererowidrowid inin (selectselect HEAD_ROWID fromfrom CHAINED_ROWS)4 4。删除表中所有迁移的行。删除表中所有迁移的行deletedelete hangwherewhere rowidrowid inin (selectselect HEAD_ROWID fromfrom CHAINED_ROWS);5 5。将被删除
134、的行。将被删除的行 再插入回去再插入回去insertinsert intointo hangselectselect fromfrom CH_BB_IVPN_SHOULD_COMPLETE_T6 6。提交修改。提交修改commit总结和建议总结和建议总结总结: :使用上述方法进行表的行迁移使用上述方法进行表的行迁移/ /行链接处理,全部都在联机的状态下完成,基本上不会对业务行链接处理,全部都在联机的状态下完成,基本上不会对业务产生影响,有速度快、效率高的特点产生影响,有速度快、效率高的特点. .建议:定期的对行迁移建议:定期的对行迁移/ /行链接的情况进行处理以保证数据库运行效行链接的情况进行
135、处理以保证数据库运行效3 3。逻辑备份(。逻辑备份(exp/impexp/imp)1 将数据库 TEST 完全导出,用户名 system 密码 manager 导出到 D:daochu.dmp 中Exp system/managerTEST file=d:daochu.dmp full=y2 将数据库中 system 用户与 sys 用户的表导出Exp system/managerTEST file=d:daochu。dmp owner=(system,sys)3 将数据库中的表 inner_notify、notify_staff_relat 导出expaichannel/aichannel
136、TESTDB2file=d : datanewsmgnt.dmptables=(inner_notify ,notify_staff_relat)4 将数据库中的表 table1 中的字段 filed1 以”00”打头的数据导出exp system/managerTEST file=d: daochu.dmp tables=(table1) query=wherefiled1 like00”5.将 D:daochu。dmp 中的数据导入 TEST 数据库中imp system/managerTEST file=d:daochu.dmpimp aichannel/aichannelHUST fu
137、ll=y file=d:datanewsmgnt.dmp ignore=y6。将 d:daochu.dmp 中的表 table1 导入imp system/managerTEST file=d:daochu。dmp tables=(table1)IMP/EXP详细参数 在 P14.4.关闭和启动数据库的步骤关闭和启动数据库的步骤关闭数据库流程关闭数据库流程首先停掉监听不再产生新的连接首先停掉监听不再产生新的连接lsnrctl stat LISTENER_ANADBlsnrctl stat LISTENER_ANADBlsnrctl stat LISTENER_SIEBDB1lsnrctl st
138、at LISTENER_SIEBDB1lsnrctl stop LISTENER_ANADBlsnrctl stop LISTENER_ANADBlsnrctl stop LISTENER_SIEBDB1lsnrctl stop LISTENER_SIEBDB1 lsnrctl stop lsnrctl stop查进程查进程 ps -ef ps -efgrep ora_grep ora_AIXAIX 上杀客户端进程的命令上杀客户端进程的命令ps -ef|grep $ORACLE_SID|grepps -ef|grep $ORACLE_SID|grep v ora_v ora_grep LOCA
139、L=NOgrep LOCAL=NOawk awk print $2print $2 xargs killxargs kill 9 9HPHP 上杀客户端进程的命令上杀客户端进程的命令ps -ef|grep LOCAL=NO|grep $ORACLE_SIDps -ef|grep LOCAL=NO|grep $ORACLE_SIDwc -lwc -lpsps efefgrep LOCAL=NOgrep LOCAL=NOgrep $ORACLE_SID|cut -c 9grep $ORACLE_SID|cut -c 91515xargs killxargs kill 9 9杀掉进程后确定客户端进程
140、已经都没有杀掉进程后确定客户端进程已经都没有psps efefgrep LOCAL=NO(grep LOCAL=NO(客户端连接客户端连接) )psps efefgrep LOCAL=YESgrep LOCAL=YES(本地连接)(本地连接)确定不能查到任何进程确定不能查到任何进程$sqlplus “/ as sysdba”$sqlplus “/ as sysdba”shutdown immediate;shutdown immediate;startupstartup或者或者startup mountstartup mountalter database open;alter databas
141、e open;lsnrctl startuplsnrctl startuplsnrctl start LISTENER_ANADBlsnrctl start LISTENER_ANADBlsnrctl start LISTENER_SIEBDB1lsnrctl start LISTENER_SIEBDB1alter system set events = immediate trace name flush_cache;alter system set events = immediate trace name flush_cache;5.5.逻辑读,物理读逻辑读,物理读1。物理读:当数据块
142、第一次读取,就会缓存到BUFFER CACHE 中,而第二次读取和修改数据块的时候,就在内存 BUFFER CACHE 中。 物理读 我们也可以理解为 当 第一次读取数据的时候,发现才BUFFER CACHE 中没有 缓存的该块 ,从而 从磁盘上读取数据缓存到BUFFER CACHE 中,然后再从 BUFFER CACHE 返回到用户界面。二十一。二十一。METALINKMETALINK 操作操作1 1。开二级别。开二级别 SRSR首先根据提示选择 对应的主机信息 ORACLE 信息 和错误信息在最后一项 不要选择 YES2。如下图,在这几项 根据如图选择的 提示就可以了2.OPATCH2.O
143、PATCH 下载地址下载地址http:/updates。oracle。com/download/ 6880880.html输入网址 会提示 输入 METALINK 的用户名和密码点击 进入 OPATCH 下载界面在选择 数据库版本和类型点击 Download 进行 OPATCH 的下载3.3.数据库升级补丁下载数据库升级补丁下载1.当进入 METALINK 的 界面后 可以看到如图界面项 选择 操作系统的类型和版本在2.点击3.可以看到如下界面该选项4点击5。如下图,在 ORACLE DATABASE 选项,就可以看到 针对的操作系统和针对的数据库版本的升级补丁。该选项6.选择后,鼠标单击,就
144、出现下面的下载界面(注意:在界面的最下方)7。如上图,就可以进行 ORACLE 的升级补丁和 PATCH 的下载。二十二。二十二。oracleoracle下载下载1 1。ORACLE10GORACLE10G 下载方法下载方法1。输入下面网址http:/www.oracle。com/technology/global/cn/software/products/database/oracle10g/index.html上面的网址是连接中文的ORACLE 10G 版本的下载地址虽然是中文 ,但是 连接的是ORACLE 的官方网址,可以放心下载2.在这里 比如说下载HP-UX Itanium 平台的
145、ORACLE 10 G 2 版本的 软件下载如图:找到 对应的该操作系统的对应选项3.点击进入,下载界面4。如上图,点击5.选中后,如图:该选项 选中该选项6.点击7。 下载的时候 , 可能会提示您用户名和密码 可以根据界面的提示 重新注册一个用户名和密码8.第一个选项下载的是 ORACLE 的 压缩包 ,后面的 选项页是 安装包,有的是 可以进行 CD刻录等9.如下图进行 下载如图: 第一项是 ORACLE 的可以进行刻录 第二项 是集群软件的下载 第三项是 ORACLE 的客户端版的下载二十三。在日常操作中使用的脚本P1P1。IMP/EXPIMP/EXP 参数详细说明参数详细说明要指定参数
146、,您可以使用关键字:格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,。.。,valueN)实例: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表USERID 必须是命令行中的第一个参数。关键字 说明(默认)-USERID 用户名/口令FULL 导出整个文件 (N)BUFFER 数据缓冲区的大小OWNER 所有者用户名列表FILE 输出文件 (EXPDAT.DMP)TABLES 表名列表COMPRESS 导入一个范围 (Y)RECORD
147、LENGTH IO 记录的长度GRANTS 导出权限 (Y)INCTYPE 增量导出类型INDEXES 导出索引 (Y)RECORD 跟踪增量导出 (Y)ROWS 导出数据行 (Y)PARFILE 参数文件名CONSTRAINTS 导出限制 (Y)CONSISTENT 交叉表一致性LOG 屏幕输出的日志文件STATISTICS 分析对象 (ESTIMATE)DIRECT 直接路径 (N)TRIGGERS 导出触发器 (Y)FEEDBACK 显示每 x 行 (0) 的进度FILESIZE 各转储文件的最大尺寸QUERY 选定导出表子集的子句下列关键字仅用于可传输的表空间TRANSPORT_TAB
148、LESPACE 导出可传输的表空间元数据 (N)TABLESPACES 将传输的表空间列表IMP 命令E:imp help=y可以通过输入 IMP 命令和您的用户名/口令跟有您的用户名 / 口令的命令:实例: IMP SCOTT/TIGER或者, 可以通过输入 IMP 命令和各种自变量来控制“导入”按照不同参数.要指定参数,您可以使用关键字:格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,。.。,vlaueN)实例: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N或 TABLES=(T1: P1,
149、T1: P2),如果 T1 是分区表USERID 必须是命令行中的第一个参数.关键字 说明(默认)-USERID 用户名/口令FULL 导入整个文件 (N)BUFFER 数据缓冲区大小FROMUSER 所有人用户名列表FILE 输入文件 (EXPDAT。DMP)TOUSER 用户名列表SHOW 只列出文件内容 (N)TABLES 表名列表IGNORE 忽略创建错误 (N)RECORDLENGTH IO 记录的长度GRANTS 导入权限 (Y)INCTYPE 增量导入类型INDEXES 导入索引 (Y)COMMIT 提交数组插入 (N)ROWS 导入数据行 (Y)PARFILE 参数文件名LOG
150、 屏幕输出的日志文件CONSTRAINTS 导入限制 (Y)DESTROY 覆盖表空间数据文件 (N)INDEXFILE 将表/索引信息写入指定的文件SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)ANALYZE 执行转储文件中的 ANALYZE 语句 (Y)FEEDBACK 显示每 x 行 (0) 的进度TOID_NOVALIDATE 跳过指定类型 id 的校验FILESIZE 各转储文件的最大尺寸RECALCULATE_STATISTICS 重新计算统计值 (N)下列关键字仅用于可传输的表空间TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)TABLESPACES 将要传输到数据库的表空间DATAFILES 将要传输到数据库的数据文件TTS_OWNERS 拥有可传输表空间集中数据的用户