Basileus1999

日常信息收集

manage — 作者 Basileus1999 @ 16:23

/*PRODUCT SUMMARY INFOMATION ABOUT ORACLE DATABASE*/
--NAME: DB_INFO.SQL
--AUTHOR:
--DATE: 2008/09/28

--SAVE THE LOG

SPOOL D:db_info.txt;

 查看全文

oracle10.2.0.3 on solaris10(T2000) install

manage — 作者 Basileus1999 @ 22:30

1、用户及组
#groupadd –g 1001 dba
# useradd –u 10001 -d /export/home/oracle -g dba –G dba –s /usr/bin/bash oracle
# passwd oracle
# mkdir /export/home/oracle

2、系统核心参数
vi /etc/system

set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=256
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=100

3、用户环境变量
vi .profile

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

# Select the appropriate ORACLE_BASE
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH

 查看全文

数据库监控脚本(三)

Oracle — 作者 Basileus1999 @ 14:24
--1、监控索引是否使用
--2、求数据文件的I/O分布
--3、求某个隐藏参数的值
--4、求系统中较大的latch
--5、求归档日志的切换频率(生产系统可能时间会很长)
--6、求回滚段正在处理的事务
--7、求出无效的对象
--8、求process/session的状态
--9、求当前session的状态
--10、求表的索引信息
--11、显示表的外键信息
--12、显示表的分区及子分区
--13、使用dbms_xplan生成一个执行计划
--14、求某个事务的重做信息(bytes)
--15、求cache中缓存超过其5%的对象
--16、求谁阻塞了某个session(10g)
--17、求session的OS进程ID
--18、查会话的阻塞
--19、求等待的事件及会话信息/求会话的等待及会话信息
--20、求会话等待的file_id/block_id
--21、求会话等待的对象
--22、求buffer cache中的块信息
--23、求日志文件的空间使用
--24、求等待中的对象
--25、求当前事务的重做尺寸
--26、唤醒smon去清除临时段
--27、求回退率
--28、求DISK READ较多的SQL
--29、求DISK SORT严重的SQL
--30、求对象的创建代码
--31、求表的索引
--32、求索引中行数较多的
--33、求当前会话的SID,SERIAL#
--34、求表空间的未用空间
--35、求表中定义的触发器
--36、求未定义索引的表
--37、执行常用的过程
--38、求free memory
--39、查看用户的回滚段的信息
--40、生成执行计划
--41、查看执行计划
--42、查看内存中存的使用
--43、查看表空间状态
--44、查看系统请求情况
--45、计算data buffer 命中率
--46、查看内存使用情况
--47、查看用户使用内存情况
--48、查看对象的缓存情况
--49、查看库缓存命中率
--50、查看某些用户的hash
--51、查看字典命中率
--52、查看undo段的使用情况
--53、无效的对象
--54、求出某个进程,并对它进行跟踪
--55、求出锁定的对象
--56、求当前session的跟踪文件
--57、求对象所在的文件及块号
--58、求对象发生事务时回退段及块号
--59、9i的在线重定义表
--60、常用的logmnr脚本(cybercafe)
--61、与权限相关的字典
--62、如何用dbms_stats分析表及模式? 查看全文

数据库监控脚本(二)

Oracle — 作者 Basileus1999 @ 14:22
--1、查找trace文件
--2、session下的重做数量
--3、估算自数据库启动以来每天的平均日志量
--4、估算日志数量
--5、查找隐含参数
--6、创建session的重做日志视图
--7、一致性读取的段及数据块信息
--8、等待事件分类及数量
--9、根据sid找到相应的sql语句
--10、系统自启动以来的累计等待时间前十名
--11、查找全表扫描(full scan)及快速全索引扫描(fast full index)
--12、通过具体的等待事件查找到有问题的sql语句(输入参数等待事件如:free buffer waits)
--13、查找数据库最繁忙的buffer
--14、查找热点buffer来自哪些对象
--15、关于latch信息
--16、具体热点块的latch及buffer信息及找到相应对象的sql语句
--17、创建临时表保存X$KSMSP的状态
--18、找出library cache pin等待的原因
--19、获得参数的描述信息
--20、oracle收集的buffer cache及shared pool 的建议信息
--21、是10g中,决定各参数组件大小的查询
--22、10g各动态组件调整时间及调整类型
--23、sql在工作区中工作方式所占比例
--24、pga动态性能视图信息
--25、获得存在问题的sql,根据pid
--26、fast_start_mttr_target
--27、实例恢复的时间计算
--28、show_space过程及使用
--29、分析表
--30、unix环境快速shutdown数据库之前先删除各个进程 查看全文

