小知识总结一Word下载.docx
- 文档编号:13684118
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:14
- 大小:35.51KB
小知识总结一Word下载.docx
《小知识总结一Word下载.docx》由会员分享,可在线阅读,更多相关《小知识总结一Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
CREATEORREPLACEPROCEDUREp_jobtestISv_hhVARCHAR2
(2);
BEGINv_hh:
=to_char(SYSDATE,'
hh24'
);
IFv_hh='
08'
ANDv_hh='
22'
THEN
--你的sql语句
NULL;
ENDIF;
END;
/
--提交一个JOBDECLAREv_jobnoNUMBER;
BEGINdbms_job.submit(v_jobno,
'
p_jobtest;
trunc(SYSDATE,'
mi'
)+1/1440,
)+5/1440'
2.RMAN中的list命令显示的信息是从控制文件里获取的,如果使用rm等命令手工的删除备份文件,这个动作不会同步到控制文件,造成不一致,这种不一致会导致使用rman时报错。
可以使用delete删除这些过期的记录,在用就不会报错了。
RMANcrosscheckcopy;
RMANlistcopy;
RMANdeleteexpiredcopy;
3.触发LGWR进程的条件有:
1.用户提交
2.有1/3重做日志缓冲区未被写入磁盘
3.有大于1M的重做日志缓冲区未被写入磁盘
4.3秒超时
5.DBWR需要写入的数据的SCN大于LGWR记录的SCN,DBWR触发LGWR写入。
4.触发DBWR进程的条件有:
1.DBWR超时,大约3秒
2.系统中没有多余的空缓冲区来存放数据
3.CKPT进程触发DBWR5.每隔3秒钟ckpt会去更新控制文件和数据文件,记录checkpoint执行的情况。
当发生checkpoint时,会把SCN写到四个地方去。
三个地方于controlfile内,一个在datafileheader。
6.触发CheckPoint(检查点条件有很多,比如:
1.通过正常事务处理或者立即选项关闭例程时(shutdownimmediate或者Shutdownnormal),
2.当通过设置初始化参数
LOG_CHECKPOINT_INTERVAL,
LOG_CHECKPOINT_TIMEOUT,
FAST_START_IO_TARGET强制时;
3.当数据库管理员手动请求时
ALtersystemcheckpoint;
altertablespace.offline;
4.每次日志切换时;
altersystemswitchlogfile1.altersystemswitchlogfile也将触发完全检查点的发生。
2.alterdatabasedatafile.offline不会触发检查点进程。
7.RECOVERDATABASEUNTILCANCEL和RECOVERDATABASEUNTILCANCELUSINGBACKUPCONTROLFILE;
区别
1)RECOVERDATABASEUNTILCANCEL==OPENDATABASERESETLOG
==DATAFILEHEADERSCN一定会小于CONTROLFILE的DATAFILESCN
如果你有进行RESTOREDATAFILE,则该RESTORE的DATAFILEHEADERSCN一定会小于目前CONTROLFILE的DATAFILESCN,此时会无法开启数据库,必须进行mediarecovery。
重做archivelog直到该datafileheader的SCN=currentscn8.建表前判断表是否存在的存储过程。
在Oracle中没有droptable.ifexists语法。
所以我们可以在创建表之前用如下存储过程来判断。
createorreplaceprocedureproc_dropifexists(
p_tableinvarchar2
)isv_countnumber(10);
beginselectcount(*)
intov_countfromuser_objectswhereobject_name=upper(p_table);
ifv_count0thenexecuteimmediate'
droptable'
||p_table||'
purge'
;
endif;
end;
9.表属性中pctused,和pctfree作用
表示数据块什么时候移入和移出freelist。
pctused:
如果数据块的使用率小于pctused的值,则该数据块重新加入到fresslist中。
pctfree:
如果数据块的使用率高于pctfree的值,则该数据块从freelist中移出。
10.oracle表空间大小没有限制,根存储空间而定。
oracle9i或以下,单个数据文件最大32G(对于8K的数据块),整个数据库最多有64K个数据文件.单个表空间的数据文件数量没有具体的限制,也应该是在64K以下.oracle10g以上,引入了bigfiletablespace,bigfiletablespace只有一个数据文件,最大为4G*8k=32Tdatabasefilesize:
Operatingsystemdependent.Limitedbymaximumoperatingsystemfilesize;
typically222(2的22次方)or4Mblocks11.Oracle利用现有的表创建一张新表,只要表结构相同createtabledavidasselect*fromall_userswhere11;
12.循环插入数据declareiinteger;
beginforiin1.100000loopinsertintotestvalues(i);
endloop;
commit;
13.开发人员通常习惯赋予所有用户DBA权限,查看权限Select*FromUser_Role_PrivsSelect*FromUser_Sys_Privs14.看数据文件大小,单位是Mselectround(bytes/(1024*1024),0)total_spacefromdba_data_filesselectsum(bytes/(1024*1024))total_spacefromdba_data_files15控制文件大小selectsum(block_size*file_size_blks)/1024/1024fromv$controlfile16.建立表空间CREATETABLESPACEdata01DATAFILE'
/oracle/oradata/db/DATA01.dbf'
SIZE500MUNIFORMSIZE128k;
#指定区尺寸为128k,如不指定,区尺寸默认为64k删除表空间DROPTABLESPACEdata01INCLUDINGCONTENTSANDDATAFILES;
修改表空间大小alterdatabasedatafile'
/path/NADDate05.dbf'
resize100M
查看表空间:
selecttablespace_name,file_name,sum(bytes)/1024/1024table_sizefromdba_data_filesgroupbytablespace_name,file_name;
17.有没有被lock,可以通过这2张dynamicview来确定:
v$locked_object,V$session可以把该session杀掉。
selectsid,serial#fromv$sessionwhereusername='
XXXX'
把得到的sid,serial#号替换到下面的语句中:
altersystemkillsession'
SID,SERIAL#'
18.PL/SQLoracle查询前10条信息SELECT*FROMtableWHEREROWNUM11select*from(select*fromtableorderbydesc)whererownum=5==selecttop5*fromtable;
19.查看表上是否存在的索引select*fromuser_indexeswheretable_name='
yourtablename'
createindexIX_Tablename_columnontablename(column)20.selectid,id2,round((id/id2)*100,2)||'
%'
percentfromtest;
21.查询表的行数selectcount(*)fromtable_name;
全表扫描,会自已找表有索引列并且该列为非空的因为只有非空才能确保记录数是全的),走INDEX_FFS.selectcount
(1)fromtable_name;
不走索引,效率要高,但在表中有非空索引时也是走INDEX_FFS的22.用function来查看当前session的trace文件的文件名如下createorreplacefunctiongettracenamereturnvarchar2isv_resultvarchar2(200);
beginSELECTd.VALUE||'
/'
||LOWER(RTRIM(i.INSTANCE,CHR(0)))||'
_ora_'
||p.spid||'
.trc'
intov_resultFROM(SELECTp.spidFROMv$mystatm,v$sessions,v$processpWHEREm.statistic#=1ANDs.SID=m.SIDANDp.addr=s.paddr)p,(SELECTt.INSTANCEFROMv$threadt,v$parametervWHEREv.NAME='
thread'
AND(v.VALUE=0ORt.thread#=TO_NUMBER(v.VALUE)))i,(SELECTVALUEFROMv$parameterWHERENAME='
user_dump_dest'
)d;
returnv_result;
endgettracename;
运行SQLselectgettracename()fromdual;
即可GETTRACENAME()---F:
\DEVELOPER\ORACLE\PRODUCT.2.0\ADMIN\ORCL\UDUMP/orcl_ora_3800.trc23.selectcasewhen(ab)thenaelsebendfromTableA;
selectgreatest(a,b)fromtb24.TRUN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 知识 总结