-
Oct10
vmware server 2.0 安装要点
Posted in Database, 376 views
-
vmware server 2.0采用web界面,初始用户和密码与宿主机器的系统用户相同,如administrator/xxxx。
但在登录时很可能遇到以下的问题:
- ErrorThe VMware Infrastructure Web Service at "http://localhost:8222/sdk" is not responding (Connection Refused).
检查:vmware host agent服务是否已经启动;在hosts文件中是否包含 127.0.0.1 localhost;登录用户是否拥有Administrator权限;登录用户是否属于_vmware_user_用户组 - The server was unable to process your log in request. Please check with your server administrator.
运行net user 用户名 /active:yes
- ErrorThe VMware Infrastructure Web Service at "http://localhost:8222/sdk" is not responding (Connection Refused).
-
No Comments » server vmware 登录
-
Sep24
sqlplus增强设置
Posted in Database, 254 views
-
更强的编辑器
sqlplus可以与vi整合,在sqlplus中调用vi编辑器。方法是在sqlplus中执行define_editor='vi',或将define_editor='vi'添加到/product/10.2/sqlplus/admin/glogin.sql文件中。
之后再登录sqlplus,可以输入edit命令编辑上一次执行的sql。
更人性化的提示符
在glogin.sql文件中添加:
set termout off
default gname=idle
column global_name new_value gname
SELECT lower(USER) || '@' ||upper(instance_name)||'('||nvl(UTL_INADDR.GET_HOST_ADDRESS, SYS_CONTEXT('userenv', 'ip_address'))||')' GLOBAL_NAME FROM v$instance;
set sqlprompt '&gname> '
set termout on这样每次登录SQLPLUS提示符会自动更改为“当前用户名@实例名(IP地址)> ”的形式。
10g以下版本在登录后切换用户的情况下,提示符不能自动更新。
-
No Comments » login prompt SQL sqlplus vi
-
Sep24
利用ROWID准确定位数据所在的BLOCK
Posted in Database, 207 views
-
SQL>select rowid,
2 dbms_rowid.rowid_relative_fno(rowid) RFILE#,
3 dbms_rowid.rowid_block_number(rowid) BLOCK#,
4 dbms_rowid.rowid_row_number(rowid) ROW#,
5 t.*
6 from testabc t
7 /ROWID RFILE# BLOCK# ROW# BANNER
------------------ ---------- ---------- ---------- ----------------------------------------------------------------
AAADUUAAEAAAAAMAAA 4 12 0 Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
AAADUUAAEAAAAAMAAB 4 12 1 PL/SQL Release 10.2.0.4.0 - Production
AAADUUAAEAAAAAMAAC 4 12 2 CORE 10.2.0.4.0 Production
AAADUUAAEAAAAAMAAD 4 12 3 TNS for 32-bit Windows: Version 10.2.0.4.0 - Production
AAADUUAAEAAAAAMAAE 4 12 4 NLSRTL Version 10.2.0.4.0 - Production -
No Comments » block dbms rowid 定位
-
Sep17
Oracle10g 后台进程列表
Posted in Database, 266 views
-
$ ps -ef | grep ora_ | grep -v grep
oracle 14385 1 0 Oct10 ? 00:00:01 ora_pmon_WENDING
oracle 14387 1 0 Oct10 ? 00:00:00 ora_psp0_WENDING
oracle 14389 1 0 Oct10 ? 00:00:00 ora_mman_WENDING
oracle 14391 1 0 Oct10 ? 00:00:21 ora_dbw0_WENDING
oracle 14393 1 0 Oct10 ? 00:01:01 ora_lgwr_WENDING
oracle 14395 1 0 Oct10 ? 00:00:01 ora_ckpt_WENDING
oracle 14397 1 0 Oct10 ? 00:01:00 ora_smon_WENDING
oracle 14399 1 0 Oct10 ? 00:00:00 ora_reco_WENDING
oracle 14401 1 0 Oct10 ? 00:00:26 ora_cjq0_WENDING
oracle 14403 1 0 Oct10 ? 00:01:45 ora_mmon_WENDING
oracle 14405 1 0 Oct10 ? 00:00:37 ora_mmnl_WENDING
oracle 14409 1 0 Oct10 ? 00:00:04 ora_arc0_WENDING
oracle 14411 1 0 Oct10 ? 00:00:03 ora_arc1_WENDING
oracle 14415 1 0 Oct10 ? 00:00:00 ora_qmnc_WENDING
oracle 14421 1 0 Oct10 ? 00:00:15 ora_q000_WENDING
oracle 19027 1 0 Oct20 ? 00:00:00 ora_q002_WENDING
$一、后台进程包括1)Focused Background Processes
2)Utility Background Processes1. Focused Background Processes
PMON(Process Monitor) :
1)connection在不正常终止时,pmon负责释放资源,rollback未提交的事务;
2)监控后台进程,如果某些后台进程不正常终止,则会重启它(比如dispatcher),或者直接终止实例(比如lgmr终止时);
3)实例启动时,pmon负责注册实例到监听上,当实例启动时,pmon进程会检查默认监听器是否启动,如果使用非默认的监听器,需要设置local_listener参数。SMON(System Monitor:
1)clean up临时空间:真正的临时段不需要clean up,但某些操作,比如create index产生的临时段当create index的session不正常终止时,此时需要smon来清理。
2)Coalesces free space:如果使用字典管理表空间,smon负责将连续的空闲extent合并;
3)Recovers transactions active against unavailable files: 这个过程和实例启动时进行的instance crash recovery(自动前滚和回滚)相似,只不过由于实例启动时某些文件无法访问,而实例启动后的某个时间这些文件可以访问时,smon就会对其执行 recover;
4)Performs instance recovery of a failed node in RAC: 当rac的某个节点失败时,某个剩余的节点会打开失败节点对应的redo log,进行recover;
5)Cleans up OBJ$: obj$是个底层的数据字典,包括所有的数据库对象信息,很多时候,某些对象被删除时,由smon进程来clean up 该视图;
6)Shrinks rollback segments:如果设置了optimal size参数,smon进程负责执行回滚段的自动收缩
7)"Offlines" rollback segments:当用户offline某个回滚段,但此时该回滚断有active trancsaction,这是回滚段的状态其实是pending offline,而smon进程会定期的检查该回滚段的事务是否完成,完成即将其变为offline;
8)还有很多其它任务。RECO(Recovery Background Process)
1)reco有个主要工作,就是recover那些两阶段提交的但由于网络或其它原因造成状态为prepared 的挂起事务。
两阶段提交的概念:A 2PC is a distributed protocol that allows for a modification that affects many disparate databases to be committed automically. It attempts to close the window for distributed failure as much as possible before committing. In a 2PC between N databases, one of the databases—typically (but not always) the one the client logged into initially—will be the coordinator. This one site will ask the other N-1 sites if they are ready to commit. In effect, this one site will go to the N-1 sites and ask them to be prepared to commit. Each of the N-1 sites reports back its “prepared state” as YES or NO. If any one of the sites votes NO, the entire transaction is rolled back. If all sites vote YES,then the site coordinator broadcasts a message to make the commit permanent on each of the N-1 sites.
关于2pc的中文帖子说明:http://flyhorse2k.spaces.live.com/blog/cns!9C7106D3DF7B09DE!178.entry
2) 当某些节点反馈yes给事务协调器可以提交时,但事务协调器还未正式发出可以提交的最后指示时,由于网络的原因,这些节点失去了和事务协调节点的联系,此时这些事务就成为了an in-doubt distributed transaction。此时,RECO就负责定期的联系事务协调器,当联系到时,就会提交或者回滚这些事务了。
3)对于某些大的事务,如果使用reco的成本比较高,可以人为的干涉来处理掉这些事务
SQL> select local_tran_id,global_tran_id,state from dba_2pc_pending;
SQL> rollback force "";CKPT(Checkpoint):
1)CKPT 进程不是做checkpoint(A checkpoint is the writing of dirty (modified) blocks from the buffer cache to disk)的,而是在发生checkpoint时,修改数据文件头的。
2)在oracle8以前,CKPT的任务可以由LGWR进程来执行,因此CKPT进程可选,但从8.0开始,CKPT进程是必须的,LGWR也减少了执行负担。DBWR(Database Writer):
1)负责将dirty buffer写入到datafile中,目的是腾出sga空间和advance checkpoint;
2)Advance checkpoint后,oracle在做instance recover时,就从online redo file的新位置做为起点位置做恢复;
3)当发生log switch时,会出发checkpoint;
4)当online log file 需要被重用时,checkpoint还没有做完的话,警告文件里面会有checkpoint not complete的警告;
5)如果dbwr的性能低下,我们会发现很多free buffer waits和write complete waits的等待;
6)可以配置多个dbwr进程,比如dbw1,dbw2,...dbw9,...dbwj,最多20个,参数为db_writer_processes,这可以利用多个CPU的并行处理功能;
7)如果操作系统支持AIO,dbwr就可以不用等待操作系统写完,而继续下一个dbwr请求;
8)如果操作系统不支持AIO,可以利用dbwr slaves来模拟,参数为dbwr_io_slaves;LGWR(Log Writer):
1)将redo log buffer写入到redo log file中;
2)每3秒、commit、redo log buffer 1/3满时,都会触发lgwr写;
3)因此redo log buffer不需要太大;
4)lgwr采用sequenctial地写入,不像dbwr是scatter的写入,因此lgwr的性能要高很多;ASMB(Automatic Storage Manangement Background):
1)ASM实例与数据库实例通信的桥梁
2)与各实例更新和交换状态信息RBAL(Reblance):
1)当使用ASM存储database file时,启用该进程;
2)该进程负责当从ASM disk group中增加或减少disk时,rebalance数据。LMON(Lock monitor):
1)RAC下的进程;
2)负责监控RAC集群中的实例是否fail;
3)当RAC中实例增加或减少时,负责重新配置lock和其他资源;LMD(Lock mananger daemon):
1)RAC下的进程;
2)将global cache service(keep he block buffer consistent between instances)的锁请求发送给LMSn控制的队列中;LMSn(Lock managerserver):
1)RAC下的进程;
2)主要目的是通过cache-to-cache的方式,保证gloabal cache service;
3)每个Instance可以配置最多10gLMSn;LCK0(Lock):
1)RAC下的进程;
2)作用和LMD类似,但它不仅处理datablock buffer的请求,也处理其它的global resource;DIAG(Diagnosability daemon):
1)RAC下的进程;
2)监控各个实例是否health,并且在发生fail时,进行capture;2. Utility Background Processes
CJQ0 and Jnnn Processes:Job Queue
1)当配置job_queue_processes时,会有Jnnn和CJQ0进程;
2)Jnnn进程最多可有1000个;
3)Jnnn进程在job之间是共享的,但同时每个Jnnn只能执行一个job,并且它使用的内存是在UGA中;
4)物化试图的刷新一般要用到job;
5)streams一般用到AQ;
6)CJQ0,做为jnnn的coordinator,它来控制jnnn的启动和关闭;
7)Jnnn进程只会在有job需要处理时才会启动;QMNC and Qnnn Processes:Job Queue
1)用于AQ功能;
2)Qnnn处理每个message queue,QMNC做为Qnnn的coordinator;
3)如果配置了aq_tm_processes,就会启动QMNC和Qnnn进程,不论有没有queue要处理,Qnnn都会全部启动;EMNn:Event Monitor Processes
1)用于AQ功能;
2)用于监控queue,向订购者反馈消息。MMAN(Memory Manager):
1)当使用自动管理内存功能时,MMAN负责处理sga各组件的内存动态分配,包括有default buffer pool,shared pool,java pool,large pool。MMON(Memory Monitor):
1)与AWR功能配合,用于自动侦测数据库问题及调优。MMON写出AWR需要的统计信息MMNL(Memory Monitor Light):
1)与AWR协作,在必要时将所有统计信息buffer写入磁盘CTWR:Change Tracking Processes
1)负责维护new change tracking file。RVWR:Recovery Writer
1)负责维护flash recovery area中的before images数据。还有一些其他的utility process,比如为dataguard服务的,为streams服务的,为data pump服务的等等。
二、从进程包括
1)I/O slaves
2)Parallel query SlavesI/O Slaves
1)如果操作系统不支持AIO,可以利用io slaves模拟aio;
2)backup_tape_io_slaves为rman服务,设置为true的话,rman会根据需要自动启动一些slaves来完成与tape的相关读写操作;
3)dbwr_io_slaves为dbwr使用,当设置dbwr_io_slave大于0时,lgwr和arch会使用他们自己的slaves(最多4个);
4)dbwr的从进程为I1nn,lgwr的从进程为I2nn。Parallel Query Slaves
1)当执行某些语句时,会产生很多执行计划,这些执行其实可以并行执行,然后合并成一个输出结果;
2)可以利用并行查询功能来实现并行;
3)产生的并行查询进程名为Pnnn。 -
No Comments » oracle10g 列表 详解 进程
-
Sep02
-
修改 /etc/ssh/ssh_config,设置 GSSAPIAuthentication no
修改 /etc/ssh/sshd_config,设置 UseDNS no
重启sshd
-
No Comments » GSSAPI ssh 连接慢
-
Sep01
Linux高危root提权漏洞[09年9月1日]
Posted in Linux, 258 views
-
注:本文转载自http://baoz.net/linux-localroot-no-patch-again/
Linux内核漏洞最近几乎是一月一爆,在8月15号才爆了一个几乎通杀所有版本所有内核所有架构的内核漏洞;今天在学生返校的大喜日子里,竟然又爆了一个,通杀内核2.6 < 2.6.19的所有32位Linux,算是google security team给祖国学生的礼物吧。
就现在的情况看,RedHat暂时还没发布官方补丁,貌似也没有什么临时修复方案,系统管理员唯一能做的就是等待再等待。
我想Linux内核的开发团队需要考虑引入微软的SDL安全开发生命周期以增强Linux内核的安全性,否则用户用着真是提心吊胆。
下面展示一下这个漏洞的威力:
别说我是标题党,的确是一个命令就可以获得root权限吧,在32位的RHEL4里基本上是百发百中,永不落空。
包子将密切关注RedHat、Debian、Ubuntu、Gentoo等主流发行版针对此漏洞的动向,出于对用户的保护,如果您需要了解和跟踪漏洞的细节,漏洞的重现方式和重现经验,敬请关注 http://baoz.net/linux-localroot-no-patch-again/ 以获取最新资讯
-
No Comments » linux root 提权 漏洞 高危
-
Jul27
-
如果本站相册中的照片无法显示,可以通过修改hosts文件来恢复正常
在C:\WINDOWS\system32\drivers\etc目录中,找到hosts文件,用记事本打开,添加以下内容,保存,最后刷新页面
203.208.33.100 lh1.ggpht.com
203.208.33.100 lh2.ggpht.com
203.208.33.100 lh3.ggpht.com
203.208.33.100 lh4.ggpht.com
203.208.33.100 lh5.ggpht.com
203.208.33.100 lh6.ggpht.com
203.208.33.100 lh7.ggpht.com
203.208.33.100 lh8.ggpht.com -
1 Comment »
-
Jul24
-
好玩的TD游戏
在Flash上右键-播放开始游戏 -
No Comments » flash game td vector-td
-
Jul22
oralce10g shrink
Posted in Database, 314 views
-
1、在10G 以前收缩表空间是用:
1.exp/imp
2.alter table xxx move2、10G后用shrink收缩表空间
表空间中支持自动段空间管理 (ASSM), 否则会报 ORA-10635: Invalid segment or tablespace type
Shrink操作适用于
表(堆组织表或索引组织表)
分区
子分区
索引
大对象(数据或索引段)
物化视图
物化视图日志堆组织段(heap-organized segments)必须开启行迁移功能:
alter table tbname enable row movement shrink保持HWM
alter table tbname shrink space compact;回缩表与HWM
alter table tbname shrink space;回缩表与相关索引
alter table tbname shrink space cascade;回缩索引
alter index idxname shrink space;
相关限制:
1)cluster中的表。
2)有long字段的表。
3)有on_commit物化视图的表。
4)有基于rowid物化视图的表。
5)IOT映射表。
6)有基于函数索引的表 -
No Comments » 10g oracle shrink
-
Jul02
undo相关的sql
Posted in Database, 293 views
-
查UNDO统计信息语句:
SELECT TO_CHAR(BEGIN_TIME,'HH24:MI:SS') BEGIN_TIME,
TO_CHAR(END_TIME,'HH24:MI:SS') END_TIME,
UNDOBLKS
FROM V$UNDOSTAT;
-------------------------------------------结果--------------------------------------------------------------
begin_time end_time undoblocks
9:48:30 9:53:07 76293
9:38:30 9:48:30 143670
9:28:30 9:38:30 130921
9:18:30 9:28:30 122500
9:08:30 9:18:30 149030
8:58:30 9:08:30 144586
8:48:30 8:58:30 108095
8:38:30 8:48:30 63533
8:28:30 8:38:30 72819
8:18:30 8:28:30 23321
8:08:30 8:18:30 2026
7:58:30 8:08:30 15480
7:48:30 7:58:30 91111
7:38:30 7:48:30 15810
7:28:30 7:38:30 56922
7:18:30 7:28:30 30449
7:08:30 7:18:30 6096
6:58:30 7:08:30 15022
6:48:30 6:58:30 91904
6:38:30 6:48:30 38794
6:28:30 6:38:30 111884
----------------------------------------------------------------------------------------------------------
查UNDO表空间的使用情况:
select
a.a1 表空间名,
substr(b.b2/1024/1024/1024,1,5) 表空间大小G,
substr(a.a2/1024/1024/1024,1,5) 剩余表空间G,
substr((b.b2-a.a2)/1024/1024/1024,1,5) 实际使用表空间G,
substr((b.b2-a.a2)/b.b2*100,1,5) 利用率,
c.c2 类型,
c.c3 区管理方式
from
(select tablespace_name a1,sum(Nvl(bytes,0)) a2 from dba_free_space group by tablespace_name) a,
(select tablespace_name b1,sum(bytes) b2 from dba_data_files group by tablespace_name) b,
(select tablespace_name c1,contents c2,extent_management c3 from dba_tablespaces) c
where a.a1=b.b1 and b.b1=c.c1
order by c.c2 desc
-------------------------------------------------结果--------------------------------------------------------------------
表空间名 表空间大小(G) 剩余(G) 使用 利用率 表空间类型 管理方式
UNDOTBS1 17.24 1.124 16.12 93.48 UNDO LOCAL
----------------------------------------------------------------------------------------------------------------------------
建议UNDO峰值:
select ur undo_retention,dbs db_block_size, ((ur * (ups * dbs)) + (dbs * 24)) / 1024 / 1024 as "M_bytes"
from (select value as ur from v$parameter where name = 'undo_retention'),
(select (undoblks / ((end_time - begin_time) * 86400)) ups from v$undostat where undoblks in (select max(undoblks) from v$undostat ) ),
(select value as dbs from v$parameter where name = 'db_block_size');
----------------------------------------------结果------------------------------------------------------------------
undo_retention db_block_size M_bytes
10800 8192 33,376.96875 -
No Comments » oracle SQL undo


Comments