Oracle µÄÉú²ú¿â¶¼ÊÇÆô¶¯Ôڹ鵵ģʽÏ£¬RACϹ鵵·Ç¹éµµµÄÇл»ºÍµ¥ÊµÀýÒ²ÊÇÒ»ÑùµÄ£¬¶¼ÊÇÔÚMOUNTģʽÏÂÖ´ÐÐALTER DATABASE ARCHIVELOG/NOARCHIVELOG;ÃüÁî¡£ ²»Í¬µÄÊÇ£ºRAC»·¾³ÏÂËùÓÐʵÀý¶¼±ØÐë´¦ÓÚ·ÇOPEN״̬£¬È»ºóÔÚÈÎÒâÒ»¸ö´¦ÓÚMOUNT״̬µÄʵÀýÖ´ÐÐALTER DATABASEÃüÁ²Ù×÷³É¹¦ºó£¬ÔÙÕý³£Æô¶¯ÆäËüʵÀý¼´¿É¡£
×¢Ò⣺RACÊý¾Ý¿âÓÉÓÚÓµÓжà¸öʵÀý£¬Òª×¢Òâÿ¸öʵÀýÏà¹Ø³õʼ»¯²ÎÊý£ºLOG_ARCHIVE_DEST_nµÄÉèÖã¬Îñ±ØÐèҪȷ±£¸Ã²ÎÊýÉèÖõÄ·¾¶ºÏ·¨ÓÐЧ£¬¹éµµÒ²ÄÜ˳Àû½øÐС£
Çл»Ê¾Àý£º
[oracle@raw1 dbs]$ export ORACLE_SID=raw1
[oracle@raw1 dbs]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Apr 19 16:17:43 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> archive log list
Database log mode & ......
Ò»¡¢ ³£ÓÃÈÕÆÚÊý¾Ý¸ñʽ
1.Y»òYY»òYYY ÄêµÄ×îºóһ룬Á½Î»»òÈýλ
SQL> Select to_char(sysdate,'Y') from dual;
TO_CHAR(SYSDATE,'Y')
--------------------
7
SQL> Select to_char(sysdate,'YY') from dual;
TO_CHAR(SYSDATE,'YY')
---------------------
07
SQL> Select to_char(sysdate,'YYY') from dual;
TO_CHAR(SYSDATE,'YYY')
----------------------
007
2.Q ¼¾¶È 1¡«3ÔÂΪµÚÒ»¼¾¶È£¬2±íʾµÚ¶þ¼¾¶È¡£
SQL> Select to_char(sysdate,'Q') from dual;
TO_CHAR(SYSDATE,'Q')
--------------------
2
3.MM Ô·ÝÊý
SQL> Select to_char(sysdate,'MM') from dual;
TO_CHAR(SYSDATE,'MM')
---------------------
05
4.RM Ô·ݵÄÂÞÂí±íʾ £¨VÔÚÂÞÂíÊý×ÖÖбíʾ 5£©
SQL> Select to_char(sysdate,'RM') from dual;
TO_CHAR(SYSDATE,'RM')
---------------------
V
5.Month ÓÃ9¸ö×Ö·û³¤¶È±íʾµÄÔ·ÝÃû
SQL> Select to_char(sysdate,'Month') from dual;
TO_CHAR(SYSDATE,'MONTH')
------------------------
5ÔÂ
6.WW µ±ÄêµÚ¼¸ÖÜ £¨2007Äê5ÔÂ29ÈÕΪ2007ÄêµÚ22ÖÜ£©
SQL> Select to_char(sysdate,'WW') from dual;
TO_ ......
15. /*+USE_CONCAT*/
¶Ô²éѯÖеÄWHEREºóÃæµÄORÌõ¼þ½øÐÐת»»ÎªUNION ALLµÄ×éºÏ²éѯ. (ã¶®°¡,ÏÈ´æ×Å)
ÀýÈç:
select /*+use_concat */ * from emp where deptno=10 OR empno=7788;
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=2 Bytes=174)
1 0 TABLE ACCESS (FULL) OF 'EMP' (Cost=2 Card=2 Bytes=174)
16. /*+NO_EXPAND*/
¶ÔÓÚWHEREºóÃæµÄOR »òÕßIN-LISTµÄ²éѯÓï¾ä,
NO_EXPAND½«×èÖ¹Æä»ùÓÚÓÅ»¯Æ÷¶ÔÆä½øÐÐÀ©Õ¹.
SELECT /*+NO_EXPAND*/ * from EMP WHERE DEPTNO=10 AND job='MANAGER';
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=87)
1 0 TABLE ACCESS (FULL) OF 'EMP' (Cost=2 Card=1 Bytes=87)
17. /*+NOWRITE*/
½ûÖ¹¶Ô²éѯ¿éµÄ²éÑ¯ÖØÐ´²Ù×÷.
18. /*+ ......
ÐÞ¸Äoracle 10gµÄ×Ö·û¼¯
ÐÞ¸ÄÊý¾Ý¿â×Ö·û¼¯Îª£ºZHS16GBK
Ê×ÏÈÓÃscott&tiger&orclµÇ¼µ½sql/plus
²é¿´·þÎñÆ÷¶Ë×Ö·û¼¯
SQL > select * from
V$NLS_PARAMETERS;
Ð޸ģº
$sqlplus /nolog
SQL>conn / as sysdba
Èô
´ËʱÊý¾Ý¿â·þÎñÆ÷ÒÑÆô¶¯£¬ÔòÏÈÖ´ÐÐ SHUTDOWN IMMEDIATE Ãü
Áî¹Ø±ÕÊý¾Ý¿â·þÎñÆ÷£¬È»ºóÖ´ÐÐÒÔÏÂÃüÁî:
SQL>shutdown
immediate
SQL>STARTUP MOUNT
SQL>ALTER SYSTEM ENABLE
RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER
SYSTEM SET AQ_TM_PROCESSES=0;
SQL>ALTER DATABASE OPEN;
SQL>ALTER
DATABASE CHARACTER SET ZHS16GBK
*
ERROR at line 1:
ORA-12721:
operation cannot execute when other sessions are active
Èô³öÏÖÉÏÃæµÄ´íÎó£¬Ê¹ÓÃÏÂÃæ
µÄ°ì·¨½øÐÐÐ޸ģ¬Ê¹ÓÃINTERNAL_USE¿ÉÒÔÌø¹ý³¬¼¯µÄ¼ì²é£º
SQL>ALTER DATABASE CHARACTER SET
INTERNAL_USE ZHS16GBK;
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP
......
1¡¢²éѯÁ½¸öÈÕÆÚÖ®¼äµÄÊý¾Ý¡£
¼ÙÉèÓбíTable1£¬Æä´´½¨±íµÄsqlÓï¾äΪ£º
create table Table1(
StationID NUMBER(10) Primary key,
Year NUMBER(4) not null,
Month NUMBER(2) not null,
Day NUMBER(2) not null);
ÏÖÔÚÎÒÐèÒª²éÔÚ'2005-01-01'ÖÁ'2006-01-01'Ö®¼äµÄËùÓÐÊý¾Ý£¬Óöµ½µÄÖ÷ÒªÎÊÌâÊÇ£º±íTable1ÖеÄÈÕÆÚÐÅÏ¢·Ö±ð´æ·ÅÔÚÈý¸ö×Ö¶Î(Year,Month,Day)ÖУ¬ÔõÑùʵÏÖÕâÒ»²éÑ¯ÄØ£¿
´ð°¸ÈçÏ£º
SQL>select * from Table1 where to_date(concat(concat(concat(concat(year,'-'),lpad(month,2,0)),'-'),lpad(DAY,2,0)),'yyyy-mm-dd')
between to_date('2005-01-01','yyyy-mm-dd') and to_date('2006-01-01','yyyy-mm-dd');
´ð°¸½âÊÍ£º
(1)ʹÓÃconcatº¯ÊýÁ¬½ÓYear,Month,DayÈý¸ö×ֶΣ¬´Ó¶ø¹¹ÔìÒ»¸öеÄ×Ö·û´®(°üº¬Äê¡¢Ô¡¢ÈÕÐÅÏ¢)£¬Ê¹Æä¸ñʽΪ£º'Äê-ÔÂ-ÈÕ'£»
(2)ʹÓÃlpadº¯Êý²¹×ãÔ·ݼ°ÌìÊý£¬Ê¹Ö®¶¼ÊǶþ룬ÕâÊÇÒòΪto_dateº¯ÊýµÄµÚÒ»¸ö²ÎÊýÊ ......
--ÈçºÎÓÃgrade±íµÄ×ÊÁÏÈ¥¸üÐÂusertable±íµÄ×ÊÁÏ£¨ÓйØÁªµÄ×Ö¶Îuserid£©
update usertable u set u.grade =
(select g.grade from grade g where g.userid = u.userid);
--ÈçºÎʹ²éѯ½á¹û×Ö¶ÎÉú³ÉÐòºÅ
select rownum, t.* from sm_t_pad_new t
--ÈçºÎ¿ìËÙ×öÒ»¸öºÍÔ±íÒ»ÑùµÄ±¸·Ý±í
create table new_table as (select * from user);
--ÈçºÎ²é¿´Êý¾ÝÎļþµÄ´æ·Å·¾¶
select tablespace_name, file_id, bytes/1024/1024, file_name
from dba_data_files order by file_id;
--²éѯÐÕÃûÏàͬµÄÔ±¹¤µÄÐÅÏ¢
select u1.userid, u1.username from user u1,
(select username, count(*) from user group by username having count(username) > 1) u2
where u1.username = u2.username;
--¸ù¾Ýʱ¼ä²éѯ
select * from user
where create_time >= to_date('2010-4-16 00:00:00','YYYY-MM-DD HH24:mi:ss')
and create_time <= to_date('2010-4-16 12:00:00','YYYY-MM-DD HH24:mi:ss') ......