关于UNDO表空间及undo_retention参数的一点研究
http://203.208.39.132/search?q=cache:rtbPH3ijyEsJ:blog.oracle.com.cn/index.php/5563/viewspace-33650.html+Oracle+UNDO_RETENTION&cd=2&hl=zh-CN&ct=clnk&gl=cn&client=aff-360homepage&st_usg=ALhdy2_T79O1hokt8eBCJTDWyJqrAaS4DA[@more@]对于UNDO表空间大小的定义需要考虑UNDO_RETNETION参数、产生的UNDO BLOCKS/秒、UNDO BLOCK的大小。undo_retention:对于UNDO表空间的数据文件属性为autoextensible,则undo_retenion参数必须设置,UNDO信息将至少保留至undo_retention 参数设定的值内,但UNDO表空间将会
使用pfile/spfile启动数据库
http://203.208.39.132/search?q=cache:iqzexyZcSLsJ:www.eygle.com/faq/Oracle9i.New.Feature.Spfile.02.htm+oracle+scope+both&cd=1&hl=zh-CN&ct=clnk&gl=cn&client=aff-360homepage&st_usg=ALhdy2-ecwQ2znQE4MO_Xg39nJ70AV4_QA[@more@]三. 使用pfile/spfile启动数据库如果你想使用pfile启动数据库,你可以在启动时指定pfile或者删除spfile. SQL> startup pfile='E:Oracleadmineyglenpfileinit.ora'; 你不能以同样的方式指定spfile,但是可以创建一个包含spfile参数的pfile文件,指
Oracle高水位标志的概念
http://www.devdao.com/Article/388413.htm[@more@]关于Oracle数据库概念性的知识 Oracle高水位标志: high-water mark可以用以下几点对high-water mark进行理解1.指一个表中曾经被用过的最后一个块2.假如有数据被插入表,high-water mark 就移到到被使用的最后一个块3.假如有数据被删除,high-water mark的位置不会变4.high-water mark被储存在表的段头(segment header of the table)5.当对表执行全表扫描时,oracle server 被所有的块直到high-water mark另外我的理解如下,1 假如为表分配了大量的extents , 但这些extent 还没使用可以
expdp and impdp
http://203.208.39.132/search?q=cache:vLp_FIWFs24J:tomszrp.blogspot.com/2007/02/oracle-10g-expdpimpdpcontent.html+oracle+expdp+content&cd=1&hl=zh-CN&ct=clnk&gl=cn&client=aff-360homepage&st_usg=ALhdy2_HUnD9-QJoODgs33oIs-s-l00r0Qcontent =metadata_only --only structure data_only --only data [@more@]Oracle 10g expdp/impdp的CONTENT选项体验 CONTENT用于指定要导入/出的内容.默认值为ALLCONTENT={ALL DATA_ONLY METADATA_ONLY}当设置CONTENT为ALL 时,将导出对象定义及其所有数据.为DAT
Oracle10g Recycle Bin回收站
http://bbs.tydic.com/dispbbs.asp?boardID=5&ID=18&page=1[@more@]1>什么是Recycle Bin实际上,Recycle Bin只是一个保存被drop的对象的一个数据字典表。所以,可以通过如下语句查询回收站中的信息:select * from recyclebin除非拥有sysdba权限,每个用户只能看到属于自己的对象。所以,对于用户来说,好像每个人都拥有自己的回收站。即使用户有删除其他schema对象的权限,也只能在recyclebin中看到属于自己的对象。做个小试验:SQL> conn ning/ning已连接。SQL> drop table test;表已删除。SQL> drop table test.te
audit
http://hi.baidu.com/edeed/blog/item/dc7c0cd75f667adea144dfea.html[@more@]by session --drop any table not audit the tables by self user 162. You execute the following command to audit the database activities:SQL> AUDIT DROP ANY TABLE BY scott BY SESSION WHENEVER SUCCESSFUL;What is the effect of this command?A) One audit record is created for the whole session if user SCOTT successfully drops one or more tables in hissession.B) One audit record is created for every session when any user success
级联授权中role中的权限不能单独的抽取出来授予别的用户
View the Exhibit to observe the privileges granted to the MGR_ROLE role. The SCOTT user has beenwww.supportcenter.cnhttp://www.supportcenter.cngranted the CONNECT and RESOURCE roles only.The database administrator (DBA) grants MGR_ROLE to the SCOTT user by using this command:SQL> GRANT MGR_ROLE TO SCOTT WITH ADMIN OPTION;Which statement is true about the SCOTT user after he is granted this role?[@more@]A) The SCOTT user can grant the MGR_ROLE role and the privileges in it to other users.B) Th
oracle 删除记录的rowid的规律
今天测试发现oracle delete row 的顺序是按照块升序、row_number升序的规律删除记录 http://blog.csdn.net/EdgenHuang/archive/2008/12/23/3587912.aspx[@more@]Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作. MERGE命令从一个或多个数据源中选择行来updating或inserting到一个或多个表. Oracle 10g中MERGE有如下一些改进: 1、UPDATE或INSERT子句是可选的 2、UPDATE和INSERT子句可以加WHERE子句 3、ON条件中使用常量过滤谓词来insert所有的行到目标表中,不需要连接源表和目标表 4、UPDATE子句后面
DUMP块的分析
http://www.cnblogs.com/gkl0818/archive/2009/03/12/1409803.html 我补充了一些[@more@]Dump file C:oracleadminORCLudumpORA03560.TRCThu Mar 12 15:45:29 2009ORACLE V8.1.7.0.0 - Production vsnsta=0vsnsql=e vsnxtr=3Windows 2000 Version 5.1 Service Pack 2, CPU type 586Oracle8i Enterprise Edition Release 8.1.7.0.0 - ProductionWith the Partitioning optionJServer Release 8.1.7.0.0 - ProductionWindows 2000 Version 5.1 Service Pack 2, CPU type 586Instance name: orclRedo thread mounted by this instance: 1Oracl
rollback segment不阻塞session
select * from dba_rollback_segs...不阻塞sessionColumnDatatypeNULLDescriptionSEGMENT_NAMEVARCHAR2(30)NOT NULLName of the rollback segmentOWNERVARCHAR2(6)Owner of the rollback segmentTABLESPACE_NAMEVARCHAR2(30)NOT NULLName of the tablespace containing the rollback segmentSEGMENT_IDNUMBERNOT NULLID number of the rollback segmentFILE_IDNUMBERNOT NULLFile identifier number of the file containing the segment headBLOCK_IDNUMBERNOT NULLID number of the block containing the segment headerINITIAL_EXTENTNU
undo tablespace
2、undo表空间select * from dba_tablespaces 如何创建undo 表空间create undo tablespace undotbs2 datafile 'c:oradataorclundo2.dbf' size 10m--无法在unod表空间中建立表select * from dba_rollback_segs --单实例instance_num=null--回滚段作用 update tt set id = 4 where id = 1oracle 把修改前的信息放在undo空间中一个session update,一个session select ,然后alter system dump file ...;产生跟踪文件...解读只存放修改的数据;insert存放的rowid,把四部分信息拆分开合成rowid...object_id,fid,blockid,seq...undo不阻塞sessio
ORACLE OS验证
http://space.itpub.net/10640532/viewspace-608681http://bbs.51cto.com/thread-136692-1.htmlhttp://space.itpub.net/96804/viewspace-509983[@more@]OS验证指的是Oracle数据库不再自行检查请求用户的合法性,而是将此过程委托给用户所在的操作系统,由操作系统代理完成用户合法性的检查工作。对于采用此种认证机制的用户在连接数据库时无需输入用户名和密码即可登录。Windows平台下的用户OS认证配置基本上分成两大类型:一、配置以sysdba角色登陆的用户[1] 确保SQLNET.AUTHENTICATION_SERVICES=(NTS)附加:此参数位于$ORACLE_HOME/ne
resource_limit系统参数的使用
今天又学习了一个技术:如果想让profile中resource_limit部分内容其作用,需要修改show parameters resource_limit=true;password_limit不必须http://www.itpub.net/viewthread.php?tid=912910http://www.cnblogs.com/jacktu/archive/2007/03/13/672858.html[@more@]profile分两部分,resource_limit为true限定 资源参数(resource parameters) 设置有效,密码参数(password parameters)设置始终有效,不管resouce_limit的值为true或false
日常积累
...[@more@]1、20090917 disconnect 断开当前连接;2、20090917 18:30 SELECT_CATALOG_ROLE这个role可以允许用户查询数据字典,但是该role不包含系统权限;给用户授予角色以后需要重新打开session才能起作用;
dba_ts_quotas
describe tablespace quotas to all users[@more@]TABLESPACE_NAMEVARCHAR2(30)NOT NULLTablespace nameUSERNAMEVARCHAR2(30)NOT NULLUser with resource rights on the tablespaceBYTESNUMBERNumber of bytes charged to the userMAX_BYTESNUMBERUser's quota in bytes, or -1 if no limitBLOCKSNUMBERNOT NULLNumber of Oracle blocks charged to the userMAX_BLOCKSNUMBERUser's quota in Oracle blocks, or -1 if no limit其中bytes,blocks = select sum(bytes),sum(blocks) from dba_extents where owner='TEST' 从该数据目录视图中可
system_privilege_map & table_privilege_map
oracle把权限和用户完全分开,权限的集合=role,然后采用授权的方式给用户[@more@]1、select * from user_tab_privs where grantor='TEST';建立在table级别上的有11个对象权限,其中on commit refresh ,query rewrite is for mview(materialized view)PRIVILEGEALTERDEBUGDELETEFLASHBACKINDEXINSERTON COMMIT REFRESHQUERY REWRITEREFERENCESSELECTUPDATE2、select * from table_privilege_map反应的是所有pl/sql schema object的权限存在24条记录,包括全部的对象权限NAMEALTERAUDITCOMMENTCREATEDEBUGDELETEDEQUEUEENQUEUEEXECUTEFLASHB
dba_users
建立用户的时候Select * From dba_users属性account_status :open,lock,expiredlock_date:缺点是不记录unlock时间expiry_date描述的是:缺点是不记录解锁时间[@more@]
segments的扩展
段占用很多带编号的连续的块,header_block表示段头信息存放在哪个块中。现在的问题是:段头占用多大空间?里面存放哪些信息?[@more@] HEADER_FILE HEADER_BLOCK BYTES BLOCKS EXTENTS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS5 19 262144 32 4 65536 1 21474836455 51 262144 32 4 131072 1 2147483645EXTENT_ID FILE_ID BLOCK_ID BYTES BLOCKS RELATIVE_FNO0 5 17 65536 8 51 5 25 65536 8 52 5 33 65536 8 53 5 41 65536 8 50 5 49 65536 8 51 5 57 65536 8 52 5 65 65536 8 53 5 73 65536 8 5
oracle学习总结(一)---ROWID(转)
http://chorpin.javaeye.com/blog/155681[@more@]关键字: oracle 搞oracle都会经常碰到rowid,本文是笔者根据网上各位的文章,加上自己学习中的体会,总结而成。 一.rowid简介 rowid就是唯一标志记录物理位置的一个id,在oracle 8版本以前,rowid由file#+block#+row#组成,占用6个bytes的空间,10 bit 的 file# ,22bit 的 block# ,16 bit 的 row#。 从oracle 8开始rowid变成了extend rowid,由data_object_id#+rfile#+block#+row#组成,占用10个bytes的空间, 32bit的 data_object_id#,10 bit 的 rfile#,22bit
rowid 64进制转换到10进制
DIY[@more@]Create Or Replace Function f_Ten_To_64(Fs_Value In Varchar2) Return Number Is/*******************description: convert 10 to 64 author:yaoronghuitime :2009-09-17 13:15--20********************/Result Number := 0;Ll_Value Int; --当前字符对应的64进制中的数字Begin--64进制 A-Z 0-25;a-z 26-51 0-9 52-61; 62 +;63 /--如何借助ascii实现计算For i In 1 .. Length(Fs_Value) LoopCaseWhen Regexp_Like(Substr(Fs_Value, i, 1), '^[A-Z]$') Then--范围是A-Z '[65-90]',则对应0-25Ll_Value := Ascii(Substr(Fs_Valu