《oracle数据库操作手册.pdf》由会员分享,可在线阅读,更多相关《oracle数据库操作手册.pdf(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、操作手册操作手册目录一表空间.41。创建表空间.42.增加表空间.43。删除表空间.54。查询表空间状态.55。查询数据文件路径.56.移动表空间中数据文件的路径.57.移动表和索引到其他表空间.68。查看表空间的使用率.7二用户和权限.91.创建用户.92.修改用户的密码.93.给用户授权.94.查询数据库系统上有多少用户,文件名和创建时间.10三归档和非归档模式.101.查看数据库的归档模式.102.修改数据库的归档模式.10四日志文件.111。查询日志文件信息.112.增加日志文件配置信息.123。增加日志成员.124.删除一组日志.12五密码文件.131.创建密码文件.13六参数文件(
2、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。备份控制文件.16十索引.161。创建普通索引.162.创建位图索引.163。查询索引所
3、在的表,表空间,索引类型.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.根据HASH VALUE 值 查询出对应的 SESSLIN SID.224。根据HASH VALUE 找出对应的机器名
4、称.225。通过HASH VALUE 查询出 该语句的执行计划.236。查询存储过程.237。查询对象属于哪个用户.238。查询表的分析时间.239。查询对象(表)的类型.23十六.查询脚本.241。查询等待事件.242.查询大表已经索引超过2G 的对象.243。查看锁.25十七。基本的 SQL 语句.251.对表的操作.252.常用的函数.26十八。安装手册.27十九.错误总结.271.ORA00257:归档程序错误.27二十。故障处理.291。日志挖掘.292。行链接行迁移.303.逻辑备份(exp/imp).354.关闭和启动数据库的步骤.36二十一。METALINK 操作.371.开二
5、级别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。0oradata0oradataxjzhang.dbf size 20mxjzhang.dbf size 20mautoextend offautoextend
6、 offsegment space management autosegment space management autoautoextend offautoextend off不自动扩展不自动扩展segment space management autosegment space management auto自动段管理自动段管理 推荐推荐1 1。1 1 创建临时表空间创建临时表空间create temporary tablespace temp1 tempfile dcreate temporary tablespace temp1 tempfile d:oracleproduct10o
7、racleproduct10。1.0oradat1.0oradataauctempaauctemp。dbf size 5m audbf size 5m autoextend offtoextend off用于存放扩展信息用于存放扩展信息1.21.2 创建创建 UNDOUNDO 表空间表空间createcreateundoundotablespacetablespacezzq_undo1zzq_undo1datafiledatafileD:D:ORACLEPRODUCT10ORACLEPRODUCT10。1 1。0ORADATAAUC0ORADATAAUC ZZQ_UNDO2.DBF size
8、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/auc/BCS_LO G13G13。dbf size 1024m autoextend offdbf size 1024m autoextend off-路径根据操作
9、系统的不听进行填写路径根据操作系统的不听进行填写3.3.删除表空间删除表空间drop tablespace zzqdrop tablespace zzq-直接删除表空间,而不删除对应的数据文件直接删除表空间,而不删除对应的数据文件drop tablespace zzq INCLUDING CONTENTSdrop tablespace zzq INCLUDING CONTENTS-加上该选项加上该选项 则连同数据文件一起删除了则连同数据文件一起删除了4 4。查询表空间状态。查询表空间状态col tablespace_name for a15col tablespace_name for a15
10、select tablespace_nameselect tablespace_name,block_size,status,contents,logging from dba_tablespablock_size,status,contents,logging from dba_tablespaces;ces;查询结果查询结果 STATUSSTATUS 为为 ONLINEONLINE 表示为联机状态表示为联机状态 正常正常 如果为如果为 OFFLINEOFFLINE 说明表空间不被使用说明表空间不被使用5.5.查询数据文件路径查询数据文件路径select file_id,file_names
11、elect file_id,file_name,tablespace_nametablespace_name,status,bytes from dba_data_filesstatus,bytes from dba_data_files6.6.移动表空间中数据文件的路径移动表空间中数据文件的路径1.1.首先确定数据文件的状态首先确定数据文件的状态 要为要为 OFFLINEOFFLINEselect tablespace_name,status,contents from dba_tablespacesselect tablespace_name,status,contents from db
12、a_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 file-通过该语句查询数据文件的路径通过该语句查询数据文件的路径2.2.将该表空间修改为将该表空间修改为 OFFLINEOFFLINEalter tablespace USERS off
13、linealter tablespace USERS offlineselect tablespace_nameselect tablespace_name,statusstatus,contents fromcontents from dba_tablespacesdba_tablespaces-查看表空间状态确定修改查看表空间状态确定修改成功成功3.3.移动数据文件移动数据文件host copy D:oracleproduct10.1host copy D:oracleproduct10.1。0oradataaucUSERS01.DBF d0oradataaucUSERS01.DBF d:
14、oracleproduct10.1oracleproduct10.1。0oradataaucdbf0oradataaucdbf4.4.重新命名重新命名 该表空间的路径和名称该表空间的路径和名称alter tablespace users rename datafile dalter tablespace users rename datafile d:oracleproduct10.1.0oradataaucoracleproduct10.1.0oradataaucUSERS01.DBFUSERS01.DBFto d:oracleprto d:oracleproduct10.1oduct10.
15、1。0oradataaucdbfUSERS010oradataaucdbfUSERS01。DBFDBF5.5.修改表空间的状态为修改表空间的状态为 ONLINEONLINE 状态状态alter tablespace users onlinealter tablespace users online第二种方法第二种方法在数据库位在数据库位 mountmount 的模式下的模式下1.1.hosthostcopycopyd d:oracleproduct10.1oracleproduct10.1。0oradataaucsystem010oradataaucsystem01。dbfdbfd d:ora
16、cleproduct10.1.0oradataaucsystemoracleproduct10.1.0oradataaucsystem2.2.alteralter databasedatabase renamerename filefile d d:oracleproduct10oracleproduct10。1.0oradataaucsystem011.0oradataaucsystem01。dbfdbf totod:oracleproduct10.1.d:oracleproduct10.1.0oradataaucsystem0oradataaucsystemsystem01.dbfsyst
17、em01.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.1.查询该对象存放在哪个表空间查询该对象存放在哪个表空间selectselect segment_namesegment_name,tablespace_nametablespace_name,extents,blockse
18、xtents,blocks fromfrom dba_segmentsdba_segments wherewhereowner=ZHANGowner=ZHANG2 2。查询该对象是索引,还是表。查询该对象是索引,还是表selectselect object_idobject_id,object_nameobject_name,object_typeobject_type,status,createdstatus,created fromfrom dba_objectsdba_objects wherewhereowner=ZHANGowner=ZHANG3.3.查询索引或者表查询索引或者表 存
19、放在哪个表空间存放在哪个表空间selectselect index_nameindex_name,table_nametable_name,tablespace_nametablespace_name,statusstatus fromfrom dba_indexesdba_indexes wherewhereowner=ZHANGowner=ZHANG4.4.移动表到另一个表空间移动表到另一个表空间alter table zhang.zzq_1 move tablespace zhang_zzqalter table zhang.zzq_1 move tablespace zhang_zzq
20、6.6.查询该表是否移动到该表空间查询该表是否移动到该表空间selectselect segment_namesegment_name,tablespace_name,extents,blockstablespace_name,extents,blocks fromfrom dba_segmentsdba_segments wherewhereowner=ZHANGowner=ZHANG7.7.检查表是否有效检查表是否有效selectselect object_idobject_id,object_nameobject_name,object_type,status,createdobject
21、_type,status,created fromfrom dba_objectsdba_objects wherewhereowner=ZHANGowner=ZHANG状态为状态为 VALIDVALID 是有效是有效8.8.重建索引重建索引 并且将索引移动到另一个表空间并且将索引移动到另一个表空间alter index zhang.zzq_index rebuild tablespace zhang_zzqalter index zhang.zzq_index rebuild tablespace zhang_zzq9.9.查询索引对应的表空间查询索引对应的表空间selectselectin
22、dex_nameindex_name,table_name,tablespace_name,statustable_name,tablespace_name,status fromfromdba_indexesdba_indexes wherewhereowner=ZHANGowner=ZHANG8.8.查看表空间的使用率查看表空间的使用率有两个脚本都可以使用1。col f.tablespace_name format a15col f.tablespace_name format a15col d.tot_grootte_mb format a10col d.tot_grootte_mb f
23、ormat 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-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 T
24、S-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。99)TS99)TSperperfrom(select tablespace_namefrom(select tablespace_name,round(sum(bytesround(sum(bytes)/(1024*1024/(1024*1024),2)total_bytes,2)total
25、_bytes,roundround(max(bytesmax(bytes)/(1024*1024/(1024*1024),2)max_bytes,2)max_bytesfrom sysfrom sys。dba_free_spacedba_free_spacegroup 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_g
26、rootte_mb,2)tot_grootte_mbfrom sys.dba_data_files ddfrom sys.dba_data_files ddgroup by dd.tablespace_name)dgroup by 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,SPAC
27、E”SUM_SPACESPACE”SUM_SPACE(M),M),BLOCKS SUM_BLOCKS,BLOCKS SUM_BLOCKS,SPACESPACE NVL(FREE_SPACE,0)USED_SPACE 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(SELEC
28、T TABLESPACE_NAMEFROM(SELECT TABLESPACE_NAME,ROUNDROUND(SUMSUM(BYTES)/(1024BYTES)/(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(SU
29、MSUM(BYTESBYTES)/(1024/(1024 1024),2)FREE_SPACE1024),2)FREE_SPACEFROM 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
30、D.TABLESPACE_NAME,SELECT D.TABLESPACE_NAME,SPACE SUM_SPACESPACE 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_
31、SPACE”FREE_SPACE(M)”M)”FROMFROM(SELECT TABLESPACE_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
32、 TABLESPACE_NAME,ROUNDROUND(SUM(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.T
33、ABLESPACE_NAME=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_yqm
34、2 2。修改用户的密码。修改用户的密码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 sel
35、ect on scott.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 t
36、able to solo4.4.查询数据库系统上有多少用户,文件名和创建时间查询数据库系统上有多少用户,文件名和创建时间select usernameselect username,created from dba_userscreated from dba_users三归档和非归档模式三归档和非归档模式1.1.查看数据库的归档模式查看数据库的归档模式在数据库正常启动的模式下在数据库正常启动的模式下Archive log listArchive log list2 2。修改数据库的归档模式。修改数据库的归档模式在数据库为在数据库为 mountmount 的模式下进行修改的模式下进行修改alte
37、r database 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 vlogfilelog
38、fileSQLSQL 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)可以查询出日志文件属于哪个组,日志文件的路径可以查询出日志文件属于哪个组,日志文件的路径1 1。1 1 查询日
39、志文件大小查询日志文件大小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,statusbytes,status,archived from v$log;ar
40、chived from v$log;查询结果:查询结果:GROUPGROUPMEMBERSMEMBERSBYTES STATUSBYTES STATUSARCARC-1 12 210485760 CURRENT10485760 CURRENTNONO2 22 210485760 INACTIVE10485760 INACTIVEYESYES3 31 110485760 INACTIVE10485760 INACTIVEYESYES4 41 110485760 INACTIVE10485760 INACTIVEYESYES结果显示,有四组重做日志结果显示,有四组重做日志,1,1 组组 2 2 组
41、有两个成员,组有两个成员,3 3 组组 4 4 组有一个成员,大小组有一个成员,大小 1048576010485760 字节字节.正在使用的是正在使用的是 第一组日志第一组日志,(状态为状态为 CURRENT),1CURRENT),1 组没有归档,组没有归档,2,32,3,4 4 组都归档了组都归档了.(ARCARC 为为 NONO,没有归档,没有归档,YES,YES,为归档)为归档)CURRENTCURRENT 表示正在被使用表示正在被使用2.2.增加日志文件配置信息增加日志文件配置信息alter database add logfile group 4 dalter database ad
42、d logfile group 4 d:oracleproduct10oracleproduct10。1 1。0oradataaucre0oradataaucredo04 size 10mdo04 size 10m查询出原来日志组中日志成员的大小查询出原来日志组中日志成员的大小 增加日志组增加日志组 日志成员的大小和原有的日志成员大小一致日志成员的大小和原有的日志成员大小一致3 3。增加日志成员。增加日志成员alter database add logfile member dalter database add logfile member d:oracleproduct10oraclepr
43、oduct10。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 orapwdorapwd file=d:oracleproduct10file=d:oracleproduct10。1 1。0db_1dbsinit
44、dw.ora0db_1dbsinitdw.ora password=oraclepassword=oracleentries=5entries=5六参数文件(六参数文件(spfilepfile)spfilepfile)1 1。查看数据库使用参数文件(。查看数据库使用参数文件(SPFILESPFILE 还是还是 PFILEPFILE)Show parameter spfileShow parameter spfile查询结果如果查询结果如果 VALUEVALUE 有路劲的话有路劲的话 说明数据库说明数据库 的参数文件的参数文件 使用的是使用的是 SPFILESPFILE2 2。创建。创建 SPF
45、ILESPFILECreate spfile from pfile=DCreate spfile from pfile=D:oracleproduct10oracleproduct10。1.0adminaucpfileinit1.0adminaucpfileinit。ora.1111200818ora.111120081852565256当数据库当数据库 启动启动 使用使用 PFILEPFILE 启动的时候启动的时候 通过以上方式通过以上方式 创建创建 SPFILESPFILE3.3.通过通过 PFILEPFILE 启动数据库启动数据库startup pfile=Dstartup pfile=
46、D:oracleproduct10oracleproduct10。1.0adminaucpfileinit.ora1.0adminaucpfileinit.ora。111120081811112008185256;5256;七七statspackstatspack1.1.安装安装 STATSPACKSTATSPACK?/rdbms/admin/spcreate?/rdbms/admin/spcreate。sqlsql2.2.数据采集数据采集采样数据采样数据SQL exec statspack.snapSQL exec statspack.snap后隔几分钟后再次采样数据后隔几分钟后再次采样数据
47、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 numbervariable jobno number;variable instno number;variable instno numbe
48、r;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),trunctrunc(SYSDATE+1SYSDATE+1/2424,HHHH),TRUE,:instnoTRUE,:instno);commi
49、t;commit;end;end;/主要是主要是 2424系统默认的是系统默认的是 一个小时自动执行一次一个小时自动执行一次,如果设置为半个小时执行一次的话,就将如果设置为半个小时执行一次的话,就将 2424 修改为修改为 4848就可以了就可以了-然后执行然后执行?/rdbms/admin/spauto?/rdbms/admin/spauto八八ORACLEORACLE 信息查询信息查询1.1.查询查询 ORACLEORACLE 数据库的名字,创建日期数据库的名字,创建日期select nameselect name,created,log_modecreated,log_mode,open
50、_mode from v$databaseopen_mode from v$database2 2。查询查询 ORACLEORACLE 所在操作系统的主机名所在操作系统的主机名,实例名,版本实例名,版本select host_name,instance_nameselect host_name,instance_name,version from vversion from vinstanceinstance3.3.查询查询 ORACLEORACLE 数据库系统版本详细信息数据库系统版本详细信息selectselect from vfrom vversionversion九控制文件九控制文件1