Oracle°²È«È«½Ó´¥£¨Ï£©
¡¡·ÏòÃÜÂëÎļþÖÐÔö¼Ó¡¢É¾³ýÓû§:
¡¡¡¡µ±³õʼ»¯²ÎÊýREMOTE_LOGIN_PASSWORDFILEÉèÖÃΪEXCLUSIVEʱ£¬ÏµÍ³ÔÊÐí³ýINTERNAL/SYSÒÔÍâµÄÆäËûÓû§ÒÔ¹ÜÀíÔ±Éí·Ý´ÓÔ¶¶Ë»ò±¾»úµÇ¼µ½OracleÊý¾Ý¿âϵͳ£¬Ö´ÐÐÊý¾Ý¿â¹ÜÀí¹¤×÷;ÕâЩÓû§Ãû±ØÐë´æÔÚÓÚÃÜÂëÎļþÖУ¬ÏµÍ³²ÅÄÜʶ±ðËûÃÇ¡£ÓÉÓÚ²»¹ÜÊÇÔÚ´´½¨Êý¾Ý¿âʵÀýʱ×Ô¶¯´´½¨µÄÃÜÂëÎļþ£¬»¹ÊÇʹÓù¤¾ßORAPWD.EXEÊÖ¹¤´´½¨µÄÃÜÂëÎļþ£¬¶¼Ö»°üº¬INTERNAL/SYSÓû§µÄÐÅÏ¢;Ϊ´Ë£¬ÔÚʵ¼Ê²Ù×÷ÖУ¬¿ÉÄÜÐèÒªÏòÃÜÂëÎļþÌí¼Ó»òɾ³ýÆäËûÓû§Õʺš£
¡¡¡¡ÓÉÓÚ½ö±»ÊÚÓèSYSOPER/SYSDBAϵͳȨÏÞµÄÓû§²Å´æÔÚÓÚÃÜÂëÎļþÖУ¬ËùÒÔµ±ÏòijһÓû§ÊÚÓè»òÊÕ»ØSYSOPER/SYSDBAϵͳȨÏÞʱ£¬ËûÃǵÄÕʺÅÒ²½«ÏàÓ¦µØ±»¼ÓÈëµ½ÃÜÂëÎļþ»ò´ÓÃÜÂëÎļþÖÐɾ³ý¡£ÓÉ´Ë£¬ÏòÃÜÂëÎļþÖÐÔö¼Ó»òɾ³ýijһÓû§£¬Êµ¼ÊÉÏÒ²¾ÍÊǶÔijһÓû§ÊÚÓè»òÊÕ»ØSYSOPER/SYSDBAϵͳȨÏÞ¡£
¡¡¡¡Òª½øÐдËÏîÊÚȨ²Ù×÷£¬ÐèʹÓÃSYSDBAȨÏÞ(»òINTERNALÕʺÅ)Á¬ÈëÊý¾Ý¿â£¬ÇÒ³õʼ»¯²ÎÊýREMOTE_LOGIN_PASSWORDFILEµÄÉèÖñØÐëΪEXCLUSIVE¡£¾ßÌå²Ù×÷²½ÖèÈçÏÂ:
¡¡¡¡´´½¨ÏàÓ¦µÄÃÜÂëÎļþ;
¡¡¡¡ÉèÖóõʼ»¯²ÎÊýREMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE;
¡¡¡¡Ê¹ÓÃSYSDBAȨÏ޵Ǽ: CONNECT¡¡SYS/internal_user_passsword¡¡AS¡¡SYSDBA;
¡¡¡¡Æô¶¯Êý¾Ý¿âʵÀý²¢´ò¿ªÊý¾Ý¿â;
¡¡¡¡´´½¨ÏàÓ¦Óû§Õʺţ¬¶ÔÆäÊÚȨ(°üÀ¨SYSOPERºÍSYSDBA): ÊÚÓèȨÏÞ:GRANT¡¡SYSDBA¡¡TO¡¡user_name;
¡¡¡¡ÊÕ»ØÈ¨ÏÞ:REVOKE¡¡SYSDBA¡¡from¡¡user_name;
¡¡¡¡ÏÖÔÚÕâЩÓû§¿ÉÒÔÒÔ¹ÜÀíÔ±Éí·ÝµÇ¼Êý¾Ý¿âϵͳÁË;
¡¡¡¡·Ê¹ÓÃÃÜÂëÎļþµÇ¼:
¡¡¡¡ÓÐÁËÃÜÂëÎļþºó£¬Óû§¾Í¿ÉÒÔʹÓÃÃÜÂëÎļþÒÔSYSOPER/SYSDBAȨÏ޵ǼOracleÊý¾Ý¿âʵÀýÁË£¬×¢Òâ³õʼ»¯²ÎÊýREMOTE_LOGIN_PASSWORDFILEÓ¦ÉèÖÃΪEXCLUSIVE»òSHARED¡£ÈκÎÓû§ÒÔSYSOPER/SYSDBAµÄȨÏ޵Ǽºó£¬½«Î»ÓÚSYSÓû§µÄSchema֮ϣ¬ÒÔÏÂΪÁ½¸öµÇ¼µÄÀý×Ó:
¡¡¡¡1. ÒÔ¹ÜÀíÔ±Éí·ÝµÇ¼:
¡¡¡¡¼ÙÉèÓû§scottÒѱ»ÊÚÓèSYSDBAȨÏÞ£¬ÔòËû¿ÉÒÔʹÓÃÒÔÏÂÃüÁîµÇ¼:
¡¡¡¡CONNECT¡¡scott/tiger¡¡AS¡¡SYSDBA
¡¡¡¡2. ÒÔINTERNALÉí·ÝµÇ¼:
¡¡¡¡CONNECT¡¡INTERNAL/INTERNAL_PASSWORD
¡¡¡¡·ÃÜÂëÎļþµÄά»¤:
¡¡¡¡1. ²é¿´ÃÜÂëÎļþÖеijÉÔ±:
¡¡¡¡¿ÉÒÔͨ¹ý²éѯÊÓͼV$PWFILE_USERSÀ´»ñȡӵÓÐSYSOPER/SYSDBAϵͳȨÏÞµÄÓû§µÄÐÅÏ¢£¬±íÖÐSYSOPER/SYSDBAÁеÄȡֵTRUE/FALSE±íʾ´ËÓû§ÊÇ·ñÓµÓÐÏàÓ¦µÄȨÏÞ¡£ÕâЩÓû§Ò²¾ÍÊÇÏàÓ¦µØ´æÔÚÓÚÃÜÂëÎļþÖеijÉÔ±¡£
¡¡¡¡2. À©Õ¹ÃÜÂëÎļþµÄÓû§ÊýÁ¿:
¡¡¡¡µ±ÏòÃÜÂëÎļþÌ
Ïà¹ØÎĵµ£º
--JOBS
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT(job => X,
what => 'sp_test();',
next_date => to_date('28-04-2009 11:58:00',
'dd/mm/yyyy hh24:mi:ss'),
interval => 'SYSDATE+1');
END;
/
commit;
select to_char(sysdate-90,'yyyymmdd') from dual; --Ñ¡ÔñÈÕÆÚ
select * from ......
sqlplusµÄÅäÖÃÎļþΪlogin.sql£¬Í¨³£ÈçÏÂËùʾ´´½¨¸ÃÎļþ£º
set serveroutput on size 1000000
set trimspool on --Â˳ýspoolÊä³öµÄ¿Õ°×
set linesize 200 --ÓÃÓÚÉ趨ÿÐÐÏÔʾµÄ¿í¶È
set pagesize 9999 --ÉèÖÃÏÔʾµÄÒ³Êý
set sqlprompt '_user @ _connect_identifier> '
½«¸ÃÎļþ¸´ÖƵ½Oracle°²×°Ä¿Â¼C ......
ÈÝÒ×µÃ˵£¬¾¹ýdbms_random°üµ÷ÓÃËæ»úÊýµÄ²½Öè´óÌåÓÐ4ÖÖ£º
Ò»¡¢dbms_random.normal
Õâ¸öº¯Êý²»´ø²ÎÊý£¬»á»Øµ½normal distributionµÄÒ»¸önumberÃÅÀ֮࣬ËùÒÔ´óµÖËæ»úÊý»áÔÚ-Ò»µ½Ò»Æä¼ä¡£
¼òÂÔ²âÊÔÁËÒ»ÏÂ×Ó£¬·¢×÷100000´Î×î´óÄܵ½ÎåÉÏÏ£º
SQL> declare
¶þ i number:=Áã;
Èý j number:=Áã;
ËÄ begin
Îå for ......
oracle ĬÈϸôÀëµÈ¼¶ÊÇ£º¶ÁÒÑÌá½»¡£
²éÑ¯Ëø¶¨£¬·ÀÖ¹ÁíÍâÓû§¸üУº
select * from books for update;
µ±Ç°Óû§¸üÐÂÖ®ºó£¬ÁíÍâÓû§¿ÉÒÔ¸ü¸Ä¡£
01¡¢±íÁ¬½Ó
¼Ù¶¨from×Ó¾äÖдÓ×óµ½ÓÒÁ½¸ö±í·Ö±ðΪA£¬B±í¡£
ÄÚÁ¬½Ó£ºÑ¡È¡A¡¢B±íµÄÍêȫƥÅäµÄ¼¯ºÏ£¬Á½±í½»¼¯£º
select empno,ename,emp.deptno A,dept.deptno B,dname from emp ......
Oracle Ö÷ÒªÅäÖÃÎļþ½éÉÜ£º
profileÎļþ£¬oratab Îļþ£¬Êý¾Ý¿âʵÀý³õʼ»¯Îļþ initSID.ora£¬¼àÌýÅäÖÃÎļþ£¬ sqlnet.ora Îļþ£¬tnsnames.ora Îļþ
1.2 Oracle Ö÷ÒªÅäÖÃÎļþ½éÉÜ
1.2.1 /etc/profile Îļþ
ϵͳ¼¶µÄ»·¾³±äÁ¿Ò»°ãÔÚ/etc/p ......