01Oracle培训参数调整内容下午.docx
- 文档编号:4907496
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:27
- 大小:22.78KB
01Oracle培训参数调整内容下午.docx
《01Oracle培训参数调整内容下午.docx》由会员分享,可在线阅读,更多相关《01Oracle培训参数调整内容下午.docx(27页珍藏版)》请在冰豆网上搜索。
01Oracle培训参数调整内容下午
Oracle培训参数调整
1.1常用参数的调整步骤
数据库一些常用的调整
序号
调整参数及步骤
1
表空间的状态 online,readonly,write,readoffline
altertablespacelxonline;
altertablespacelxoffline;
altertablespacelxreadonly;
altertablespacelxreadwrite;
--移动表从一个表空间到另一个表空间
altertablelx_aaamovetablespacephoto;
--1、移动表
ALTERTABLEtable_nameMOVETABLESPACEtablespace_name;
--2、移动索引
ALTERINDEXidx_nameREBUILDONLINETABLESPACEtablespace_name;
--3、移动LOB字段
ALTERTABLEtable_nameMOVELOB(lob_column_name)STOREAS(TABLESPACEtablespace_name);
--truncate表分区
altertablelx_abctruncatepartitionp1;
altertablelx_abcdroppartitionp1;
2
--调整游标数
altersystemsetoptimizer_mode=first_rowsscope=both;
altersystemsetopen_cursors=800scope=both;
3
--修改最大进程数与会话数
--修改sessions与process关系
sessions=1.1*process+5
--修改processes,session
--processes=200
--sessions=225=(1.1*PROCESSES)+5
showparameterprocesses;
altersystemsetprocesses=200scope=spfile;
altersystemsetsessions=225scope=spfile;
createpfilefromspfile;
shutdownimmediate;
startup;
4
--修改归档目录大小
altersystemsetdb_recovery_file_dest_size=100Gscope=both;
--修改归档目录
altersystemsetdb_recovery_file_dest='\TestOracle\flash_recovery_area'scope=both;
5
--启动归档
archiveloglist;
shutdownimmediate;
startupmount
alterdatabasearchivelog;
--关闭归档
alterdatabasenoarchivelog;
alterdatabaseopen;
archiveloglist;
showparameterdb_recovery;
selectlog_mode,namefromv$database;
6
--删除日志文件
SQL>alterdatabasedroplogfilegroup2;
SQL>alterdatabaseaddlogfilegroup2('E:
\TESTORACLE\TESTA\REDO02.LOG')size100Mreuse;
--切换日志文件
SQL>altersystemswitchlogfile;
SQL>select*fromv$Log;
GROUP#THREAD#SEQUENCE#BYTESMEMBERSARCSTATUSFIRST_CHANGE#FIRST_TIME
-----------------------------------------------------------------------------------------------------
111221474836481NOACTIVE2037042009-09-1719:
04:
23
2111524288001NOACTIVE2032062009-09-1718:
56:
08
311321474836481NOCURRENT2037102009-09-1719:
04:
38
--归档日志
SQL>altersystemcheckpoint;
--=====================================================
----调整重做日志用到的语句
----使用toad新建日志。
然后,切换日志。
最后归档日志。
SQL>alterdatabasedroplogfilegroup2;
SQL>alterdatabaseaddlogfilegroup2('E:
\TESTORACLE\TESTA\REDO02.LOG')size100Mreuse;
Databasealtered.
SQL>altersystemswitchlogfile;
Systemaltered.
SQL>select*fromv$Log;
GROUP#THREAD#SEQUENCE#BYTESMEMBERSARCSTATUSFIRST_CHANGE#FIRST_TIME
-----------------------------------------------------------------------------------------------------
111221474836481NOACTIVE2037042009-09-1719:
04:
23
2111524288001NOACTIVE2032062009-09-1718:
56:
08
311321474836481NOCURRENT2037102009-09-1719:
04:
38
SQL>altersystemcheckpoint;
7
--如果重做日志丢失可又drop了这个日志
alterdatabasedroplogfile'E:
\TestOracle\testa\REDO03.LOG';
alterdatabaseaddlogfile'E:
\TestOracle\testa\REDO04.LOG';
alterdatabaseclearlogfile'E:
\TestOracle\testa\REDO04.LOG';
alterdatabaseclearlogfile'E:
\TestOracle\testa\REDO03.LOG';
alterdatabaseaddlogfile'E:
\TestOracle\testa\REDO05.LOG';
alterdatabaseclearunarchivedlogfilegroup3;
alterdatabaseclearunarchivedlogfilegroup4;
--切换日志后,删除,删除可能
altersystemswitchlogfile;
8
TempTable的特点
(1)多用户操作的独立性:
对于使用同一张临时表的不同用户,ORACLE都会分配一个
独立的TempSegment,这样就避免了多个用户在对同一张临时表操作时发生交叉,从而
保证了多个用户操作的并发性和独立性;
(2)数据的临时性:
既然是临时表,顾名思义,存放在该表中的数据是临时性的。
ORACLE根据你创建临时表时指定的参数(OnCommitDeleteRows/OnCommitPreserveRows),自动将数据TRUNCATE掉。
TempTable数据的时效性
1:
OnCommitDeleteRows:
数据在Transaction期间有效,一旦COMMIT后,数据就被自动TRUNCATE掉了;
2:
OnCommitPreserveRows:
数据在Session期间有效,一旦关闭了Session或LogOff后,数据就被ORACLE自动Truncate掉。
droptableBGCZXZ_TMP;
createglobaltemporarytableBGCZXZ_TMP
(
AAE140VARCHAR2(3)
)
oncommitdeleterows;
createglobaltemporarytableWXZJCP3.BGCZXZ_TMP
(
AAE140VARCHAR2(3)
)
oncommitpreserverows;
9
--限制用户使用system或其它表空间
alteruseruser_nanequota0onsystem;
注意system表空间不要放业务数据。
10
---查询版本信息
selectcomp_name,version,statusfromsys.dba_registry;
11
---启动em
emctlstartdbconsole
emctlstopdbconsole
12
--减小表空间
ALTERDATABASEDATAFILE'/oradata/sxszwx/undotbs01.dbf'RESIZE1024M;
13
--生成系统分析报告
@/oracle/product/10.2.0/db_1/rdbms/admin/awrrpt.sql;
@E:
\oracle\product\10.2.0\db_1\RDBMS\ADMIN\awrrpt.sql;
14
15
--表放到内存中
ALTERTABLEwxzjcp3.t_aa10CACHE;
ALTERTABLEwxzjcp3.t_aa10noCACHE;
16
17
--asm建立表空间,不指定文件名
createtablespaceabcddatafilesize10m;
ALTERTABLESPACEabcdADDDATAFILESIZE10M;
createtablespaceabcddatafile'+data'size10m;
ALTERTABLESPACEabcdADDDATAFILE'+data'SIZE10M;
18
D:
\Oracle\ora92\rdbms\admin
存放着一些性能管理等的脚本
E:
\oracle\product\10.2.0\db_2\RDBMS\ADMIN
19
清回收站
SQL>purgedba_recyclebin;
DBARecyclebinpurged.
SQL>selectowner,count(*)fromdba_recyclebingroupbyowner;
norowsselected
--从回收站里恢复表
select*fromuser_recyclebinwhereoriginal_name='LX_2';
FLASHBACKTABLE"BIN$Px2RGjGGTW2AkXc4S2p4Ag==$0"TOBEFOREDROP;
FLASHBACKTABLEHR.INT_ADMIN_EMPTOBEFOREDROP;
FLASHBACKTABLE"BIN$KSD8DB9L345KLA==$0"TOBEFOREDROP
RENAMETOhr.int2_admin_emp;
PURGETABLESPACEhr;
PURGETABLESPACEhrUSERscott;
PURGERECYCLEBIN;
20
truncate与delete表的区别。
truncate表,会删除表所占的空间
delete表,不会释放表所占的空间
21
alteruserzw2401accountunlock;
22
unionall--取消两个查询中的重复值,为两个结果集的并集
union--取两个查询里的所有的值
intersect--获取两个结果的交集
minus--取两个结果集的差集
23
----回滚段调整
--另建一个回滚表空间
CREATEundoTABLESPACEundotbs2DATAFILE'e:
\undotbs2.dbf'SIZE1000MAUTOEXTENDONNEXT500KMAXSIZE1800M;
--切换UNDO表空间为新的UNDO表空间
altersystemsetundo_tablespace=undotbs2scope=both;
--删除原UNDO表空间
droptablespaceundotbs1includingcontents;
只给一个dmp文件如何导入到数据中?
如何修改数据库密码。
----回滚段调整
--另建一个回滚表空间
CREATEundoTABLESPACEundotbs2DATAFILE'e:
\undotbs2.dbf'SIZE1000MAUTOEXTENDONNEXT500KMAXSIZE1800M;
--切换UNDO表空间为新的UNDO表空间
altersystemsetundo_tablespace=undotbs2scope=both;
--删除原UNDO表空间
droptablespaceundotbs1includingcontents;
ALTERUSERUSERNAMEIDENTIFIEDBYPASSWORDACCOUNTUNLOCK;
--切换回滚段
createundotablespaceundotbs2datafile'/oradata/wxyl/undotbs02.dbf'size10240m;
createundotablespaceundotbs1datafile'/oradata/wxyl/undotbs01.dbf'size10240m;
altersystemsetundo_tablespace=undotbs02scope=both;
droptablespaceundotbs1includingcontents;
droptablespaceundotbs1includingcontentsanddatafilescascadeconstraints;
--查询回滚段是否在用
selectsegment_name,owner,tablespace_name,status
fromdba_rollback_segs
wheretablespace_name='UNDOTBS1'andstatus='ONLINE';
createspfilefrompfile='/home/oracle/wxyb_tmp.ora';
startup;
24
25
174./*+ALL_ROWS*/
表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.
例如:
SELECT/*+ALL+_ROWS*/EMP_NO,EMP_NAM,DAT_INFROMBSEMPMSWHEREEMP_NO='CCBZZP';
175./*+FIRST_ROWS*/
表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.
例如:
SELECT/*+FIRST_ROWS*/EMP_NO,EMP_NAM,DAT_INFROMBSEMPMSWHEREEMP_NO='CCBZZP';
176./*+CHOOSE*/
表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量;
表明如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法;
例如:
SELECT/*+CHOOSE*/EMP_NO,EMP_NAM,DAT_INFROMBSEMPMSWHEREEMP_NO='CCBZZP';
177./*+RULE*/
表明对语句块选择基于规则的优化方法.
例如:
SELECT/*+RULE*/EMP_NO,EMP_NAM,DAT_INFROMBSEMPMSWHEREEMP_NO='CCBZZP';
178./*+FULL(TABLE)*/
表明对表选择全局扫描的方法.
例如:
SELECT/*+FULL(A)*/EMP_NO,EMP_NAMFROMBSEMPMSAWHEREEMP_NO='CCBZZP';
179./*+ROWID(TABLE)*/
提示明确表明对指定表根据ROWID进行访问.
例如:
SELECT/*+ROWID(BSEMPMS)*/*FROMBSEMPMSWHEREROWID>='AAAAAAAAAAAAAA'
ANDEMP_NO='CCBZZP';
180./*+CLUSTER(TABLE)*/
提示明确表明对指定表选择簇扫描的访问方法,它只对簇对象有效.
例如:
SELECT/*+CLUSTER*/BSEMPMS.EMP_NO,DPT_NOFROMBSEMPMS,BSDPTMS
WHEREDPT_NO='TEC304'ANDBSEMPMS.DPT_NO=BSDPTMS.DPT_NO;
181./*+INDEX(TABLEINDEX_NAME)*/
表明对表选择索引的扫描方法.
例如:
SELECT/*+INDEX(BSEMPMSSEX_INDEX)USESEX_INDEXBECAUSETHEREAREFEWMALEBSEMPMS*/FROMBSEMPMSWHERESEX='M';
182./*+INDEX_ASC(TABLEINDEX_NAME)*/
表明对表选择索引升序的扫描方法.
例如:
SELECT/*+INDEX_ASC(BSEMPMSPK_BSEMPMS)*/FROMBSEMPMSWHEREDPT_NO='CCBZZP';
183./*+INDEX_COMBINE*/
为指定表选择位图访问路经,如果INDEX_COMBINE中没有提供作为参数的索引,将选择出位图索引的
布尔组合方式.
例如:
SELECT/*+INDEX_COMBINE(BSEMPMSSAL_BMIHIREDATE_BMI)*/*FROMBSEMPMS
WHERESAL<5000000ANDHIREDATE 184./*+INDEX_JOIN(TABLEINDEX_NAME)*/ 提示明确命令优化器使用索引作为访问路径. 例如: SELECT/*+INDEX_JOIN(BSEMPMSSAL_HMIHIREDATE_BMI)*/SAL,HIREDATE FROMBSEMPMSWHERESAL<60000; 185./*+INDEX_DESC(TABLEINDEX_NAME)*/ 表明对表选择索引降序的扫描方法. 例如: SELECT/*+INDEX_DESC(BSEMPMSPK_BSEMPMS)*/FROMBSEMPMSWHEREDPT_NO='CCBZZP'; 186./*+INDEX_FFS(TABLEINDEX_NAME)*/ 对指定的表执行快速全索引扫描,而不是全表扫描的办法. 例如: SELECT/*+INDEX_FFS(BSEMPMSIN_EMPNAM)*/*FROMBSEMPMSWHEREDPT_NO='TEC305'; 187./*+ADD_EQUALTABLEINDEX_NAM1,INDEX_NAM2,...*/ 提示明确进行执行规划的选择,将几个单列索引的扫描合起来. 例如: SELECT/*+INDEX_FFS(BSEMPMSIN_DPTNO,IN_EMPNO,IN_SEX)*/*FROMBSEMPMSWHEREEMP_NO='CCBZZP'ANDDPT_NO='TDC306'; 188./*+USE_CONCAT*/ 对查询中的WHERE后面的OR条件进行转换为UNIONALL的组合查询. 例如: SELECT/*+USE_CONCAT*/*FROMBSEMPMSWHEREDPT_NO='TDC506'ANDSEX='M'; 189./*+NO_EXPAND*/ 对于WHERE后面的OR或者IN-LIST的查询语句,NO_EXPAND将阻止其基于优化器对其进行扩展. 例如: SELECT/*+NO_EXPAND*/*FROMBSEMPMSWHEREDPT_NO='TDC506'ANDSEX='M'; 190./*+NOWRITE*/ 禁止对查询块的查询重写操作. 191./*+REWRITE*/ 可以将视图作为参数. 192./*+MERGE(TABLE)*/ 能够对视图的各个查询进行相应的合并. 例如: SELECT/*+MERGE(V)*/A.EMP_NO,A.EMP_NAM,B.DPT_NOFROMBSEMPMSA(SELETDPT_NO AVG(SAL)ASAVG_SALFROMBSEMPMSBGROUPBYDPT_NO)VWHEREA.DPT_NO=V.DPT_NO ANDA.SAL>V.AVG_SAL; 193./*+NO_MERGE(TABLE)*/ 对于有可合并的视图不再合并. 例如: SELECT/*+NO_MERGE(V)*/A.EMP_NO,A.EMP_NAM,B.DPT_NOFROMBSEMPMSA(SELETDPT_NO AVG(SAL)ASAVG_SALFROMBSEMPMSBGROUPBYDPT_NO)VWHEREA.DPT_NO=V.DPT_NO ANDA.SAL>V.AVG_SAL; 194./*+ORDERED*/ 根据表出现在FROM中的顺序,ORDERED使ORACLE依此顺序对其连接. 例如: SELECT/*+ORDERED*/A.COL1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 01 Oracle 培训 参数 调整 内容 下午