《oracle数据库操作手册(33页).doc》由会员分享,可在线阅读,更多相关《oracle数据库操作手册(33页).doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-oracle数据库操作手册-第 33 页操作手册目录一表空间51.创建表空间52.增加表空间53.删除表空间64.查询表空间状态65.查询数据文件路径66.移动表空间中数据文件的路径67.移动表和索引到其他表空间78.查看表空间的使用率8二用户和权限101.创建用户102.修改用户的密码103.给用户授权104. 查询数据库系统上有多少用户,文件名和创建时间11三归档和非归档模式111.查看数据库的归档模式112.修改数据库的归档模式11四日志文件121.查询日志文件信息122.增加日志文件配置信息133.增加日志成员134.删除一组日志14五密码文件141.创建密码文件14六参数文件(sp
2、file pfile)141.查看数据库使用参数文件(SPFILE 还是PFILE)142.创建SPFILE143.通过PFILE 启动数据库14七statspack151.安装STATSPACK152.数据采集153.设置自动快照154.设置数据采集的时间15八ORACLE信息查询161.查询ORACLE数据库的名字,创建日期162. 查询ORACLE所在操作系统的主机名,实例名,版本163.查询ORACLE数据库系统版本详细信息16九控制文件171.查询控制文件172.备份控制文件17十索引171.创建普通索引172.创建位图索引173.查询索引所在的表,表空间,索引类型174.查询索引所
3、在的列18十一.主键181.定义主键182.查询主键索引193.查询约束信息194.禁止约束195.开启主键20十二.手工建库脚本20十三. .profile文件内容20十四.做定时JOB211.创建存储过程,为此存储过程作定时JOB212.定时JOB 的 参数说明22十五.查询出SQL语句231.通过SID 找出HASH VALUE 值232.通过HASH VALUE 值 查询出SQL 语句233.根据HASH VALUE 值 查询出对应的 SESSLIN SID234.根据HASH VALUE 找出对应的机器名称235.通过HASH VALUE 查询出 该语句的执行计划246.查询存储过程
4、247.查询对象属于哪个用户248.查询表的分析时间249.查询对象(表)的类型24十六.查询脚本251.查询等待事件252.查询大表已经索引 超过2G 的对象253.查看锁26十七.基本的SQL语句261.对表的操作262.常用的函数27十八.安装手册28十九.错误总结281. ORA-00257: 归档程序错误28二十.故障处理301.日志挖掘302.行链接行迁移313.逻辑备份(exp/imp)364.关闭和启动数据库的步骤37二十一.METALINK 操作381.开二级别SR382.OPATCH 下载地址383.数据库升级补丁下载39二十二.oracle下载401.ORACLE10G
5、下载方法40参数详细说明43一表空间create tablespace xjzhang datafile d:oracleproduct10.1.0oradataxjzhang.dbf size 20m autoextend offsegment space management autoautoextend off不自动扩展segment space management auto自动段管理 推荐1.1 创建临时表空间create temporary tablespace temp1 tempfile d:oracleproductoradataauctemp.dbf size 5m aut
6、oextend off用于存放扩展信息1.2 创建UNDO 表空间create undo tablespace zzq_undo1 datafile D:ORACLEPRODUCTORADATAAUCZZQ_UNDO2.DBF size 20m autoextend offalter tablespace BCS_LOG add datafile /disk_array/oracle/oracle/oradata/auc/BCS_LOG13.dbf size 1024m autoextend off-路径根据操作系统的不听进行填写drop tablespace zzq - 直接删除表空间,而不
7、删除对应的数据文件drop tablespace zzq INCLUDING CONTENTS -加上该选项 则连同数据文件一起删除了col tablespace_name for a15select tablespace_name,block_size,status,contents,logging from dba_tablespaces;查询结果 STATUS 为 ONLINE 表示为联机状态 正常 如果为OFFLINE 说明表空间不被使用路径select file_id,file_name,tablespace_name,status,bytes from dba_data_files
8、1. 首先确定数据文件的状态 要为OFFLINEselect tablespace_name,status,contents from dba_tablespacesselect file_id,file_name,tablespace_name from dba_data_files where file_name like %ORACLE% order by file -通过该语句查询数据文件的路径2. 将该表空间修改为OFFLINEalter tablespace USERS offlineselect tablespace_name,status,contents from dba_t
9、ablespaces -查看表空间状态确定修改成功3. 移动数据文件host copy D:oracleproductoradataaucUSERS01.DBF d:oracleproduct10.1.0oradataaucdbf4. 重新命名 该表空间的路径和名称alter tablespace users rename datafile d:oracleproductoradataaucUSERS01.DBF to d:oracleproductoradataaucdbfUSERS01.DBF5. 修改表空间的状态为 ONLINE 状态alter tablespace users onli
10、ne第二种方法在数据库位 mount的模式下1. host copy d:oracleproductoradataaucsystem01.dbf d:oracleproduct10.1.0oradataaucsystem2. alter database rename file d:oracleproductoradataaucsystem01.dbf to d:oracleproduct10.1.0oradataaucsystemsystem01.dbf3.alter database open4. select file_name,tablespace_name from dba_data
11、_files表和索引到其他表空间1. 查询该对象存放在哪个表空间select segment_name,tablespace_name,extents,blocks from dba_segments where owner=ZHANG2.查询该对象是索引,还是表select object_id,object_name,object_type,status,created from dba_objects where owner=ZHANG3.查询索引或者表 存放在哪个表空间select index_name,table_name,tablespace_name,status from dba
12、_indexes where owner=ZHANGalter table zhang.zzq_1 move tablespace zhang_zzq6. 查询该表是否移动到该表空间select segment_name,tablespace_name,extents,blocks from dba_segments where owner=ZHANG7. 检查表是否有效select object_id,object_name,object_type,status,created from dba_objects where owner=ZHANG状态为 VALID 是有效8. 重建索引 并且
13、将索引移动到另一个表空间alter index zhang.zzq_index rebuild tablespace zhang_zzq9. 查询索引对应的表空间select index_name,table_name,tablespace_name,status from dba_indexes where owner=ZHANG有两个脚本都可以使用1.col f.tablespace_name format a15col d.tot_grootte_mb format a10col ts-per format a8select upper(f.tablespace_name) TS-nam
14、e, d.tot_grootte_mb TS-bytes(m), d.tot_grootte_mb - f.total_bytes TS-used (m), f.total_bytes TS-free(m), to_char(round(d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100, 2), 990.99) TS-per from (select tablespace_name, round(sum(bytes) / (1024 * 1024), 2) total_bytes, round(max(bytes) / (10
15、24 * 1024), 2) max_bytes group by tablespace_name) f, (select dd.tablespace_name, round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb from sys.dba_data_files dd group by dd.tablespace_name) dorder by 5 desc2.SELECT D.TABLESPACE_NAME, SPACE SUM_SPACE(M), BLOCKS SUM_BLOCKS, SPACE - NVL(FREE_SPACE,
16、0) USED_SPACE(M), ROUND(1 - NVL(FREE_SPACE, 0) / SPACE) * 100, 2) USED_RATE(%), FREE_SPACE FREE_SPACE(M) FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES) / (1024 * 1024), 2) SPACE, SUM(BLOCKS) BLOCKS FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) D, (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES) / (1024 * 1
17、024), 2) FREE_SPACE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)UNION ALL -if have tempfile SELECT D.TABLESPACE_NAME, SPACE SUM_SPACE(M), BLOCKS SUM_BLOCKS, USED_SPACE USED_SPACE(M), ROUND(NVL(USED_SPACE, 0) / SPACE * 100, 2) USED_RATE(%), NVL(FREE_S
18、PACE, 0) FREE_SPACE(M) FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES) / (1024 * 1024), 2) SPACE, SUM(BLOCKS) BLOCKS FROM DBA_TEMP_FILES GROUP BY TABLESPACE_NAME) D, (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES_USED) / (1024 * 1024), 2) USED_SPACE, ROUND(SUM(BYTES_FREE) / (1024 * 1024), 2) FREE_SPACE FRO
19、M V$TEMP_SPACE_HEADER GROUP BY TABLESPACE_NAME) F WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+) ORDER BY 5 DESC二用户和权限create user yqm identified by ora1234 default tablespace ts_yqmtemporary tablespace ts_temp_yqm创建用户 yqm 密码为 ora123 默认的表空间维 ts_yqm 默认的临时表空间为 ts_yqm默认的 临时表空间维 ts_temp_yqmalter user yqm
20、 identified by yqm1234grant connect to yqm -授予用户 connect 的权限grant dba to yqm 授予用户 DBA 的权限revoke dba from yqm -收回用户DBA 的权限grant select on scott.emp to kxht -授予用户 能查询SCOTT 下的 EMP 表的权限grant select any table to solo -授予用户能查询所有表的权限grant delete any table to solo grant create any table to solo4. 查询数据库系统上有多
21、少用户,文件名和创建时间select username,created from dba_users三归档和非归档模式在数据库正常启动的模式下 Archive log list在数据库为 mount 的模式下进行修改alter database archivelog -将非归档模式修改为归档模式alter system set log_archive_dest_1=location=d:oraclelog scope=spfile 修改数据库的归档日志路径四日志文件Select * from v$logfileSQL desc v$logfile; 名称 是否为空? 类型 - - - GROU
22、P# NUMBER STATUS VARCHAR2(7) TYPE VARCHAR2(7) MEMBER VARCHAR2(513) IS_RECOVERY_DEST_FILE VARCHAR2(3)可以查询出日志文件属于哪个组,日志文件的路径select bytes/1024/1024 from v$log -查询日志文件的大小1.2 日志切换alter system switch logfile -手工切换日志1.3 重做日志文件详细SQL select group#,members,bytes,status,archived from v$log;查询结果: GROUP# MEMBERS
23、 BYTES STATUS ARC- - - - - 1 2 10485760 CURRENT NO 2 2 10485760 INACTIVE YES 3 1 10485760 INACTIVE YES 4 1 10485760 INACTIVE YES结果显示,有四组重做日志,1组2组有两个成员,3组4组有一个成员,大小10485760 字节。正在使用的是 第一组日志,(状态为CURRENT),1组没有归档,2,3,4组都归档了。(ARC 为NO,没有归档,YES,为归档)CURRENT 表示正在被使用2.增加日志文件配置信息alter database add logfile group
24、 4 d:oracleproductoradataaucredo04 size 10m查询出原来日志组中日志成员的大小 增加日志组 日志成员的大小和原有的日志成员大小一致alter database add logfile member d:oracleproductoradataaucredo011 to group 1为日志一组增加一个日志成员alter database drop logfile group 4 五密码文件SQL host orapwd file=d:oracleproductdb_1dbsinitdw.ora password=oracle entries=5六参数文件
25、(spfile pfile)1.查看数据库使用参数文件(SPFILE 还是PFILE)Show parameter spfile查询结果如果VALUE 有路劲的话 说明数据库 的参数文件 使用的是 SPFILECreate spfile from pfile=D:oracleproductadminaucpfil5256当数据库 启动 使用 PFILE 启动的时候 通过以上方式 创建 SPFILE3.通过PFILE 启动数据库startup pfile=D:oracleproduct5256;七statspack采样数据SQL ex后隔几分钟后再次采样数据生成报表oracleproductdb
26、_1rdbmsadminspauto.sql修改该脚本中的内容,variable jobno number;variable instno number;begin select instance_number into :instno from v$instance; dbms_job.submit(:jobno, statspack.snap;, trunc(sysdate+1/24,HH), trunc(SYSDATE+1/24,HH), TRUE, :instno); commit;end;/主要是 24 系统默认的是 一个小时自动执行一次,如果设置为半个小时执行一次的话,就将24修改
27、为48 就可以了-然后执行 ?/rdbms/admin/spauto八ORACLE信息查询1.查询ORACLE数据库的名字,创建日期select name,created,log_mode,open_mode from v$database2. 查询ORACLE所在操作系统的主机名,实例名,版本select host_name,instance_name,version from v$instanceselect * from v$version九控制文件 col name for a45select * from v$controlfilealter database backup cont
28、rolfile to trace备份控制文件为 TRC 文件 在 BDUMP 中可以找到十索引普通索引create index zhang.zzq_1_index on zhang.zzq_1(a3) pctfree 25 storage (initial 500k) tablespace zzq_indexcreate bitmap index zhang.zzq_2_index on zhang.zzq_2(aname) pctfree 25 storage (initial 500k) tablespace zzq_index3.查询索引所在的表,表空间,索引类型SQL col tabl
29、espace_name for a15SQL select index_name,index_type,table_name,tablespace_name,uniqueness,status from dba_indexes where owner=ZHANG;INDEX_NAME INDEX_TYPE TABLE_NAME TABLESPACE_NAME UNIQUENES STATUS- - - - - -ZZQ_2_INDEX BITMAP ZZQ_2 ZZQ_INDEX NONUNIQUE VALIDBIN$JzT/4eOlRteD8fJ2TYznbw=$0 NORMAL BIN$u
30、ZNQmZH5SSa6pO3YXAGNLA=$0 ZHANG_ZZQ NONUNIQUE VALIDZZQ_1_INDEX NORMAL ZZQ_1 ZZQ_INDEX NONUNIQUE VALID查询结果可以看出,索引zzq_2_index 是BITMAP 索引,位于表zzq_2,位于ZZQ_INDEX表空间 是非唯一索引(NONUNIQUE),状态 VALID 表示正常 索引ZZQ_1_INDEX 是普通索引,位于表ZZQ_1 位于ZZQ_INDEX 表空间 是非唯一索引(NONUNIQUE),状态 VALID 表示正常SQL select index_name,table_name,c
31、olumn_name,index_owner,table_owner from dba_ind_columns where table_owner=ZHANG;INDEX_NAME TABLE_NAME COLUMN_NAME INDEX_OWNER TABLE_OWNER- - - - -ZZQ_2_INDEX ZZQ_2 ANAME ZHANG ZHANGBIN$JzT/4eOlRteD8fJ2TYznbw=$0 BIN$uZNQmZH5SSa6pO3YXAGNLA=$0 NAME_ID ZHANG ZHANGZZQ_1_INDEX ZZQ_1 A3 ZHANG ZHANG查询结果看出,Z
32、ZQ_2_INDEX 该索引 在表ZZQ_2中,所在的列为ANAME,所在的用户为ZHANG。定义zzq_3 表中 A1字段为主键约束 主键名称为 A3_primary_keySQL alter table zhang.zzq_3 ADD constraint zzq_3_primary_key primary key (a1) deferrable using index tablespace zzq_primary_key;该错误是 主键约束ORA-00001: 违反唯一约束条件SQL col segment_name for a20SQL select segment_name,segm
33、ent_type,tablespace_name from dba_segments where tablespace_name=ZZQ_PRIMARY_KEYSQL select constraint_name,table_name,constraint_type,status,deferred,validated from dba_constraints where owner=ZHANG;CONSTRAINT_NAME TABLE_NAME CONSTRAINT_TYPE STATUS DEFERRED- - - - -VALIDATED-ZZQ_3_PRIMARY_K ZZQ_3 P
34、ENABLED IMMEDIATEEY状态为 ENABLED 表示 主键有效(主键打开),状态为DISABLED,表示主键关闭alter table zhang.zzq_3 disable novalidate constraint zzq_3_primary_key;alter table zhang.zzq_3 enable novalidate constraint zzq_3_primary_keyCREATE DATABASE wxzb USER SYS IDENTIFIED BY oracle USER SYSTEM IDENTIFIED BY oracle LOGFILE GRO
35、UP 1 (/dev/rdatavg_1_076) SIZE 1022M, GROUP 2 (/dev/rdatavg_1_077) SIZE 1022M, GROUP 3 (/dev/rdatavg_1_078) SIZE 1022M MAXLOGFILES 10 MAXLOGMEMBERS 5 MAXLOGHISTORY 1 MAXDATAFILES 100 MAXINSTANCES 1 CHARACTER SET ZHS16GBK NATIONAL CHARACTER SET UTF8 DATAFILE /dev/rdatavg_2_sys SIZE 2046M REUSE EXTENT
36、 MANAGEMENT LOCAL DEFAULT TEMPORARY TABLESPACE temp1 TEMPFILE /dev/rdatavg_2_tmp1 SIZE 2046M REUSE UNDO TABLESPACE UNDOTBS1 DATAFILE /dev/rdatavg_2_udo1 SIZE 2046M REUSE AUTOEXTEND off;十三. .profile文件内容_=/usr/bin/envTMPDIR=/oracle/tempLANG=en_USLOGIN=oraclePGSD_SUBSYS=grpsvcsPATH=/oracle/app/oracle/b
37、in:/home/watch/bin:/usr/local/bin:/usr/ccs/bin:/oracle/app/oracle/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/oracle/bin:/usr/bin/X11:/sbin:.:/oracle/OPatchORACLE_BASE=/oracleLC_FASTMSG=trueCLASSPATH=/oracle/app/oracle/JRE/lib:/oracle/app/oracle/JRE/lib/rt.jar:/oracle/app/oracle/jlibLOGNAME=oracleTMP=/ora
38、cle/tempMAIL=/usr/spool/mail/oracleORACLE_SID=bossbil1_i1LOCPATH=/usr/lib/nls/locPS1=oraclewxkhp630:$PWDUSER=oracleNLS_DATE_FORMAT=YYYYMMDDHH24MISSAUTHSTATE=compatSHELL=/usr/bin/kshODMDIR=/etc/objreposORA_NLS33=/oracle/app/oracle/ocommon/nls/admin/dataHOME=/oracleTERM=vt100MAILMSG=YOU HAVE NEW MAILO
39、RACLE_HOME=/oracle/app/oraclePWD=/TZ=BEIST-8AIXTHREAD_SCOPE=SA_z=! LOGNAMELIBPATH=/oracle/app/oracle/lib:/oracle/app/oracle/ctx/libLD_LIBRARY_PATH=/oracle/app/oracle/lib:/usr/lib1.创建存储过程,为此存储过程作定时JOB1创建一张表,用户存放定时信息create table test_time (test date)2. 制定定时执行的存储过程create or replace procedure inserttest as begin insert into test_time values (sysdate);end;/3. 创建JOB,即创建待执行的定时任务过程variable job1 number;be