数据库监控脚本(一)

Oracle — 作者 Basileus1999 @ 14:19
一、数据库构架体系
1、表空间的监控
2、监控表空间使用率与剩余空间大小的语句
3、表空间是否具有自动扩展空间的能力
4、使用字典管理的表空间哪些表的扩展将引起表空间的扩展
5、段的占用空间与区间数
6、重建索引
7、监控表是否有主键
二、性能监控
1、数据缓冲区的命中率
2、库缓冲说明了SQL语句的重载率,越低越好
3、用户锁
4、锁与等待,查询谁锁了表,而谁在等待
5、发生了事务或锁,查找使用的回滚段
6、哪个用户正在利用临时段吗?
7、在ORACLE 9i中,可以监控索引的使用,开始索引监控与停止索引监控的脚本
8、通过sid找到os进程号(Check OS process id from Oracle sid )
9、通过os进程找sid(Check Oracle sid from OS process id )
10、通过sid找sql语句(Check current SQL in a session )
11、找等待事件Checking v$session_wait
12、数据缓冲区GETMISS相对gets的比例Dictionary Cache Hits MISS RATIO
13、通过文件号及块号找对应数据库对象Check DB object name from file id and block#
14、寻找hot block
15、找出每个文件上的等待事件
16、找出引起等待事件的SQL语句.
17、监控共享池中哪个对象引起了大的内存分配 查看全文

sql server2000中sql优化

performance tuning — 作者 Basileus1999 @ 13:33

发现如下sql:

select top 5 TB_product.ProClassMid,TB_product.ID,Proname,TitlePic,
TB_UserCompany.CompanyName AS CompanyName,
TB_UserCompany.userid AS CompanyID
from TB_product,TB_UserCompany
where TB_product.Userid = TB_UserCompany.Userid
AND TB_product.ProClassMid=13
and TB_product.Ifpass = 1
order by Posttime desc

执行计划bookmark lookup非常高,达到100%而且,成本为5以上。

经检查发现表tb_product在列id(按sequences增加的)上有簇索引,而且包含了posttime(desc)。

优化主要就是减少大量的bookmark lookup及使用索引, 最后调整索引使包含上面引用的字段,同时去掉簇索引中的id列,因为id是主键,自己用索引,并不需要在上面是簇索引,使簇索引中posttime为第一列建立簇索引,然后观察执行计划,发现效果显著,成本得到极大控制。

总结,常见消除Bookmark Lookup的方法有:
1使用clustered index;
2、使得对表中字段的引用,都存在于索引结构中



Oracle Database 10g Release 2 (10.2.0.1)在 RedHat Advanced Server 4.0上安装

manage — 作者 Basileus1999 @ 19:56

1、检查硬件信息:
检查内容 最小值 检查命令参考
物理内存 512M # grep MemTotal /proc/meminfo
交换空间 1.0 GB或者2倍内存大小 # grep SwapTotal /proc/meminfo

/tmp 空间 400 MB # df -k /tmp
软件所需空间 2.5 GB # df -k (空间越大越好)
数据库文件 1.2 GB # df -k (空间越大越好)

2、下载Oracle Database 10g Release 2 (10.2.0.1) Software
3、解压包 unzip 10201_database_linux32.zip,目录为:db/Disk1
4、使用root编辑/etc/hosts加上一行:
<IP-address> <fully-qualified-machine-name> <machine-name>

 查看全文

Library Cache Object loaded into SGA的内存问题

instance — 作者 Basileus1999 @ 10:53

查看日志发现

alert_wen.log
Memory Notification: Library Cache Object loaded into SGA
Heap size 2256K exceeds notification threshold (2048K)
KGL object name :XDB.XDbD/PLZ01TcHgNAgAIIegtw==
Fri Sep 1 09:05:22 2006
Memory Notification: Library Cache Object loaded into SGA
Heap size 2194K exceeds notification threshold (2048K)
Details in trace file /u01/app/oracle/admin/vnv1/udump/wen_ora_5050.trc
KGL object name :XDB.XD+s5hmkr05krgMFeMBRYQnQ==

 查看全文

