Oracle_数据库_DBA_基本技能(1).ppt
《Oracle_数据库_DBA_基本技能(1).ppt》由会员分享,可在线阅读,更多相关《Oracle_数据库_DBA_基本技能(1).ppt(72页珍藏版)》请在三一办公上搜索。
1、Oracle DBA 基本技能/常用技巧,张华Oracle支持服务部2007.02,主要内容,Oracle 数据库的组成结构管理临时表空间加快索引的创建使用 SPFILE 作为初始化参数文件()使用 Profile 加强数据库安全(口令的复杂程度)监控系统的锁资源争用(共享资源)SQL语句调优,Oracle 数据库的基本结构,Oracle 服务器(C/S),An Oracle server(关系型数据库)Is a database management system that provides an open,comprehensive,integrated approach to infor
2、mation management 实例数据库Consists of an Oracle instance and an Oracle database,Oracle 服务器的主要组件,Instance,SGA,Redo LogBuffer,Shared Pool,Data DictionaryCache,LibraryCache,DBWR,SMON,PMON,CKPT,LGWR,Others,Userprocess,Serverprocess,PGA,Control files(组成文件),Datafiles,Database,DatabaseBuffer Cache,Redo Log fi
3、les,Java Pool,Large Pool,Parameterfile,Archived Log files归档日志文件,数据库,关键进程,Oracle 实例,An Oracle instance:SGA(内存的结构)Is a means to access an Oracle database(连接数据库)Always opens one and only one databaseConsists of memory and background process structures,Background process structures,Memory structures,Ins
4、tance,SGA,Redo LogBuffer,Shared Pool,Data DictionaryCache,LibraryCache,DBWR,SMON,PMON进程监控,CKPT,LGWR,Others,DatabaseBuffer Cache,Java Pool,Large Pool,Oracle Database,An Oracle database:Is a collection of data that is treated as a unitConsists of three file types,建立一个数据库连接,Connecting to an Oracle inst
5、ance:Establishing a user connectionCreating a session,Session created,Database user,Userprocess,Serverprocess,Connection established,用户进程,A program that requests interaction with the Oracle serverMust first establish a connectionDoes not interact directly with the Oracle server,Database user,Serverp
6、rocess,Userprocess,Connectionestablished,服务器进程,A program that directly interacts with the Oracle serverFulfills calls generated and returns resultsCan be dedicated(独占)or shared server(共享),Connection established,Session created,Database user,Userprocess,Serverprocess,服务器进程,sdjf_dom2_srv4:/oracle ps-e
7、f|grep oracle oracle 2904150 2379866 0 Jan 27-0:06 oraclejzjf2(实例名)(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)oracle 3866722 1 0 08:50:21-0:00 oraclejzjf1(LOCAL=NO)oracle 3870846 1 0 11:34:20-0:00 oraclejzjf1(LOCAL=NO)oracle 3895388 1 0 02:37:35-0:00 oraclejzjf1(LOCAL=NO)oracle 3903652 1 0 20:14
8、:28-1:28 oraclejzjf1(LOCAL=NO),进程的所有者通常为 oracle 用户进程的名称为:oracleSID(实例的名称)可以被安全的 kill,服务器进程,sdjf_dom2_srv4:/oracle topasName PID CPU%PgSp Owneroracle 561246 36.6 7.1 oracleoracle 2711644 6.7 2.3 rate oracle 3358774 2.0 7.4 oracleoracle 454698 0.1 16.1 oracle-执行查询select s.sid,s.status,s.terminal,s.mac
9、hine,s.program from v$process p,v$session s where s.paddr=p.addr and p.spid=561246;(返回Session ID,状态),察看 Top CPU 进程找到该进程的 SID,服务器进程,-察看会话的属性select s.sid,s.status,s.program,sa.sql_text,sa.hash_value from v$session s,v$sqlarea sa where s.sql_address=sa.address and s.sql_hash_value=sa.hash_valueand s.si
10、d=1561;SIDSTATUSTERMINALMACHINEPROGRAM-ACTIVE菏泽计费WORKGROUP菏泽计费plsqldev.exe-察看会话正在执行的 SQLselect sa.sql_textfrom v$session s,v$sqlarea sa where s.sql_address=sa.address and s.sql_hash_value=sa.hash_value and s.sid=1488;,根据 SID 察看会话的属性察看会话正在执行的 SQL,服务器进程,-杀死服务器进程ps-ef|grep-v grep|grep LOCAL=NO|awk prin
11、t$2|xargs kill-9,杀死服务器进程,以加快实例的关闭,进程列出来,后台进程,Maintains and enforces relationships between physical and memory structures:Mandatory background processes:DBWnPMONCKPTLGWRSMONOptional background processes:ARCnLMDn QMNnCJQ0LMON RECODnnnLMS SnnnLCKnPnnn,后台进程,sdjf_dom2_srv4:/oracle ps-ef|grep ora_ oracle
12、466988 1 0 Jan 06-11:54 ora_smon_jzjf2 oracle 487480 1 0 Jan 06-15:08 ora_lmon_jzjf2 oracle 602182 1 0 Jan 06-14:54 ora_dbw0_jzjf2 oracle 704594 1 0 Jan 06-19:20 ora_pmon_jzjf2 oracle 737408 1 0 Jan 06-23:33 ora_ckpt_jzjf2,进程的所有者通常为 oracle 用户进程的名称为:ora_后台进程类型_SID被 kill 后可能会导致实例终止,管理临时表空间,临时表空间中的空间管理
13、,OPS/RAC 中的每个实例仅创建一个临时段,实例中的所有进程将共享该排序段实例启动后第一个利用磁盘执行排序操作的进程创建临时段;实例关闭后,系统将清空临时表空间临时空间的分配以 extent 为单位进行,并通过 SGA 中的Sort Extent Pool(内存结构)对这些 extents 进行管理。每个实例会维护一个属于自己的 SEP,并通过视图v$sort_segment 向用户开放,临时表空间中的空间管理,临时表空间已经 100%满了遇到了 ORA-01652“unable to extend temp segment by%s in tablespace%s”错误 查询 v$sor
14、t_segment(当前临时段用了多少,还多少没用)查询 v$tempseg_usage(当前临时段的用户),临时表空间中的空间管理,select s.tablespace_name,s.total_blocks,s.used_blocks from v$sort_segment s;TABLESPACE_NAMETOTAL_BLOCKSUSED_BLOCKS-TEMP4420864(一共)15104(用了)select s.sid,s.program,s.machine,t.extents,t.blocks from v$tempseg_usage t,v$session s where t
15、.session_addr=s.saddr;SIDPROGRAMMACHINEEXTENTSBLOCKS-1247plsqldev.exeJSJZXZXY3384(用了数据块),临时表空间中的空间管理,在 OPS/RAC 中,当一个实例需要临时空间并且 SEP 中没有可用的 extent 时:或者增长临时段(例一个实例80%,一个20%,20%的进行大操作,将从80%的实例中在分配出来给20%)或者系统自动从另一个实例 re-assign extent增大参数 PGA_AGGREGAGE_TARGET 参数值以尽量避免磁盘排序,select*from v$sysstat where name
16、like%sort%;STATISTIC#NAMECLASSVALUESTAT_ID-312sorts(memory)64797009872091983730313sorts(disk)6469002533123502314sorts(rows)64603954468743757672740,加快索引的创建,加快索引的创建,alter session set db_file_multiblock_read_count=128;alter index bill.ind_charge_id rebuild parallel 5 nologging;create index parallel 5 n
17、ologging;,创建超大分区表的本地索引,create index idx_subs_score_detail_attr_sid on subs_score_detail_attr(subsoid,region,)local tablespace inx unusable;,首先创建 UNUSABLE 状态的索引然后利用多个进程,rebuild 失效状态的索引分区,能够利用 nologging 参数的操作,CREATE TABLE AS SELECTINSERT TABLE SELECTCREATE INDEXREBULD INDEX or INDEX PARTITIONMOVE TABL
18、E or TABLE PARTITIONSQL*Loader direct-path load,查找失效的索引,-查找非分区索引select owner,index_name,index_type,table_owner,table_namefrom dba_indexeswhere partitioned=NO and status=UNUSABLE;OWNERINDEX_NAMEINDEX_TYPETABLE_OWNER TABLE_NAME-BILLIND_CHARGE_IDNORMALBILLT_RC_INSTANCEBILLIND_CHARGE_ID0NORMALBILLT_RC_I
19、NSTANCE,-查找分区索引select i.index_owner,i.index_name,i.partition_namefrom dba_ind_partitions i where status=UNUSABLE;,使用 SPFILE 作为初始化参数文件,初始化参数文件,From Oracle9i onwards,there are two types of initialization parameter file used:Static parameter file,PFILE Persistent server parameter file,SPFILE,spfiledb01
20、.ora,初始化参数文件,CONNECT/AS SYSDBASTARTUP,Oracle Instance,SGA,Redo LogBuffer,Shared Pool,Data DictionaryCache,LibraryCache,DBW0,SMON,PMON,CKPT,LGWR,Others,DatabaseBuffer Cache,Java Pool,Large Pool,PFILEinitSID.ora,文本文件通过文本编辑器进行修改采用手工的方式进行修改所作的修改在实例下次启动时生效仅在实例启动时打开确省的存取目录是$ORACLE_HOME/dbs,SPFILEspfileSID
21、.ora,二进制文件通过 Oracle 服务器进行修改总是存放在服务器上Ability to make changes persistent across shut down and start up,创建 SPFILE,通过 PFILE 创建 SPFILEwhereSPFILE-NAME:SPFILE to be createdPFILE-NAME:PFILE creating the SPFILE可以在实例启动之前或者之后执行,CREATE SPFILE=$ORACLE_HOME/dbs/spfileDBA01.oraFROM PFILE=$ORACLE_HOME/dbs/initDBA0
22、1.ora;,创建 SPFILE,SQL sqlplus/as sysdbaConnected to an idle instance.SQL create pfile from spfile;create pfile from spfile*ERROR at line 1:ORA-27037:unable to obtain file statusIBM AIX RISC System/6000 Error:2:No such file or directoryAdditional information:3SQL create pfile from spfile=/dev/rjf_spfi
23、le;File created.,不指定文件名,系统将使用缺省值,或者 spfile 参数值,SPFILE 内容示例,*.background_dump_dest=/home/dba01/ADMIN/BDUMP*.control_files=/home/dba01/ORADATA/u01/ctrl01.ctl*.core_dump_dest=/home/dba01/ADMIN/CDUMP*.db_block_size=8192*.db_name=jzjfjzjf1.thread=1jzjf2.thread=2jzjf1.undo_tablespace=UNDOTBS1jzjf2.undo_ta
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle_ 数据库 _DBA_ 基本技能
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2238047.html