使用BBED帮助理解Oracle数据块结构
by NinGoo[@more@]BBED是Oracle提供的块编辑器,借助BBED,可以帮助我们更好的理解Oracle的Block的结构。当然,反过来说,也只有更加理解块的结构,才能更好的利用BBED完成某些特殊情况下的灾难恢复。Oracle Data Block的结构简图如下,其中从Data header到Row Data部分合称Data Layer:--------------------- - Cache Layer - --------------------- - Transaction Layer - --------------------- - Data Header - --------------------- - Table Directory - --------------------- - Row Directory - -----
立即关闭显示器电源.exe
有时听歌时不需要显示器开着,但是windows没有提供立即关闭显示器电源的功能,而是最低只能1分钟内关闭。我扩展了下这个功能,可以立即关闭显示器电源。程序运行在.net framework 2.0shutdownmonitor.exe[@more@]
怎样看懂Oracle的执行计划[转]
[@more@]很不错的资料,通俗易懂,与大家分享.........一、什么是执行计划An explain plan is a representation of the access path that is taken when a query is executed within Oracle.二、如何访问数据At the physical level Oracle reads blocks of data. The smallest amount of data read is a single Oracle block, the largest is constrained by operating system limits (and multiblock i/o). Logically Oracle finds the data to read by using the following methods:Full Table Scan (FTS) --全表扫描Index Lookup (un
手工创建一个数据库的步骤参考
转自楼总文章http://www.anysql.net/dba/create_db_manually.html[@more@]下面介绍一下如何手工创建一个数据库的步骤: 1,准备一个参数文件(init<SID>.ora), 应当主要包括以下参数. compatible=10.2.0.1.0remote_login_passwordfile=NONEpga_aggregate_target=33554432db_domain=""db_name=LFXDBcontrol_files=()java_pool_size=0large_pool_size=0shared_pool_size=80mopen_cursors=300undo_management=AUTOundo_tablespace=UNDOTBS1background_dump_dest=core_dump_dest=user_dump_dest=processes=45sessions=55db_bl
pctfree和pctused的区别。
[@more@]今天在看clustering_factor时,突然对pctfree和pctused有一些模糊了。查询了下,特此记录在此。如果一个块使用的空间达到 1-pctfree 时,将把这个块移出freelist,这个适用于以后需要经常update的案例。如果这个块删除了部分内容,现在使用空间降到了pctused时,则这个块重新加入freelist,这个块也就可以继续insert数据了。如果pctused设置的值比较小,并且不经常删除,则有可能造成空间浪费。但是如果设置的过大,并且经常insert和删除,则会造成更频繁的加入到freelist,造成freelist性能问题。所以要适度设置pctused。
离职一年专心学英语,立此为照。
[@more@]我就不信我在外包领域不能分一杯羹。
oracle 9i for linux 9.2.0.4 中打开autotrace中的一个bug。
按照常规方法运行了utlxplan.sql和plustrce.sql后。使用system用户set autot on,没有问题,但是使用自建用户则提示SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色SP2-0611: 启用STATISTICS报告时出错[@more@]经过baidu一番,原来是这个版本的plustrce.sql里有bug,少了对一个系统表的grant授权。执行grant select on v_$sesstat to plustrace;grant select on v_$statname to plustrace;grant select on v_$mystat to plustrace;后即可-------------------btw:打开set autotrance功能的脚本1.用sys用户运行脚本ultxplan.sql建立
oracle数据文件内部BLOCK结构详解
转载别人的文章,作者不详[@more@]datafile block block size :8192Offset 0 1 2 3 4 5 6 7 8 9 a b c d e f 00014000 06 A2 00 00 0A 00 40 01 0E 89 43 00 00 00 05 02 type frmt spare1/2_kcbh rdba scn seq flg 1 : 20 bytestype: 0x06=trans data defined in kcb.h frmt: 8i~9i 都是0x02 10.1.0 2k: 0x62 4k:0x82 8k:0xa2 16k:0xc2 (logfile 0x22 512 bytes) spare1/2_kcbh: ub1 spare1_kcbh this field is no longer used (old inc#, now always 0) ub1 spare2_kcbh this field is no longer used (old ts#, now always 0) rdba:
根据block的16进制格式转化成10进制表示
多谢nazgul。select dbms_utility.DATA_BLOCK_ADDRESS_FILE(to_number('02c0000a','xxxxxxxxxx')) file#,dbms_utility.DATA_BLOCK_ADDRESS_BLOCK(to_number('02c0000a','xxxxxxxxxx')) block#from dual;其中02c0000a为block的16进制表示[@more@]
show_space函数源码
xzh2000 提供的最终混合超级完全无敌版show_space函数源码[@more@]create or replace procedure show_space ( p_segname_1 in varchar2, p_space in varchar2 default 'MANUAL', p_type_1 in varchar2 default 'TABLE' , p_analyzed in varchar2 default 'N', p_owner_1 in varchar2 default user) as p_segname varchar2(100); p_type varchar2(10); p_owner varchar2(30); l_unformatted_blocks number; l_unformatted_bytes number; l_fs1_blocks number; l_fs1_bytes number; l_fs2_blocks number; l_fs2_bytes number; l_fs3_blocks
Oracle9.2.0.4 在 Red Hat Enterprise 4上的安装
几天的时间,无数次的baidu和google,终于把基于rhel4的oracle9i安装好了。得出的经验就是一定要按照文档上的去做,把每个补丁打齐了,就应该可以正常的安装了。下面是转贴的安装文档[@more@]下面我们开始安装:1、打开一个终端,以root用户登录或者是:su -2、还是创建必要的用户和组,这在unix/linux的管理中是一个好习惯:su -# groupadd oinstall# groupadd dba# useradd -g oinstall -G dba oracle# passwd oracle3、准备文件目录:# mkdir -p /opt/ora9/product/9.2# mkdir /var/opt/oracle# chown oracle.dba /var/opt/oracle# cho
online redo log 损坏,修复的一种过程。
以前只知道如果online redo log 损坏,只能加隐含参数打开。今天看了巴乔的回帖,知道了另一种方法http://www.itpub.net/395493,3.html使用alter database open resetlogs 打开数据库,就可以重建online redo log;不过副作用就是以前的归档备份不能用了。以下是操作过程[@more@]以前只知道如果online redo log 损坏,只能加隐含参数打开。今天看了巴乔的回帖,知道了另一种方法http://www.itpub.net/395493,3.html使用alter database open resetlogs 打开数据库,就可以重建online redo log;不过副作用就是以前的归档备份不能用了。以下是
限定client段ip访问oracle!
转自warehouse 客栈其实比较简单,只要把下面语句加在sqlnet.ora中即可,但是要想让加入的内容发挥作用,别忘了重启listenertcp.validnode_checking=yestcp.invited_nodes=(172.16.1.24,172.16.1.28,172.16.1.135)tcp.excluded_nodes=(172.16.1.25)[@more@]
今天去书店挑了5本书
今天去书店挑了5本书Oracle DBA 必备技能详解 7-302-12189-3基础成本的Oracle优化法则 978-7-302-15389-4Oracle数据库性能优化 7-115-13438-3Oracle 9i数据库性能调整与优化 7-302-10874-9循序渐进Oracle 数据库管理、优化与备份恢复 978-7-115-16577-0[@more@]花了将近300大洋。哈哈,自己在买书时从来没含糊过。都是侧重于数据库管理与优化的,感觉都不错。够自己看一阵子了。其中2本是大师门的作品,要拜读啊自己要努力啊,争取一年内把这些知识看完,都消化掉。想看关于pl/sql的书,可是在书店要么是10g的,要么就是讲的很肤浅了,看来
辞职了
今天辞职了。[@more@]再有三天,在公司整整3年半了,不长也不短的日子。哎,说实话,还真有点舍不得,毕竟自己是从这里成长的。一开始就负责一个项目。从一个中心使用到全省范围内推广。经历了很多很多困难,但是都一一解决了,自己也学到了很多很多。从只懂点asp,到现在小有点项目经验。不容易啊刻苦的学习。可是时间长了,自己就懒了。就象温水里的青蛙,漫漫就煮熟了,漫漫的就没有激情了。在公司也没有什么发展前途了,毕竟是内地的城市,公司规模不大,不能够接触到更多的事物,在这里职业生涯也就到头了。正好有一个机会,一个朋友
为什么要将表空间置于热备状态?(转载)
转载于leetaedong的回帖。1、为什么要将表空间置于热备状态?这是因为OS在Copy Block时的无序性,也就是说在Copy数据文件的时候并不能保证最先Copy 出来的Block是Datafile header Block(因为Datafile header Block中记录着datafile 的SCN,恢复的时候就是从这个Block中记录的SCN开始)。例如:OS Copy 开始时Block 1 的时间为t1,Copy 过程中Block 1 可能被别的进程修改,Copy 完成之时的时间为t2,而此时开始Copy datafile Header block,时间为t3,这样在恢复的时候是从t3 开始恢复的,也就是说此时Block 1 将丢失t1到t3这段时间内的数
oracle客户端连接server 端, tnsnames的三种设置方式
一、CONNECT_DATA设置为oracle的全局数据库名TOS = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = soho-ivgcrcy9al)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = tos.lee.com) ) )假定数据库init.ora的参数设置为db_name = tosdb_domain = lee.com也可以直接指定service_names = tos.lee.com注意,service_names是个动态参数,pmon进程在动态的注册到listener 时有延迟(大概几分钟)二、设置SERVICE_NAME 为 listener.ora里的GLOBAL_DBNAME 值tnsnames.oraTOS = (DESCRIP
自己整理的oracle登陆的认证方式。
正好今天看到密码文件这一节,加上平时对sysdba和sysoper、normal 等连接身份的概念不是很清晰。在网上查了下资料,以自己的想法记录下来,加深印象。oracle登陆认证方式分为两种:1、os认证2、密码文件认证方式。os模式的开关在 %oracle_home%/network/admin/sqlnet.ora 文件。SQLNET.AUTHENTICATION_SERVICES= (NTS)如果上面的指令存在或没被注销掉,则系统默认优先使用os认证方式。(修改认证方式后,直接保存,可以立即生效,不必reboot oracle)密码文件的作用是认证方式设置为2时,如果想在网络上进行startup等操作时,因为instance没
开blog拉。
来itpub已经是比较长的时间了,一直是潜水(bs自己下),以后要多向大师门学习。很喜欢itpub的技术氛围,以后在这里扎根了。[@more@]