参数在新版本中以不再使用的问题

instance — 作者 Basileus1999 @ 10:27

1、
SQL> startup nomount;
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.

2、
[oracle@ORACLE1 ~]$ oerr ora 32004
32004, 00000, "obsolete and/or deprecated parameter(s) specified"
// *Cause: One or more obsolete and/or parameters were specified in
// the SPFILE or the PFILE on the server side.
// *Action: See alert log for a list of parameters that are obsolete.
// or deprecated. Remove them from the SPFILE or the server
// side PFILE.
[oracle@ORACLE1 ~]$

3、查找告警日志发现有
Deprecated system parameters with specified values:
log_archive_start
发现这一点

4、修改pfile
去掉log_archive_start这行

 查看全文

10g透明网关的配置

high availability — 作者 Basileus1999 @ 17:52

1、下载gateways目录,安装,因为开始装了10.2.0.1.0,所以要选择另外一个目录安装。我这里安装在g盘

2、配置远程数据库连接文件,在G: oracle product 10.2.0 tg_1tg4msql admin下的inittg4msql.ora,分别连接两个库,所以配置了两个相应的文件,文件名里用的是对应的listener.ora里的sid,两个文件分别为,initsql2000.ora和inittest.ora

3、配置listener.ora和tnsnames.ora,在listener.ora里SID_LIST_LISTENER =小节里面加上下面的两段,注意oracle_home的地址:

SID_LIST_LISTENER =
(SID_DESC =
(GLOBAL_DBNAME = tg4msql)
(PROGRAM = tg4msql)
(SID_NAME = sql2000)
(ORACLE_HOME = F:oracleproduct10.2.0db_1)
)
(SID_DESC =
(GLOBAL_DBNAME = tg4msql)
(PROGRAM = tg4msql)
(SID_NAME = test)
(ORACLE_HOME = F:oracleproduct10.2.0db_1)
)
在tnsnames.ora里加上:

sql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = wen)(PORT = 1521))
)
(CONNECT_DATA =
(SID = sql2000)
)
(HS = OK)
)

sql1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = wen)(PORT = 1521))
)
(CONNECT_DATA =
(SID = test)
)
(HS = OK)
)

4、在oracle模式里面建立相应的dblinks,我这里分别建立了

create public database link dblink connect to wen identified by wen using 'sql';
create public database link dblink1 connect to wen identified by wen using 'sql1';

5、tnsping sql及tnsping sql1检查配置的正确行

6、进行数据查询测试

select count(*) from t1@dblink1;

COUNT(*)

----------
3

SQL>

注意:启动的lsnrctl的路径,因为使用lsnrctl其所使用的参数多是对应目录的sqlnet.ora和listener.ora,所以别弄错了。



oracle10.2.0 on redHat linux as4的data guard配置

high availability — 作者 Basileus1999 @ 15:29

1)在主从两机都设置好操作系统参数,建立oracle 安装用户及相关目录
vi /etc/sysctl.conf

2)主从两机设置oracle环境变量
vi .bash_profile

3)在主机上装oracle
4)打包$ORACLE_HOME,$ORACLE_BASE下面的所有文件到并cp到从库上相应位置
5)在主库建库
6)备份数据文件及临时文件(可用rman),把下面的所有文件传到从库并在从库建立相应目录
select file_name from dba_data_files
union
select name from v$tempfile;
7)在主库上设计归档模式为强迫归档模式,并且设置自动归档及归档路径
8)在主库上制作控制文件并传到从库
alter database create standby controlfile as '/u01/app/sby.ctl';
9)在主从库配置相应的listener.ora和tnsnames.ora
并且最后启动listener
lsnrctl
lsnrctl>stop
lsnrctl>start
lsnrctl>status

 查看全文

手工建数据库

manage — 作者 Basileus1999 @ 17:56

