??xml version="1.0" encoding="utf-8" standalone="yes"?> q多出的“1U?#8221;加在格林尼L?2?1?3?9分后Q通过增加闰秒实现。由于北京处于东八时区,所以将?017q????9?9U后面增?U,届时?x)出??9?0U的Ҏ(gu)现象?/p> Z么要增加1U?q?U从何而来Q据天文专家介绍Qؓ(f)?jin)确定时_(d)世界上有两种旉计量pȝQ基于地球自转得出的“世界?#8221;和基于原子振荡周期确定的“原子?#8221;。由于两U时间尺度对U的量Ҏ(gu)不同Q随着旉的推U,q两个时间系l之间就?x)出现差异,所以有?#8220;协调世界?#8221;的概c(din)?/p> “协调世界?#8221;以原子时U长为基Q在时刻上尽量接q于世界时?972q_(d)国际计量大会(x)军_Q当“世界?#8221;?#8220;原子?#8221;之间时刻相差过0.9U时Q就在协调世界时上加上或减去1U(正闰U或负闰U)(j)Q以量接近世界Ӟq就是闰U?br />
计算机的旉只要不用NTP没什么大问题?/p>
处理q程Q重启笔记本Q重启手机,重启91手机助手。打开91助手Q发现速度依旧那么慢?br />
我用的win10的电(sh)脑啊Q?4位的pȝQ直接右?1助手的桌面快h式,选中“以管理员w䆾q行”Q再ơ选中一个月的照片,速度发现Q神速啊?br />
]]>
]]>
AIX date -n mmddHHMMYYQmm表示月分Qdd表示日期QHH表示时QMM表示分钟QYY表示q䆾?/p>
The Oracle oracle.sql.BLOB OutputStream writes the data in chunks. Since autocommit defaults to true, the first chunk is committed. This results in the write operation for the next chunk of the Blob to fail since it appears to be in the next transaction.
In those conditions, the ORA-22990 exception will occur with any version of Oracle JDBC driver.
Issue the setAutoCommit(false) command. Then, explicitly commit the transaction after all of the Blob chunks have been written to the row and the stream.close() method has been executed.
If using the Oracle 10g JDBC driver (or greater version), a second solution consists of using the standard JDBC api (setBinaryStream method of java.sql.PreparedStatement interface). And in this case, AutoCommit can be set to true.
Here is an example:
where blobTest is a table defined as the following:
数据库版本:(x)11.2.0
今天在用rman备䆾的时候随意的查看?jin)一下等待事Ӟ除了(jin)?jin)我们现在系l遇到的IO瓉外,q额外的发了(jin)enq: TX - row lock contention?/span>{待事g
1Q查询当前系l的{待事g
select event,sid,p1,p2,p3 from v$session_wait where event not like 'SQL*%' and event not like 'rdbms%';
EVENT SID P1 P2 P3
---------------------------------- ---- ---------- ---------- ----------
enq: TX - row lock contention 4 1415053318 196638 55836
RMAN backup & recovery I/O 5 1 256 2147483647
enq: TX - row lock contention 12 1415053318 524293 51153
RMAN backup & recovery I/O 25 1 256 2147483647
db file sequential read 27 16 2876703 1
pmon timer 33 300 0 0
db file scattered read 39 33 790536 128
VKTM Logical Idle Wait 49 0 0 0
Streams AQ: qmn slave idle wait 50 1 0 0
asynch descriptor resize 53 1 4294967295 1237
jobq slave wait 54 0 0 0
EVENT SID P1 P2 P3
------------------------------------------- ------- ---------- ----------
db file sequential read 170 33 1100519 1
direct path read 181 44 469892 124
enq: TX - row lock contention 212 1415053318 524293 51153
smon timer 225 300 0 0
enq: TX - row lock contention 232 1415053318 524293 51153
direct path read 234 16 1099776 128
Streams AQ: qmn coordinator idle wait 242 0 0 0
上面的等待事件说明session4Q?2Q?12Q?32惛_锁,但是有别的session占着Q所以等待?/span>
enq是一U保护共享资源的锁定机制Q一个排队机Ӟ先进先出(FIFO)
发生TX锁的原因一般有几个
1.不同的session更新或删除同一个记录?br />
2.唯一索引有重复烦(ch)?br />
3.位图索引多次更新
4.同时对同一个数据块更新
5.{待索引块分?/span>
2Q下面我们通过enq: TX - row lock contention来看看这些session都在{什?/span>
select ROW_WAIT_OBJ#,ROW_WAIT_FILE#,ROW_WAIT_BLOCK#,ROW_WAIT_ROW# from v$session where event='enq: TX - row lock contention';
ROW_WAIT_OBJ# ROW_WAIT_FILE# ROW_WAIT_BLOCK# ROW_WAIT_ROW#
------------- -------------- --------------- -------------
87556 57 395 88
87564 57 435 0
87564 57 435 0
87564 57 435 0
87564 57 435 0
3Q通过上面sql查找出来的对象编h到对应的对象名称
SQL> select object_name from dba_objects where object_id in (87564);
OBJECT_NAME
-----------
QRTZ_LOCKS
4Q通过对象名称扑և该对象的对应属性,对象属性ؓ(f)TABLE
SQL> select OWNER,OBJECT_NAME,OBJECT_ID,DATA_OBJECT_ID, OBJECT_TYPE from all_objects where object_name='QRTZ_LOCKS';
OWNER OBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
SCHEDULE QRTZ_LOCKS 87564 87564 TABLE
5Q通过正在{待的SID查看它们都在执行什么操?/span>
SQL> select sid,sql_text from v$session a,v$sql b where sid in(4,12,41,212,232) and (b.sql_id=a.sql_id or b.sql_id=a.prev_sql_id);
SID SQL_TEXT
---- ----------------------------------------------------------------------------------------------------
4 UPDATE QRTZ_CRON_TRIGGERS SET CRON_EXPRESSION = :1 WHERE TRIGGER_NAME = :2 AND TRIGGER_GROUP = :3
12 SELECT * FROM QRTZ_LOCKS WHERE LOCK_NAME = :1 FOR UPDATE
41 SELECT * FROM QRTZ_LOCKS WHERE LOCK_NAME = :1 FOR UPDATE
212 SELECT * FROM QRTZ_LOCKS WHERE LOCK_NAME = :1 FOR UPDATE
232 SELECT * FROM QRTZ_LOCKS WHERE LOCK_NAME = :1 FOR UPDATE
从上面的l果可以看出QSCHEDULE用户下的五个session同时在执行一条相同的sql语句Q对应的对象则是QRTZ_LOCKS q个?/span>Q?nbsp;所以发生了(jin)锁,从而生等待,通过和同事的交流Q得知这个一个ETLE序要访问的表,里面只有五条数据Q但是却要时时调度?nbsp;
6Q下面我们去找一下对应sid产生的锁
SQL> select SID,TY,ID1,ID2,LMODE,REQUEST,CTIME,BLOCK from V$lock where block=1 or request<>0;
SID TY ID1 ID2 LMODE REQUEST CTIME BLOCK
---------------- ---- -- ---------- ---------- ---------- ---------- ---------- ----------
41 TX 524293 51153 0 6 3846 0
12 TX 524293 51153 0 6 4190 0
232 TX 524293 51153 0 6 4626 0
212 TX 524293 51153 0 6 4749 0
4 TX 196638 55836 0 6 4755 1
44 TX 196638 55836 6 0 4765 1
由此可以查看QBLOCK=1的sid是该{待事g的根源,其他session则等待该锁被释放?/span>
解决Ҏ(gu)Q?/span>
1Q通过v$session扑ֈBLOCK=1的用P告知用户提交事务
2Q通过sid扑ֈpidQkill掉该q程
3Q更改sql语句QSELECT * FROM QRTZ_LOCKS WHERE LOCK_NAME = :1 FOR UPDATE no wait
加nowait的意思是得到或者得不到Q不?x)等?/span>
事g起因Q?/p>
Incident details in: d:/app/administrator/diag/rdbms/ccxe/ccxe/incident/incdir_2570/ccxe_ora_2164_i2570.trc
Aborting crash recovery due to error 600
Errors in file d:/app/administrator/diag/rdbms/ccxe/ccxe/trace/ccxe_ora_2164.trc:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1770], [779181], [779205], [], [], [], [], [], [], []
Errors in file d:/app/administrator/diag/rdbms/ccxe/ccxe/trace/ccxe_ora_2164.trc:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1770], [779181], [779205], [], [], [], [], [], [], []
ORA-600 signalled during: alter database open...
Tue May 10 10:13:10 2011
Trace dumping is performing id=[cdmp_20110510101310]
Tue May 10 10:13:11 2011
Sweep [inc][2570]: completed
Sweep [inc2][2570]: completed
Tue May 10 10:29:52 2011
Shutting down instance (immediate)
Shutting down instance: further logons disabled
WARNING! Crash recovery of thread 1 seq 1770 is
ending at redo block 779181 but should not have ended before
redo block 779205
//看,有警告了(jin)Q意思是我在恢复的时候,丢失?jin)redo日志Q当时我很纳P怎么?x)丢失redo呢?最后我把这个问题定位在传输redo的时候可能造成数据块的丢失Q因为我以前发生q这cM情,所以我重新拯redo日志Q再ơ将数据库启动?/p>
Incident 3771 created, dump file: d:/app/administrator/diag/rdbms/ccxe/ccxe/incident/incdir_3771/ccxe_ora_2164_i3771.trc
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1770], [779181], [779205], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1770], [779181], [779205], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1770], [779181], [779205], [], [], [], [], [], [], []
*** 2011-05-10 10:47:11.138
Stopping background process MMNL
*** 2011-05-10 10:47:12.139
Stopping background process MMON
*** 2011-05-10 10:47:13.259
ksukia: Starting kill, flags = 1
ksukia: killed 0 out of 0 processes.
*** 2011-05-10 10:47:14.652
*** 2011-05-10 10:47:14.652 4132 krsh.c
ARCH: Archival disabled due to shutdown: 1089
*** 2011-05-10 10:47:15.653
*** 2011-05-10 10:47:15.653 4132 krsh.c
ARCH: Archival disabled due to shutdown: 1089
Total System Global Area 6413680640 bytes
Fixed Size 2187728 bytes
Variable Size 754978352 bytes
Database Buffers 5637144576 bytes
Redo Buffers 19369984 bytes
Database mounted.
ORA-00338: log 4 of thread 1 is more recent than control file
ORA-00312: online log 4 thread 1:
'D:/APP/ADMINISTRATOR/ORADATA/CCXE/REDO04.LOG'
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
D:/app/Administrator/oradata/CCXE/redo04.log
ORA-00279: change 128488612 generated at 05/10/2011 11:13:52 needed for thread
ORA-00289: suggestion :
D:/APP/ADMINISTRATOR/FLASH_RECOVERY_AREA/CCXE/ARCHIVELOG/2011_05_10/O1_MF_1_1771_%U_.ARC
ORA-00280: change 128488612 for thread 1 is in sequence #1771
ORA-00278: log file 'D:/app/Administrator/oradata/CCXE/redo04.log' no longer
needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
D:/app/Administrator/oradata/CCXE/redo05.log
Log applied.
Media recovery complete.
SQL> alter database open; -必须?/span>RESETLOGS方式打开数据?/span>
alter database open
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
SQL> alter database open RESETLOGS ;
Database altered.
OKQ现在数据库h?jin),通过q次出错我ȝ?jin)几点,希望对大家有帮?/p>
1Q数据库不管是不是测试,都尽量备份,否则出问题哭都来不及(qing)?/p>
2Q数据库量归档Q这样就可以恢复数据库在M时刻?/p>
3Q出错时不要慌,要仔l查看报错信息,分析报错Q根据自己所掌握的知识一步一步解冻I当你把问题解?/p>
Ӟ你会(x)发现排错的过E真的是一个非常提升自qq程?/p>
4Q^怸定要有几个在q方面很强的朋友Q因为有的时候ƈ不是自己查资料就能查到的Q更多的是需要朋友的
l验与帮助?/p>
注:(x)以上是q次错误的全部过E,q段旉我会(x)把近期所遇到的错误都整理一下,都分享给大家Q通过q期的工作我感觉数据库真的是一个非常庞大的pȝQ每ơ遇到新错的时候我都会(x)很郁L(fng)解决Q因为我发现我的懂的q是太少?jin),学?fn)毕竟是一个由点到U,q到网的过E,一个问题由模糊到清晎ͼ由清晰再模糊Q反复来几遍最l都?x)很明白的。我们要有清晰的理论知识Q出错的时候才?x)找到出题所在,作ؓ(f)一个DBA冷静(rn)Q清晰的头脑也很重要Q通过DBA的这个行业,也是非常ȝ自己的性格Q希望大安可以在DBA的这条职Z路,走远Q祝大家好运?/p>
数据库版本:(x)oracle 11.2.0
今天同事需要执行一个拥有大扚wq算的存储过E,当执行的时候报错,报错信息如下Q?/span>
ERROR at line 1:
ORA-01555: snapshot too old: rollback segment number 18 with name
"_SYSSMU18_671080725$" too small
ORA-06512: at "TRANUSER.TRAN_ETL_LOAD_J2S_MAIN", line 22
ORA-06512: at "TRANUSER.TRAN_ETL_LOAD_JST_PRE", line 5
ORA-06512: at line 2
--_ֽ解释
不知道是从哪里{的了(jin), 假设有张表,叫table1Q里面有5000万行数据Q假N计全表扫?ơ需?个小Ӟ我们从过E来看:(x)
1、在1炚wQ有个用户A发出?jin)select * from table1;此时不管来table1怎么变化Q正的l果应该是用户A?x)看到?炚wq个时刻的内宏V这个是没有疑问的?nbsp;
2、在1?0分,有个用户B执行?jin)update命o(h)Q更C(jin)table1表中的第4000万行的这条记录,q时Q用户A的全表扫描还没有到达W?000万条。毫无疑问,q个时候,W?000万行的这条记录是被写C(jin)回滚D里M(jin)的,我假设是回滚DRBS1Q如果用户A的全表扫描到达了(jin)W?000万行Q是应该?x)正的从回滚段RBS1中读取出1炚w时刻的内容的?nbsp;
3、这Ӟ用户B他刚才做的操作commit?jin),但是q时Q系l仍然可以给用户A提供正确的数据,因ؓ(f)那第4000万行记录的内容仍然还在回滚段RBS1里,pȝ可以Ҏ(gu)SCN来到回滚D里扑ֈ正确的数据,但是大家注意刎ͼq时记录在RBS1里的W?000万行记录已经发生?jin)一炚w大的改变Q就是这个第4000万行的在回滚DRBS1里的数据有可能随时被覆盖掉,因ؓ(f)q条记录已经被提交了(jin)Q!Q?nbsp;
4、由于用户A的查询时间O长,而业务在一直不断的q行QRBS1回滚D在被多个不同的tracnsaction使用着Q这个回滚段里的extent循环C(jin)W?000万行数据所在的extentQ由于这条记录已l被标记提交?jin),所以这个extent是可以被其他transaction覆盖掉的Q?nbsp;
5、到??0分,用户A的查询终于到?jin)?000万行Q而这时已l出C(jin)W?条说的情况,需要到回滚DRBS1L数据Q但是已l被覆盖掉了(jin)Q于?1555出C(jin)?/span>
--错误提示
数据库报?ORA-01555 什么回滚段 '_SYSSMU168' is too small.很明?是可用的回滚D太了(jin) 满不了(jin)那个大事物的需?具体的sql我就不提供了(jin)
q有一U可?一般伴随着ORA-22924出现是LOB上的问题
辨别ORA-01555是不是发生在LOB上的,一般来?普通的01555错误?x)指明发?1555的rollback segment,而LOB的则没有,而是伴随着ORA-22924出现http://www.dbafan.com/blog/?p=11
--回滚原理
回退D中存放的信息被UCؓ(f)“前照”(pre-image)Q也是说当一个进E对某个表进行了(jin)DML操作以后Q?br />更改前的U录信息被存放于回滚D,其作用有两个Q?/span>
1、当q程要求回滚QROLLBACKQ的时候,使用回滚D中信息是纪录复原;
2、保持数据读的一致性,当一个进E从某个表中ȝ录的时候,ORACLEq回的是当读开始或者进E开始时的纪录,如果在读取过E中有其他进E更改了(jin)表纪录,ORACLE׃(x)从回滚段中读取当L作开始时的数据。回滚段中信息ƈ不是持久有效的,当进E提交(COMMITQ或者回滚(ROLLBACKQ的时候,回滚D就被释放了(jin)。当一个进E在执行一个大查询的时候,如果在查询的q程中所d得的表被更改而且更改COMMIT太久Q那回滚D中?#8220;前照”有可能?x)被其他的进E覆盖,从而导致ORA-01555错误?/span>
--解决Ҏ(gu)
1、增加回滚段的大,因ؓ(f)ORACLEL覆盖最旧的回滚D,所以大的回滚段能有效的降低数据被覆盖的可能性?br />2、检查你的程序,避免在一个大查询的过E中Ҏ(gu)查询的表执行太多更新操作?/span>
下面回顾下关于ora-01555的解x(chng)?10g默认是用AUM q里׃说了(jin). 下面是几个解x(chng)式来?/span>hellodba ȝ的很不错 大家可用参考下Q?/span>
1、扩大回滚段: 因ؓ(f)回滚D|循环使用的,如果回滚D够大Q那么那些被提交的数据信息就能保存够长的时间是那些大事务完成一致性读?/span>?/span>
2、增加undo_retention旉:在undo_retention规定的时间内QQ何其他事务都不能覆盖q些数据?/span>
3、优化相x(chng)询语句,减少一致性读:减少查询语句的一致性读Q就降低d不到回滚D|据的风险。这一炚w帔R要!
4、减不必要的事务提?提交的事务越,产生的回滚段信息p?/span>
5、对大事务指定回滚段,通过以下语句可以指定事务的回滚段Q?span style="color: #0000ff;">SET TRANSACTION USE ROLLBACK SEGMENT rollback_segment; l大事务指定回滚D,即降低大事务回滚信息覆盖其他事务的回滚信息的几率Q又降低?jin)他自n的回滚信息被覆盖的几率。大事务的存在,往往?555错误产生的诱因?/span>
6、用游标时量使用昑ּ游标Qƈ且只在需要的时候打开游标Q同时将所有可以在游标外做的操作从游标循环中拿出。当游标打开Ӟ查询开始了(jin)Q直到游标关闭。减游标的打开旉Q就减少?555错误发生的几率?/span>http://hi.baidu.com/xu521huan/blog/item/0903ec9b62d85ebec8eaf442.html
--一些实?/span>
我的回答是先看看到底是哪个SQL有这个问题,再确定不是因为SQL本n太糟p导致SNAPSHOT TOO OLD?span style="color: #ff0000;">再跟他们说我不相信把UNDO_RETENTION加大?x)有效地解决问?/span>。最后给几个CASES来支持我的观炏V?br />(1)reduce the frequency of commit
(2)set initialization paramter undo_retention(9i)
(3)alter system set retention guarrantee (10g)
(4)increase the size of the undo tablespace
(5)assign a large rollback segment for the large transaction
(6)tuning the long run sql
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
the root cause of the error ora-01555:the long run query can not find a consistent image, because the undo blocks that used to construct the consistent image were wrapped by other active transaction.
遇到q个问题Q首先可以看是维护需要执行的SQL或者应用执行的SQL报的
1、如果^时不报,只是l护人员执行的SQL报的Q一般是SQL写得不好Q运行执行过长,过?jin)参?redo_retention所讄的时间造成的。这U情况可以协助他们进行SQL分析和优化,减少q行旉Q这个情况下pȝ不需要对pȝq行调整
2、如果是应用E序报的Q比如批量程序,则需要通知相关人员q行重做Q否则批量运行失败,业务可能?x)因为数据遗漏出现问题。如果出现的频率较多Q则需要在优化应用E序Q优化的手段有SQL优化、适当增加commit的次数等Q。在应用新版本上U前Q可通过调整pȝ配置临时解决问题Ҏ(gu)如:(x)
1Q增大undo表空?/span>
2Q增大redo_retention
3)为此大事物指定专门的undo D?/span>
http://www.itpub.net/viewthread.php?tid=1021888&extra=&highlight=DBA%C3%E6%CA%D4&page=3
新鲜出炉的案例:(x)APPS的h下午回馈说今天一个DB的JOB一直报SNAPSHOT TOO OLD。这是过d个月q个数据库第一ơ有q种回馈。到ALERT LOG中看看,有好多这UERRORQWed Jul 16 10:30:44 2008 ORA-01555 caused by SQL statement below (Query Duration=884 sec, SCN: 0x0018.bef62785):Wed Jul 16 10:30:44 2008
Wed Jul 16 10:57:29 2008 ORA-01555 caused by SQL statement below (Query Duration=149 sec, SCN: 0x0018.bf0d3e47):Wed Jul 16 10:57:29 2008
嗯,884SQ?49SQ不可能吧?看看UNDO SETTINGSQ很大啊Q?/span>
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 10800
undo_suppress_errors boolean FALSE
undo_tablespace string UNDOTBS2
SQL> select sum(bytes)/(1024*1024*1024) as gbytes from dba_data_files;
GBYTES
----------
300.654297
SQL> select sum(bytes)/(1024*1024*1024) as gbytes from dba_data_files where tablespace_name='UNDOTBS2';
GBYTES
----------
9.765625
自己试试Q?br />create table mytab as <the select statement> where 1=0
16:12:14 SQL> insert into mytab <the select statement>
insert into mytab
*
ERROR at line 1:
ORA-01555: snapshot too old: rollback segment number 27 with name "_SYSSMU27$"
too small
Elapsed: 00:10:08.83
奇怪了(jin)。看看今天这个UNTOTBS2 UTILIZATION怎样?/span>
SQL> select snap_time, free_mb from tbs_usage_hist where database='<DB Name>' and tbs='UNDOTBS2' and snap_time>sysdate-1 order by snap_time;
SNAP_TIME FREE_MB
------------------- ----------
2008-07-15 18:00:00 9172.56
2008-07-15 19:00:00 9172.56
2008-07-15 20:00:00 9156.56
2008-07-15 21:00:00 9188.56
2008-07-15 22:00:00 9204.56
2008-07-15 23:00:00 9212.56
2008-07-16 00:00:00 9228.56
2008-07-16 01:00:00 9228.56
2008-07-16 02:00:00 9236.56
2008-07-16 03:00:00 9228.56
2008-07-16 04:00:00 9252.56
2008-07-16 05:00:00 9252.56
2008-07-16 06:00:00 9252.56
2008-07-16 07:00:00 9260.56
2008-07-16 08:00:00 9244.56
2008-07-16 09:00:00 8486.56
2008-07-16 10:00:00 1683.56
2008-07-16 11:00:00 2.31
2008-07-16 12:00:00 1.94
2008-07-16 13:00:00 2.44
2008-07-16 14:00:00 2.44
2008-07-16 15:00:00 1.25
2008-07-16 16:00:00 17.75
?问题应当是很明了(jin)?jin),自今天十点多UNDOTBS2一直是HIGHLY UTILIZED。打个电(sh)话给APP OWNERQ原来他今天早上十点左右做了(jin)一个很大的DELETE。即然这个报错的APP只要在二十四时内能再执行完可以,而OLTP APP没报错,那就再等{吧。在四点半时QUNDOTBS2差不多?5% FREE。再试试Q?br />16:37:49 SQL> insert into mytab <the select statement>
182 rows created.
Elapsed: 00:34:47.39
17:12:37 SQL>
现在的UNDOTBS2 UTILIZATIONQ?br />SNAP_TIME FREE_MB
------------------- ----------
2008-07-16 17:00:00 8523.63
问题解决。SNAPSHOT TOO OLD从来׃是一个过时的题目,也没有一个简单的{案?/span>
OS环境Qwindows PC
数据库版本:(x)oracle 10.0.2.1
q是一ơ小打小闹的报错Q原因是帮同事改他自q的测试库sgaQ原sga_max_size大小?00MQ我修改?GQ重启时报错?/span>
ORA-27100 shared memory realm already exists
通过查询官方文档Q解释该原因是因为windows pc 32位机最大支持分配oracle内存?sh)?.7GQ所以导致报错,q是一ơ缺经验的教训?/span>
解决案例Q?/span>
1QSQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 568M
sga_target big integer 568M
2QSQL> alter system set sga_max_size=2048m scope=spfile; -SGA讄?G
SQL> alter system set sga_target=2048m scope=spfile;
3QSQL> shutdown immediate -重启数据库报?/span>
SQL> startup
ORA-27100 shared memory realm already exists
OSD-00029: ????????????
O/S-Error: (OS 8) ??????????????????????????????
4QSQL> create pfile from spfile; -使用spfile生成pfileQ修改参数文件内的以下两个参敎ͼ
参数调?yu)?/span>
*.sga_max_size=600000000
*.sga_target=600000000
5QSQL> startup pfile='E:/oracle/product/10.2.0/db_1/database/INITorcl.ORA' -q时候启?/span>
依然报错Q这是因为windows机器需要重启后台服务,否则无法生效Q郁P(j)
ORA-27100 shared memory realm already exists
OSD-00029: ????????????
O/S-Error: (OS 8) ??????????????????????????????
7Q找到管?服务/OracleServiceORCL 重启
8QSQL> startup pfile='E:/oracle/product/10.2.0/db_1/database/INITorcl.ORA'
ORACLE 例程已经启动?/span>
Total System Global Area 603979776 bytes
Fixed Size 1250428 bytes
Variable Size 163580804 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
数据库装载完毕?br /> 数据库已l打开?/span>
9QSQL> create spfile from pfile; -Ҏ(gu)启动的pfile生成spfileQ下ơ启动时候则ddspfile
参数文g
SQL> startup force
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string E:/ORACLE/PRODUCT/10.2.0/DB_1/
DATABASE/SPFILEORCL.ORA
SQL> show parameter sga;
NAME TYPE VALUE
----------------------------------- ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 576M
sga_target big integer 576M
jsp字体
Window-->Preferences-->General-->Appearance-->Colors and Fonts-->Basic-->Text Font-->Chang
里面?#8220;Text Font”。直接在JSP文g~辑器上点击右键Q然后选择属性,可以设|了(jin)
java代码字体
html xml
<!-- TODO mytask -->
jsp
<%-- TODO mytask -->
java javascript
//TODO mytask
CSS
/*TODO mytask */打开 (Window->Preferences)
选择 General->Editors->Structured Text Edit->Task Tags.
N? "Enable searching for Task Tags" setting.
?#8220;Filters”标签中Q要保证JSP是选中的?/span>
在Q务视N面可以看CQ务的状态?br />
在发布项目之前,需要管伫一下这个视N止有未完成的d发布了(jin)目?/pre>
]]>
”的解x(chng)?br />1、ueditor目录jsp目录下面有一个java文g
Uploader.java
2、把q个文g攑ֈsrc/ueditor包里?br />3、把ueditor/jsp/目录下面的两个jar包放到工E里?br />4 重新~译目ok,可以上传附g,囄?
有点高?/p>
解决办法如下Q?/p>
Ҏ(gu)一: 环境: windows 2003 server + SP1企业VOL?域控环境
安装数据? SQL 2000
在给出的输入CDKEY的界面中Q输入你已经安装的windows server 2003 的CDKEY卛_以(h)l安装,而不是SQL 2000的CDKEY?/p>
Ҏ(gu)? 在开?gt;q行>输入“regedit"; 打开注册表编辑器?
览?
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
SafeDLLSearchMode的DWORD值ƈg 1 更改?0?br />如果SafeDLLSearchModeg存在, 新徏一个DWORDcd的SafeDLLSearchMode键倹{?br />重新启动 SQL Server 2000 安装Q这时就不会(x)出现提示“无法验证产品密钥”?
应用最?SQL ServicePack 然后重新启动服务器?/p>
在RHEL6.1中,gonme桌面包的名字变成?jin)DesktopQ这是RHEL6.1默认的桌面了(jin)。但如果只安装这个组的话Q也是不行的Q他~少?jin)X协议的支持,在启动桌面的时候,?x)出C面和X相关的错误提C?
xinit: No such file or directory (errno 2): no server "/usr/bin/X" in PATH xinit: No such file or directory (errno 2): unable to connect to X server xinit: No such process (errno 3): Server error.
所以说Q要在字W界面下安装Gnome桌面Q你需要安装两个组?/p>
yum groupinstall "X Window System" yum groupinstall "Desktop"
如果_(d)你安装系l的时候,选择?jin)中文语a包的支持的话Q那么系l会(x)以中文显C。如果在l端使用的话Q有点不方便Q告别是用yum group*q些命o(h)的时候,可能无法安装?/p>
解决的办法就是编?/p>
/etc/sysconfig/i18n
把zh_CN换成en_US LANG="en_US.UTF-8" 然后执行一ơ下面的命o(h) source /etc/sysconfig/i18n
最早的一ơ用oracle 11g导出数据发现有的表丢׃(jin)Q感觉莫名其妙的Q后来终于找到原因了(jin)?br />扑ֈ问题?sh)后Q再看看解决Ҏ(gu)?br />
11GR2Q以节省I间Q可是在?/span>EXPORT能有相应的控制开养I可以切换是否导出IQ看?jin)下帮助Q没有太大的改变。有些奇怪,N11GR2不更新EXP的功能了(jin)Q还看有的帖子说11GR1作ؓ(f)客户端去卸蝲11GR2的,都会(x)出现ora-1455d的错误,得换?/span>11GR2的exp才没事了(jin)Q心(j)中感慨阿Q怎么版本间的兼容q么脆弱?jin)?/span>
一行,?/span>rollback?jin)?/span>
。导出时则可导出I?/span> Q当改ؓ(f)FALSE。修?/span>SQLalter system set deferred_segment_creation=false scope=both; 用以下这句查扄表ƈ分配I间
table '||table_name||' allocate extent;' from user_tables where num_rows=0; 查询的结果导出,然后执行导出的语句,分配I间修改segment二?参数