机会分析
大盘股短期内没戏
感觉中长线机会没到
当前策略,休息.
下一波反弹可考虑20%参与短线,目标奥运概念和创投概念.
长期投资策略: 长线观望
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
发现如下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、使得对表中字段的引用,都存在于索引结构中
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>
查看日志发现
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==
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这行
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,所以别弄错了。
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
--创建数据库,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'
查看全文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
马特拉齐说:齐达内,你丫看贴从来不顶!
齐达内:谁说的,我哪次没顶了?
马特拉齐:少来了我就从没 见你顶过!
齐达内(抓狂中......):我顶一个你看看! 一头撞过去...... 我顶!
术语:
(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
也就是6.30号,上半年的最后一天。
例会宣布了项目组的变动,其中有两个人要离开公司了,其中一个人是我,7月中旬交接完,那时也就是进入公司一年。这一年里,感觉过得很开心及满足,觉得自己从项目组获得的东西很多,相比之下,为项目组做的贡献却不多,项目已经完成,项目组的评价是“很敬业”。
接下来,或者马上开始找新的工作了,或者回家去休息一段时间,或者出去旅游,呵呵,看来选择是多起来啦。
上半年,跟随着阿根廷,乌克兰,英格兰,巴西的回家也一同远去,也许该为这半年作个总结了,“过的还不错,但期待更多”,这似乎有些平淡;而球队的回家相对来说显得有点凄惨了,很多人在哭,同样很多人在笑,如果能综合在一起的话,也就是平淡了,可有人说,“世界杯没有如果,这就是世界杯”。
今天都7.2号了,这个周末也过得不错,跟朋友在一起,吃饱了两顿饭(要感谢的人多了,呵呵),胃也被挤压得越来越大,真有个假想,要是饥饿年代来的话,我就算不会是第一个感觉到饿的人吧,也会是第一批被饿s的人。heihei,记得以前经常回答自己问题,“幸福是什么?”,“吃饱了的感觉很幸福”。这不,中午吃了之后,现在还幸福着呢,我想一直会幸福到明天。
明天,生活,它永远是美好的,因为它就是你的心态的一面镜子,所以希望能给别人制造些欢乐也感谢带给我欢乐的人;工作,它是生活的一部分,工作应该是快乐的,很欣赏蚂蚁的工作风格,它有一个目标,勤力去走自己的路。正确的生活及工作态度,需要智慧,也祝愿每个人都能开心和幸福。


--本年度娱乐头条
--本年度,最流行的话:要有点娱乐精神
模仿“海啸音”链接http://2006.163.com/special/00321VFS/wypkhjx.html
音频摇滚版:
http://2006.163.com/06/0628/13/2KN56FR800321QNJ.html
文字版本(只列举几个):
中国移动版:
收费,收费,收费,双向收费立功了,垄断政策立功了,不要给用户任何的机会。伟大的中国移动,他继承了托拉斯的光荣的传统,桑弘羊、洛克菲勒、比尔盖茨在这一刻灵魂附体、中国移动,他代表了最不要脸的行业悠久的垄断历史,在这一刻,我们不是人!我们不是人!
用户,用户面对这个政策,他面对的是全中国用户的目光和期待。他们曾经多次以为我们要实现单向收费,他期待这一点,他能够微笑着面对我们的新政策吗?了解了新政策的实质以后,他会是怎样的表情?
收费又上涨了,游戏结束了,中国移动获得了胜利,彻底玩残了用户。我们永远也不会屈服于用户的压力,伟大的中国移动,伟大的移动总裁,M揍人今天生日快乐,中国移动万岁!
我们没有辜负中国移动人的期望,这个新政策是一个绝对理论上的玩你,绝对的玩你。中国移动进入了世界五百强!胜利属于中国移动!属于M揍人,属于中国移动总裁,属于中国移动董事长,属于全体中国移动人!
让用户滚蛋吧!
--2002年的一篇报道
2002年IT业技术员工的工资将仅增加0.1%,与去年该公司预计2001年IT业技术员工薪金将增加8.4%相比,这反映出TT专业人士的薪金标准未来一段时间将不会象以往那样“一枝独秀”。
|
《转》
ORACLE的多国语言设置最主要的两个特性就是国家语言设置与字符集设置,国家语言设置决定了界面或提示使用的语言种类,字符集决定了数据库保存与字符集有关数据(如文本)时候的编码规则。环境变量NLS_LANG的不同,导致EXP帮助发生变化,这就是多国语言设置的作用(NLS_LANG包含国家语言设置与字符集设置,这里起作用的是国家语言设置,而不是字符集)。
查看全文一. 理解什么是数据库恢复
当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。恢复过程大致可以分为复原(Restore)与恢复(Recover)过程。
数据库恢复可以分为以下两类:
1.1实例故障的一致性恢复
当实例意外地(如掉电、后台进程故障等)或预料地(发出SHUTDOUM ABORT语句)中止时出现实例故障,此时需要实例恢复。实例恢复将数据库恢复到故障之前的事务一致状态。如果在在线后备发现实例故障,则需介质恢复。在其它情况Oracle在下次数据库起动时(对新实例装配和打开),自动地执行实例恢复。如果需要,从装配状态变为打开状态,自动地激发实例恢复,由下列处理:
(1) 为了解恢复数据文件中没有记录的数据,进行向前滚。该数据记录在在线日志,
包括对回滚段的内容恢复。
(2) 回滚未提交的事务,按步1重新生成回滚段所指定的操。
(3) 释放在故障时正在处理事务所持有的资源。
(4) 解决在故障时正经历一阶段提交的任何悬而未决的分布事务。
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: ?????????????????????
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