--创建数据库,oracle_size=db1
--1、建立相关目录
D:Oracleadmindb1
D:Oracleadmindb1adhoc
D:Oracleadmindb1bdump
D:Oracleadmindb1cdump
D:Oracleadmindb1create
D:Oracleadmindb1exp
D:Oracleadmindb1pfile
D:Oracleadmindb1udump
D:Oracleoradatadb1

--2、创建密码文件
d:oracleora92binorapwd.exe file=d:oracleora92databasePWDdb1.ora

password=change_on_install

--3、通过oradim.exe命令,在服务里生成一个新的实例管理服务,启动方式为手工
set oracle_sid=db1
d:oracleora92binoradim.exe -new -sid db1 -startmode m -pfile 'd:oracleadmindb1

pfileinitdb1.ora'

 查看全文

从oracle9201到sqlserver2000的透明网关配置

high availability — 作者 Basileus1999 @ 10:20

oracle 9.2.0.1.0 ip:192.168.1.22 port:1521
sql2000 ip:192.168.1.12 db: db1

说明,透明网关可以跟oracle,sql server2000数据库在同一台机器或者不同机器,本例是跟oracle是同一台机
1: 运行oracle 安装软件,安装类型选自定义,选择里面的安装oracle transparent gateway 9.2.0.1.0
下面的oracle transparent gateway from microsoft sql server 9.2.0.1.0,这里可以看到,还可以选择其他的
数据库如,sybase等
2:确认透明网关安装成功,会出现D:oracleora92tg4msql目录,配置文件inittg4msql.ora,
注意,如果对应的listener.ora里面的sid_name设置为其他的,如本例的sql2000,那么应该新增一个配置文件
对应为initsql2000.ora而不是inittg4msql.ora了,里面内容如下:
HS_FDS_CONNECT_INFO = "SERVER=192.168.1.12; DATABASE=db1"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

 查看全文

“顶”

read — 作者 Basileus1999 @ 09:03

马特拉齐说:齐达内,你丫看贴从来不顶!

齐达内:谁说的,我哪次没顶了?

马特拉齐:少来了我就从没 见你顶过!

齐达内(抓狂中......):我顶一个你看看! 一头撞过去...... 我顶!



估计undo 表空间大小

manage — 作者 Basileus1999 @ 11:00

术语:
(UR)UNDO_RETENTION 每秒
(UPS)每秒的重做块
(DBS)db_block_size
UndoSpace = [UR * (UPS * DBS)] + (DBS * 24)

--查看UR及DBS参数设置
SQL> select name,value from v$parameter where name= 'db_block_size'
2 union all
3 select name,value from v$parameter where name = 'undo_retention';

NAME VALUE
------------------------- ----------
db_block_size 8192
undo_retention 108000

--取两个时间段范围进行计算
SQL> select (to_date('20060704 10:23:09','yyyymmdd hh24:mi:ss') - to_date('20060704 8:53:38','yyyymmdd hh24:mi:ss'))
2 *24*3600 from dual;

