1.ÔÚORACLEÖÐʵÏÖ·Ö²¼Ê½¿ìËÙ´æÈ¡ºÍ³äʵÄÚ´æÊǺÜÖØÒªµÄ¡£
¡¡¡¡
¡¡¡¡Òª²»Ï§Èκδú¼Û±ÜÃâÒ³Ãæµ÷¶ÈºÍ½»»»﹐ÿ´Î¶¼±ØÐë°Ñϵͳȫ¾ÖÇø(SGA)·Åµ½ÄÚ´æ¡£
¡¡¡¡
¡¡¡¡½«SGA·Åµ½ÄÚ´æÖÐ﹐ÔÚINIT.ORAÖÐÉèÖòÎÊý PRE_PAGE_SGA
¡¡¡¡
¡¡¡¡PRE_PAGE_SGA=YES
¡¡¡¡
¡¡¡¡2.»Ø¾í¶ÎµÄ¾¹Õù»á½µµÍϵͳµÄÐÔÄÜ¡£
¡¡¡¡
¡¡¡¡SELECT¡¡GETS,WAITS¡¡from V$ROLLSTAT;
¡¡¡¡
¡¡¡¡GETS´ú±í»Ø¾í¶Î±»·ÃÎʵĴÎÊý
¡¡¡¡
¡¡¡¡WAITS´ú±í½ø³ÌµÈ´ý»Ø¾í¶ÎÖÐÄĸö½ø³ÌµÄ´ÎÊý
¡¡¡¡
¡¡¡¡Èç¹ûGETSÓëWAITSµÄ±È´óÓÚ2%±íʾ´æÔÚ¾¹ÕùÎÊÌâ
¡¡¡¡
¡¡¡¡½â¾ö°ì·¨ÊÇ´´½¨¸ü¶àµÄ»Ø¾í¶Î¡£
¡¡¡¡
¡¡¡¡ÓÐÁ½ÖÖÀàÐ͵ÄËø´æ¾¹Õù»á²úÉúÑÏÖØµÄºó¹û﹕Á¢¼´Ëø´æ(IMMEDIATE)ºÍµÈ´ý(WAIT)Ëø´æ¡£
¡¡¡¡
¡¡¡¡µÈ´ýËø´æµÄ¼ÆË㹫ʽ﹕
¡¡¡¡
¡¡¡¡WAIT CONTENTION=(MISSES/(GETS+MISSES))*100
¡¡¡¡
¡¡¡¡Á¢¼´Ëø´æµÄ¼ÆË㹫ʽ﹕
¡¡¡¡
¡¡¡¡IMMEDIATE CONNECTION=(IMMEDIATE_MISSES/(IMMEDIATE_GETS+IMMEDIATE_MISSES))*100
¡¡¡¡
¡¡¡¡Èç¹ûÈκÎÒ»¸öÖµ>0Ôò¾Í´æÔÚ¶ÔËø´æµÄ¾¹Õù
¡¡¡¡
¡¡¡¡Èç¹û·¢Éú»Ö¸´·ÖÅäËø´æµÄ¾¹Õù﹐¿ÉÒÔ¼õСINIT.ORAÖеÄLOG_SMALL_ENTRY_MAX_SIZEµÄ²ÎÊýÖµ¡£Èç¹û·¢Éú»Ö¸´¸´Öƾ¹Õù ......
³£ÓÃSQL²éѯ£º
1¡¢²é¿´±í¿Õ¼äµÄÃû³Æ¼°´óС
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
2¡¢²é¿´±í¿Õ¼äÎïÀíÎļþµÄÃû³Æ¼°´óС
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
3¡¢²é¿´»Ø¹ö¶ÎÃû³Æ¼°´óС
select segment_name, tablespace_name, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
max_extents, v.curext CurExtent
from dba_rollback_segs r, v$rollstat v
Where r.segment_id = v.usn(+)
order by segment_name;
4¡¢²é¿´¿ØÖÆÎļþ
select name from v$controlfile;
5¡¢²é¿´ÈÕÖ¾Îļþ
select member from v$logfile;
6¡¢²é¿´±í¿Õ¼äµÄʹÓÃÇé¿ö
select sum(bytes)/(1024*1024) as free_space,tablespace_name
from dba_free_space
group by tablespace_name;
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*1 ......
³£ÓÃSQL²éѯ£º
1¡¢²é¿´±í¿Õ¼äµÄÃû³Æ¼°´óС
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
2¡¢²é¿´±í¿Õ¼äÎïÀíÎļþµÄÃû³Æ¼°´óС
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
3¡¢²é¿´»Ø¹ö¶ÎÃû³Æ¼°´óС
select segment_name, tablespace_name, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
max_extents, v.curext CurExtent
from dba_rollback_segs r, v$rollstat v
Where r.segment_id = v.usn(+)
order by segment_name;
4¡¢²é¿´¿ØÖÆÎļþ
select name from v$controlfile;
5¡¢²é¿´ÈÕÖ¾Îļþ
select member from v$logfile;
6¡¢²é¿´±í¿Õ¼äµÄʹÓÃÇé¿ö
select sum(bytes)/(1024*1024) as free_space,tablespace_name
from dba_free_space
group by tablespace_name;
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*1 ......
oracleÖеÄBLOB×Ö¶ÎÊÇ´æ´¢2½øÖƵÄÎļþ£¬±ÈÈçÎļþ£¬Í¼Æ¬µÈ¡£
1¡¢°Ñ±¾µØÎļþдÈëÊý¾Ý¿â
package com.data;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class WriteBlob {
/**
* beckham 2009-12-7 ÏÂÎç09:47:36
*/
public static void main(String[] args) throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url = "jdbc:oracle:thin:@localhost:1521:menhu";
String user = "zm";
String password = "zm";
Connection conn = DriverManager.getConnection(url, user, password);
// ÉèÖÃÊÖ¶¯Ìá½»
conn.setAutoCommit(false);
Statement sta = null;
ResultSet rs = null;
PreparedStatement ps = null;
// ²åÈë¿ÕÖµ
String sql = "insert into mytest values(3,empty_blob()) ";
sta = conn.createStatement();
sta.executeUpdate(sql);
conn.commit( ......
oracleÖеÄBLOB×Ö¶ÎÊÇ´æ´¢2½øÖƵÄÎļþ£¬±ÈÈçÎļþ£¬Í¼Æ¬µÈ¡£
1¡¢°Ñ±¾µØÎļþдÈëÊý¾Ý¿â
package com.data;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class WriteBlob {
/**
* beckham 2009-12-7 ÏÂÎç09:47:36
*/
public static void main(String[] args) throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url = "jdbc:oracle:thin:@localhost:1521:menhu";
String user = "zm";
String password = "zm";
Connection conn = DriverManager.getConnection(url, user, password);
// ÉèÖÃÊÖ¶¯Ìá½»
conn.setAutoCommit(false);
Statement sta = null;
ResultSet rs = null;
PreparedStatement ps = null;
// ²åÈë¿ÕÖµ
String sql = "insert into mytest values(3,empty_blob()) ";
sta = conn.createStatement();
sta.executeUpdate(sql);
conn.commit( ......
ϵͳҪÇó£º
¡¡¡¡ÄÚ´æ£ºÍÆ¼ö1G
¡¡¡¡Swap·ÖÇø£ºÉèΪÄÚ´æµÄ2±¶
¡¡¡¡/tmp´ÅÅ̿ռ䣺400MBÒÔÉÏÈý
¡¡¡¡´ÅÅ̿ռ䣺Èí¼þ3.5G Êý¾Ý1.2G
¡¡¡¡ËùÐèÈí¼þ£º
¡¡¡¡SuSE Linux10 for x86
¡¡¡¡Oracle database 10gR2 for Linux32
¡¡¡¡Orarun-1.8-109.15.i586.rpmÈí¼þ°ü£¬¿ÉÒÔ´Óhttp://Ftp.novell.com/partners/Oracle/sels-9ÏÂÔØ
£¨ÓÉÓÚsuse linux 10¼º¾oracleÈÏÖ¤£¬ËùÒÔorarun rpm°üºÍ°²×°Êý¾Ý¿âËùÓõ½µÄ×鼺¾ºÍϵͳĬÈϰ²×°¸øÓû§ ÁË£¬µ±È»ÊÇÄãÑ¡ÔñÕâ¸ö²ÅÓÐµÄ add by warden2010)
¡¡¡¡°²×°²½Ö裺
¡¡¡¡1¡¢°²×°SuSE
¡¡¡¡°²×°SuSEÒ»¶¨È·±£°²×°“C/C++Compiler and Tools”Èí¼þ°ü¡£
¡¡¡¡# gcc –version ²é¿´ÊÇ·ñ°²×°¸ÃÈí¼þ°ü
¡¡¡¡2¡¢°²×°ËùÐèÈí¼þ°ü
¡¡¡¡°²×°orarunÈí¼þ°ü
¡¡¡¡#rpm –ivh orarun-1.8-109.15.i586.rpm
¡¡¡¡°²×°libaioºÍlibaio-develÈí¼þ°ü£¬ÕâÁ½¸öÈí¼þ°ü¿ÉÒÔÔÚSuSE Linux DISK4ÖÐÕÒµ½
¡¡¡¡#rpm –ivh orarun-1.8-109.15.i586.rpm
¡¡¡¡#rpm –ivh libaio-devel-0.3.104-3.i586.rpm
3¡¢OracleÓû§ÉèÖÃ
¡¡¡¡µ±orarunÈí¼þ°ü°²×°Ê±£¬»á×Ô¶¯½¨Á¢ÃûΪOracleµÄÓû§£¬ºÍÒ»¸öoinstall×é¡£ÎÒÃÇÖ»ÐèÒª½ ......
ϵͳҪÇó£º
¡¡¡¡ÄÚ´æ£ºÍÆ¼ö1G
¡¡¡¡Swap·ÖÇø£ºÉèΪÄÚ´æµÄ2±¶
¡¡¡¡/tmp´ÅÅ̿ռ䣺400MBÒÔÉÏÈý
¡¡¡¡´ÅÅ̿ռ䣺Èí¼þ3.5G Êý¾Ý1.2G
¡¡¡¡ËùÐèÈí¼þ£º
¡¡¡¡SuSE Linux10 for x86
¡¡¡¡Oracle database 10gR2 for Linux32
¡¡¡¡Orarun-1.8-109.15.i586.rpmÈí¼þ°ü£¬¿ÉÒÔ´Óhttp://Ftp.novell.com/partners/Oracle/sels-9ÏÂÔØ
£¨ÓÉÓÚsuse linux 10¼º¾oracleÈÏÖ¤£¬ËùÒÔorarun rpm°üºÍ°²×°Êý¾Ý¿âËùÓõ½µÄ×鼺¾ºÍϵͳĬÈϰ²×°¸øÓû§ ÁË£¬µ±È»ÊÇÄãÑ¡ÔñÕâ¸ö²ÅÓÐµÄ add by warden2010)
¡¡¡¡°²×°²½Ö裺
¡¡¡¡1¡¢°²×°SuSE
¡¡¡¡°²×°SuSEÒ»¶¨È·±£°²×°“C/C++Compiler and Tools”Èí¼þ°ü¡£
¡¡¡¡# gcc –version ²é¿´ÊÇ·ñ°²×°¸ÃÈí¼þ°ü
¡¡¡¡2¡¢°²×°ËùÐèÈí¼þ°ü
¡¡¡¡°²×°orarunÈí¼þ°ü
¡¡¡¡#rpm –ivh orarun-1.8-109.15.i586.rpm
¡¡¡¡°²×°libaioºÍlibaio-develÈí¼þ°ü£¬ÕâÁ½¸öÈí¼þ°ü¿ÉÒÔÔÚSuSE Linux DISK4ÖÐÕÒµ½
¡¡¡¡#rpm –ivh orarun-1.8-109.15.i586.rpm
¡¡¡¡#rpm –ivh libaio-devel-0.3.104-3.i586.rpm
3¡¢OracleÓû§ÉèÖÃ
¡¡¡¡µ±orarunÈí¼þ°ü°²×°Ê±£¬»á×Ô¶¯½¨Á¢ÃûΪOracleµÄÓû§£¬ºÍÒ»¸öoinstall×é¡£ÎÒÃÇÖ»ÐèÒª½ ......
µ±Ê¹ÓÃ'for update' Ôì³É±íËø×¡ÁË.¿ÉÒÔÓÃDBAµÇ½°´ÕÕÏÂÃæ²½Öè:
1.²é¿´Äĸö±í±»Ëø:
select b.owner,b.object_name,l.session_id,l.locked_mode
from v$locked_object l, dba_objects b
where b.object_id=l.object_id;
2.²é¿´±»Ëø±íµÄsid ºÍserial# :
select t2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time;
3.Ö´ÐÐÏÂÃæµÄÓï¾ä:
alter system kill session 'sid,serial#';
......
ORACLEÊý¾Ý¿âµÄÈÕÖ¾Îļþ$ORACLE_BASE/admin/orasid/bdump/alert_orasid.log¼Ç¼ÁËÖØ×÷ÈÕÖ¾µÄת»»£¬
Êý¾Ý¿âÆô¶¯ºÍ¹Ø±Õ£¬Êý¾Ý¿â½á¹¹µÄ¸Ä±ä£¬»ØÍ˶εÄÐ޸ģ¬ËÀËø£¬ÄÚ²¿´íÎóµÈÐÅÏ¢.
Êý¾Ý¿â¹ÜÀíÔ±ÐèÒª¼ì²éÕâ¸öÎļþÓÐÎÞORA-´íÎó²¢¶¨ÆÚµØ¶ÔÕâ¸öÈÕÖ¾Îļþ½øÐд浵ÕûÀí¡£
ÔÚUNIXÏ¿ÉÒÔÓÃgrepÃüÁî°Ñalert_orasid.logÀï³öÏֵĴíÎó±£´æµ½ÁíÒ»¸öÎļþ¡£È»ºóÈ¥ÕÒÔÒò¡£
$grep ORA- alert_orasid.log > error.log
´ó¼Ò¶¼ÖªµÀ£¬ÎļþÔ½´ó£¬Æä´ò¿ªºÍ¶ÁдµÄ¿ªÏúÔ½´ó¡£Èç¹ûÈÕÖ¾ÎļþÌ«´óÁË(³¬¹ý5M), ÐèÒª¶ÔËü½Ø¶Ï´¦Àí¡£
Ö±½Óɾ³ýËü£¬ÈÃORACLEÖØÐÂÉú³É²»ÊǺõķ½·¨¡£ÒòΪORACLEÊÇͨ¹ýÒ»¸öÖ¸ÏòÎļþµÄÖ¸Õë½øÐÐд²Ù×÷¡£
ÔÚÊý¾Ý¿âÔËÐÐʱɾ³ýÁËÕâ¸öÎļþ, ORACLEÈÔÈ»ÓÃÔÀ´µÄÎļþÖ¸Õë½øÐÐд²Ù×÷£¬ÓпÉÄÜдһ¸ö²»´æÔÚµÄÎļþ
µ¼ÖÂÓ²Å̿ռäÕ¼Óá£
ÎÒÃÇÒª²ÉÓÃÒÔÏµķ½·¨£º
$tail -100 $ORACLE_BASE/admin/ ......