|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
尽管DBaaS模式有缺点,但它还是适合某些客户群体,这为解决方案提供商提供了新的商机。鉴于云服务的增长,解决方案提供商除了拥抱这些技术还有什么选择呢?如果他们不这样做,他们就会冒着被竞争对手击败的风险。但他们不能只想到如何把DBaaS的利润率与企业内部系统相比较。oracle|数据|数据库
原SameerWadhwa
停留(Quiescing)一个数据库是一个壮大的新特性,使得DBA能够完成一些数据库处于受限形式(restrictedmode)才干完成的一些操纵。利用这个特性,当以sys或system帐户上岸后,DBA能够实行查询,PL/SQL,和举行别的的一些事件。而一切别的用户的会话都将处于停息(suspended)的形态,一旦DBA把数据库置回到一般形式,用户的这些会话又将会主动持续运转了。
a:数据库处于一般形态.
b:数据库处于形态.
a是数据库处于一般形式的体系形态,在这类形式中DBA和用户的事件都是运转着的。一些DBA的事件是被限定着的,由于数据库必需处于受限形式时才能够运转这些事件。相反的方面,b是数据库处于停留形态的情形,在图中,一切用户的事件都是被堵塞(blocked)着的,而没有重启数据库到受限形式,DBA的事件也毫无成绩的运转着。
一旦一切举动的会话都实行了commit或rollback,数据库将会被停留。
让我们看一下它是怎样举行的。停留数据库所用的次要的命令为ALTERSYSTEMQUIESCERESTRICTED;我将起首利用SQLPLUS上岸实行这个操纵。
C:>U:>sqlplus/nolog
SQL*Plus:Release9.2.0.1.0-ProductiononWedApr1616:08:272003
Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.
SQL>connectsys/change_on_installassysdba
Connected.
SQL>ALTERSYSTEMQUIESCERESTRICTED;
ALTERSYSTEMQUIESCERESTRICTED
*
ERRORatline1:
ORA-25507:resourcemanagerhasnotbeencontinuouslyon
如上的毛病标明资本办理器(resourcemanager)长短举动的,要使它举动你能够如许:
SQL>altersystemsetresource_manager_plan=SYSTEM_PLANscope=spfilesid=OR9I;
Systemaltered.
OR9i是我的SID.
做完这个操纵你不能不重启一下数据库了。
SQL>showparameterRESOURCE_MANAGER_PLAN
NAMETYPEVALUE
---------------------------------------------------------------
resource_manager_planstringSYSTEM_PLAN
SQL>ALTERSYSTEMQUIESCERESTRICTED;
Systemaltered.
假如有一些未决的事件必要提交或回滚的话,先前的那条命令将会挂起而守候事件的完成。如想断定是哪些用户的会话没提交或回滚,你能够用以下的语句。
SELECTS.SID,S.SERIAL#,S.MACHINE,S.TERMINAL,S.USERNAME
FROMV$SESSIONSWHERES.SIDIN
(SELECTSIDFROMV$LOCKWHERETYPE=TX)
/
查询的了局将会供应充分的信息使你可以请求那些用户提交、回滚或停止他们的事件。更坏一点的情形是你能够杀失落这些会话,会话将被被主动回滚。体系处于停留形态后,你就能够不受别的用户的搅扰举行事情了,完成事情后你能够用以下命令排除这类停留的形态:
SQL>ALTERSYSTEMUNQUIESCE;
Systemaltered.
情形1:
事件按次
用户会话
DBA会话
(1)
ConnectedwithSCOTT
SQL>updateemp3set
ename=John
whereename=samir;
ConnectedwithSYS
(2)
SQL>ALTERSYSTEMQUIESCERESTRICTED;
守候用户SCOTT完成事件.
(3)
SQL>commit;
Commitcomplete.
(4)
Systemaltered.
第一种情形标明,在一切举动的事物完成前DBA是不克不及停留数据库的。一旦数据库停留了,库对别的的用户出现的是中断(halt)或非举动(inactive)的形态。然后当数据库变成一般形态后,一切的数据块和停息的事件又持续运转了。
情形2:
事件按次
用户会话
DBA会话
(1)
ConnectedwithScottUser.
ConnectedwithSYS.
SQL>ALTERSYSTEMQUIESCERESTRICTED;
Systemaltered.
(2)
Select*fromEMP;
waitforresult
(3)
SQL>ALTERSYSTEMUNQUIESCE;
Systemaltered.
EMPNOENAMESALARY
-----------------------------
1Sasa1000
2John5000
3Hema7000
Usercanseetheresults.
情形2标明它怎样影响了用户的会话。简而言之,此时体系关于终极用户是一时的有效。
一般的一些成绩:
(Q)做为DBA的你怎样反省你的数据库是甚么形态呢?
(A)你能够反省V$INSTANCE视图中的ACTIVE_STATE这上字段。
SQL>SELECTACTIVE_STATEFROMV$INSTANCE;
ACTIVE_ST
---------
NORMAL
ACTIVE_STATE有以下几个大概值:
Active_state
形貌
Normal
数据库处于一般形态
QUIESCING
DATABASEwantstoQUIESCEDbutwaitingforactiverunningtransactionstofinish.
数据库要想停留,但要守候举动的运转事件完成。
Quiesced
数据库处于停留的形态了.
(Q)如何断定哪些毗连着库的会话在守候停留着的数据库呢?
(A)能够用以下的查询来断定:
SELECTSID,EVENT,TOTAL_WAITS,TIME_WAITED"TIMEWAITED[100OFSEC]",
AVERAGE_WAITFROMV$SESSION_EVENT
WHEREEVENT=waitforpossibleQUIESCEfinish
/
SQL>
SIDEVENTTOTAL_WAITSTimeWaited[100ofSec]AVERAGE_WAIT
-----------------------------------------------------------------------------------
6waitforpossibleQUIESCEfinish412126532307
"waitforpossibleQUIESCEfinish"这个事务标明会话正等着“正停留”的数据库以致于它不克不及举行它的事物。库停留后这些会话将出现hung的形态。
(Q)在停留数据库之前,关于资本办理器企图(resourcemanagerplan)必要做甚么设定?
(A)当你停留了数据库,INTERNAL_QUIESCE资本企图被激活了。除SYS_GROUPS别的一切的资本组中的ACTIVE_SESS_POOL_P1应被设置为0。因SYS和SYSTEM用户都属于SYS_GROUPS组,以是只要它们能够毗连到数据库。
要检察细节的信息能够查询DBA_RSRC_PLAN_DIRECTIVES这个视图。
记住以下几点:
处于停留形态的数据库只要SYS和SYSTEM是无效的用户来实行保护的事情;别的有DBA权限的用户也被视为一样平常的用户。在停留的数据库中备份数据文件(泠备,拷贝数据文件)是有效的。假如库中有“举动”的事件,库是不克不及被停留的。.
必要启动数据库以设置资本企图
停留数据是9i的新特性,因而之前的版本中是不克不及用的。
结论:
停留数据库是一个壮大的特性使DBA不用重启数据库就能够实行一些出格的保护事情。
与其他数据库相比,MySQL易学易用。 |
|