(TO_DATE('2006070410:23:09','Y
------------------------------
5371

--计算每秒多少重做块UPS
SQL> select sum(undoblks)/5371 from v$undostat where begin_time>=to_date('20060704 8:53:38','yyyymmdd hh24:mi:ss')
2 and end_time<=to_date('20060704 10:23:09','yyyymmdd hh24:mi:ss');

SUM(UNDOBLKS)/5375
------------------
1.31274418604651

--计算表空间大小
SQL> select (108000*(1.31*8192) + 8192*24)/1024/1024 m from dual;

M
----------
1105.5



"首善"眼中最重要性格特点——品质

read — 作者 Basileus1999 @ 00:00

世界最富的两个人盖茨和巴菲特

 查看全文

上周五的项目组例会

read — 作者 Basileus1999 @ 21:39

也就是6.30号,上半年的最后一天。

例会宣布了项目组的变动,其中有两个人要离开公司了,其中一个人是我,7月中旬交接完,那时也就是进入公司一年。这一年里,感觉过得很开心及满足,觉得自己从项目组获得的东西很多,相比之下,为项目组做的贡献却不多,项目已经完成,项目组的评价是“很敬业”。

接下来,或者马上开始找新的工作了,或者回家去休息一段时间,或者出去旅游,呵呵,看来选择是多起来啦。



下半年从昨天开始了

read — 作者 Basileus1999 @ 20:56

上半年,跟随着阿根廷,乌克兰,英格兰,巴西的回家也一同远去,也许该为这半年作个总结了,“过的还不错,但期待更多”,这似乎有些平淡;而球队的回家相对来说显得有点凄惨了,很多人在哭,同样很多人在笑,如果能综合在一起的话,也就是平淡了,可有人说,“世界杯没有如果,这就是世界杯”。

今天都7.2号了,这个周末也过得不错,跟朋友在一起,吃饱了两顿饭(要感谢的人多了,呵呵),胃也被挤压得越来越大,真有个假想,要是饥饿年代来的话,我就算不会是第一个感觉到饿的人吧,也会是第一批被饿s的人。heihei,记得以前经常回答自己问题,“幸福是什么?”,“吃饱了的感觉很幸福”。这不,中午吃了之后,现在还幸福着呢,我想一直会幸福到明天。

明天,生活,它永远是美好的,因为它就是你的心态的一面镜子,所以希望能给别人制造些欢乐也感谢带给我欢乐的人;工作,它是生活的一部分,工作应该是快乐的,很欣赏蚂蚁的工作风格,它有一个目标,勤力去走自己的路。正确的生活及工作态度,需要智慧,也祝愿每个人都能开心和幸福。



美IT人员时薪猛增 数据库职业榜上有名

read — 作者 Basileus1999 @ 11:00

您认为以下职业在国内哪个收入会更高一些?

项目经理
数据经理
数据仓库架构师
.Net开发员
Oracle数据库管理员
百分比
27%
8%
20%
7%
38%
柱状图

 查看全文

看黄健翔如何娱乐大家

read — 作者 Basileus1999 @ 19:35

--本年度娱乐头条

--本年度,最流行的话:要有点娱乐精神

模仿“海啸音”链接http://2006.163.com/special/00321VFS/wypkhjx.html

音频摇滚版:

http://2006.163.com/06/0628/13/2KN56FR800321QNJ.html

文字版本(只列举几个):

中国移动版:
    收费,收费,收费,双向收费立功了,垄断政策立功了,不要给用户任何的机会。伟大的中国移动,他继承了托拉斯的光荣的传统,桑弘羊、洛克菲勒、比尔盖茨在这一刻灵魂附体、中国移动,他代表了最不要脸的行业悠久的垄断历史,在这一刻,我们不是人!我们不是人!
      用户,用户面对这个政策,他面对的是全中国用户的目光和期待。他们曾经多次以为我们要实现单向收费,他期待这一点,他能够微笑着面对我们的新政策吗?了解了新政策的实质以后,他会是怎样的表情?
      收费又上涨了,游戏结束了,中国移动获得了胜利,彻底玩残了用户。我们永远也不会屈服于用户的压力,伟大的中国移动,伟大的移动总裁,M揍人今天生日快乐,中国移动万岁!
      我们没有辜负中国移动人的期望,这个新政策是一个绝对理论上的玩你,绝对的玩你。中国移动进入了世界五百强!胜利属于中国移动!属于M揍人,属于中国移动总裁,属于中国移动董事长,属于全体中国移动人!
      让用户滚蛋吧!

 查看全文

工程师薪金缩水数据库管理员挣大钱

read — 作者 Basileus1999 @ 16:43

--2002年的一篇报道

2002年IT业技术员工的工资将仅增加0.1%,与去年该公司预计2001年IT业技术员工薪金将增加8.4%相比,这反映出TT专业人士的薪金标准未来一段时间将不会象以往那样“一枝独秀”。

RHI咨询公司近日公布的最新研究结果显示,2002年IT业技术员工的工资将仅增加0.1%,与去年该公司预计2001年IT业技术员工薪金将增加8.4%相比,这反映出TT专业人士的薪金标准未来一段时间将不会象以往那样“一枝独秀”。

RHI公司的执行经理凯瑟琳-斯潘塞-李表示,IT业技术员工工资标准增长幅度大幅下降的主要原因是整个美国经济疲软以及互联网行业持续低迷。事实上,近一年来随着美国经济陷入萧条状态,数十家互联网和高技术企业已开始裁员或是关闭部分业务部门。

RHI预计,2002年信息系统管理人员的年薪将由今年的92250美元至125500美元下降4%,另外台式电脑维护人员的年薪也将下降4.7%。不过,尽管整体而言IT业员工的薪金标准增幅下降,但一些具有特殊技能的技术员工仍然可以领到较高的工资,例如数据库管理人员的年薪将由今年的83000美元增长4.8%,上升到114000美元。


世界杯!!!

read — 作者 Basileus1999 @ 16:24

世界杯来了

最近比较火几个网站有:

豆瓣:www.douban.com

抓虾:www.zhuaxia.com

热度:www.redoo.com

面团:www.miantuan.com



字符集修改

manage — 作者 Basileus1999 @ 18:07
符集的设置不当是影响ORACLE数据库汉字显示的关键问题。那么字符集是怎么一会事呢?字符集是ORACLE 为适应不同语言文字显示而设定的。用于汉字显示的字符集主要有ZHS16CGB231280,US7ASCII,WE8ISO8859P1等。字符集不仅需在服务器端存在,而且客户端也必须有字符集注册。服务器端,字符集是在安装ORACLE时指定的,字符集登记信息存储在ORACLE数据库字典的V$NLS_PARAMETERS表中;客户端,字符集分两种情况,一种情况是sql*net 2.0以下版本,字符集是在windows的系统目录下的oracle.ini文件中登记的;另一种情况是sql*net 2.0以上(即32位)版本,字符集是在windows的系统注册表中登记的。要在客户端正确显示ORACLE 数据库汉字信息,首先必须使服务器端的字符集与客户端的字符集一致;其次是加载到ORACLE数据库的数据字符集必须与服务器指定字符集一致。因此,把用户存在的问题归纳分类,产生汉字显示异常的原因大致有以下几种: 查看全文

字符集与导入导出(转)

manage — 作者 Basileus1999 @ 17:41

《转》

ORACLE的多国语言设置最主要的两个特性就是国家语言设置与字符集设置,国家语言设置决定了界面或提示使用的语言种类,字符集决定了数据库保存与字符集有关数据(如文本)时候的编码规则。环境变量NLS_LANG的不同,导致EXP帮助发生变化,这就是多国语言设置的作用(NLS_LANG包含国家语言设置与字符集设置,这里起作用的是国家语言设置,而不是字符集)。

 查看全文

dba checklist(转)

manage — 作者 Basileus1999 @ 19:57
Index
I. DAILY PROCEDURES
A. VERIFY ALL INSTANCES ARE UP
B. LOOK FOR ANY NEW ALERT LOG ENTRIES
C. VERIFY DBSNMP IS RUNNING
D. VERIFY SUCCESS OF DATABASE BACKUP
E. VERIFY SUCCESS OF DATABASE ARCHIVING TO TAPE
F. VERIFY ENOUGH RESOURCES FOR ACCEPTABLE PERFORMANCE
G. COPY ARCHIVED LOGS TO STANDBY DATABASE AND ROLL FORWARD
H. READ DBA MANUALS FOR ONE HOUR
II. NIGHTLY PROCEDURES
A. COLLECT VOLUMETRIC DATA
III. WEEKLY PROCEDURES
A. LOOK FOR OBJECTS THAT BREAK RULES
B. LOOK FOR SECURITY POLICY VIOLATIONS
C. LOOK IN SQL*NET LOGS FOR ERRORS, ISSUES
D. ARCHIVE ALL ALERT LOGS TO HISTORY
E. VISIT HOME PAGES OF KEY VENDORS
IV. MONTHLY PROCEDURES
A. LOOK FOR HARMFUL GROWTH RATES
B. REVIEW TUNING OPPORTUNITIES
C. LOOK FOR I/O CONTENTION
D. REVIEW FRAGMENTATION
E. PROJECT PERFORMANCE INTO THE FUTURE
F. PERFORM TUNING AND MAINTENANCE
V. APPENDIX
A. DAILY PROCEDURES
B. NIGHTLY PROCEDURES
C. WEEKLY PROCEDURES
VI. REFERENCES 查看全文

The First but Also the Last Meeting

english — 作者 Basileus1999 @ 22:20
So shy was Franz Peter Schubet that his first meeting with Ludwig van Beethoven was his last.Schubert had written a set of variations on a French tune for four hands and dedicated it to Beethoven,to whom he wanted to present the score personally.A meeting was arranged .Because he was deaf,Beethoven handed a piece of paper and pencil to Schubert so that a particular bar of music could be explained.Schubert became so nervous at the request that he fled from Beethoven's home andthe two composers never again met.

Oracle备份与恢复案例(转自piner)

backup and recover — 作者 Basileus1999 @ 13:59

一. 理解什么是数据库恢复
当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。恢复过程大致可以分为复原(Restore)与恢复(Recover)过程。
数据库恢复可以分为以下两类:

1.1实例故障的一致性恢复
当实例意外地(如掉电、后台进程故障等)或预料地(发出SHUTDOUM ABORT语句)中止时出现实例故障,此时需要实例恢复。实例恢复将数据库恢复到故障之前的事务一致状态。如果在在线后备发现实例故障,则需介质恢复。在其它情况Oracle在下次数据库起动时(对新实例装配和打开),自动地执行实例恢复。如果需要,从装配状态变为打开状态,自动地激发实例恢复,由下列处理:
(1) 为了解恢复数据文件中没有记录的数据,进行向前滚。该数据记录在在线日志,
包括对回滚段的内容恢复。
(2) 回滚未提交的事务,按步1重新生成回滚段所指定的操。
(3) 释放在故障时正在处理事务所持有的资源。
(4) 解决在故障时正经历一阶段提交的任何悬而未决的分布事务。

 查看全文

Oracle Performance Optimization

performance tuning — 作者 Basileus1999 @ 14:24
The hit ratio philosophy
The cache-hit ratio method is simply not reliable for performance analysis and tuning, or else Oracle Corporation wouldn’t have introduced a new methodology. The doctrine of high cache-hit ratio for good performance is wrong most of the time. In reality, high cache-hit ratio doesn’t always mean good performance, and low cache-hit ratio doesn’t always mean bad performance. In fact, there were many times when cache-hit ratios hit the floor, yet there was no loss in application performance. Trying to judge performance by a cache-ratio number is like trying to determine the speed of a car by its tachometer reading. You can’t tell how fast someone is going at 6000 rpm without the speedometer, can you? The tachometer reading is high, but the car may be in second gear. 查看全文

备份及应用控制文件

backup and recover — 作者 Basileus1999 @ 00:28

1、在sqlplus下面备份控制文件
SQL> alter database backup controlfile to trace;

数据库已更改。

SQL> alter database backup controlfile to 'd:controlbak.ctl';

数据库已更改。

2、关闭数据库,然后删除已有的控制文件,再打开,发现不能正常打开
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。

Total System Global Area 319888364 bytes
Fixed Size 453612 bytes
Variable Size 192937984 bytes
Database Buffers 125829120 bytes
Redo Buffers 667648 bytes
ORA-00205: ?????????????????????

 查看全文

在线重做日志及状态说明

backup and recover — 作者 Basileus1999 @ 01:53

1、查询在线重做日志
SQL> select group#,sequence#,status,archived from v$log;

GROUP# SEQUENCE# STATUS ARC
---------- ---------- ---------------- ---
1 169 INACTIVE YES
2 170 INACTIVE YES
3 171 CURRENT NO

SQL> select group#,member from v$logfile;

GROUP# MEMBER
---------- ------------------------------------------------
2 D:ORACLEORADATADB1REDO02.LOG
1 D:ORACLEORADATADB1REDO01.LOG
3 D:ORACLEORADATADB1REDO03.LOG

2、日志状态说明
unused: 在线重做日志从来没有被写过
current:当前重做日志而且是active,可以是open或者colse
active:活跃的,但不是当前的,就是说在例程恢复中需要用到,可以被用在块级恢复,可能归档或者未归档
clearing:这个日志正在被重建,重建后为空的日志,当日志被cleared后,状态变为unused,使用alter data clear logfile 可以进行重建操作
clearing_current:对于一个关闭的thread,重建当前日志,当日志撤换过程中在写新的重做日志时发生i/o错误出现错误的会出现这种状态的重做日志
inactive:指该在线重做日志在例程恢复过程中已经不再需要了,但有可能在媒体恢复中用到,可能归档或者未归档

 查看全文

Powered by pLog