文庫(kù)發(fā)布:oracle的命令大全_第1頁
文庫(kù)發(fā)布:oracle的命令大全_第2頁
文庫(kù)發(fā)布:oracle的命令大全_第3頁
文庫(kù)發(fā)布:oracle的命令大全_第4頁
文庫(kù)發(fā)布:oracle的命令大全_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Oracle的命令大全第一章:日志管理

1.forcinglogswitches

sql>;altersystemswitchlogfile;

2.forcingcheckpoints

sql>;altersystemcheckpoint;

3.addingonlineredologgroups

sql>;alterdatabaseaddlogfile[group4]

sql>;('/disk3/log4a.rdo','/disk4/log4b.rdo')size1m;

4.addingonlineredologmembers

sql>;alterdatabaseaddlogfilemember

sql>;'/disk3/log1b.rdo'togroup1,

sql>;'/disk4/log2b.rdo'togroup2;

5.changesthenameoftheonlineredologfile

sql>;alterdatabaserenamefile'c:/oracle/oradata/oradb/redo01.log'

sql>;to'c:/oracle/oradata/redo01.log';

6.droponlineredologgroups

sql>;alterdatabasedroplogfilegroup3;

7.droponlineredologmembers

sql>;alterdatabasedroplogfilemember'c:/oracle/oradata/redo01.log';

8.clearingonlineredologfiles

sql>;alterdatabaseclear[unarchived]logfile'c:/oracle/log2a.rdo';

9.usinglogmineranalyzingredologfiles

a.intheinit.oraspecifyutl_file_dir=''

b.sql>;executedbms_logmnr_d.build('oradb.ora','c:\oracle\oradb\log');

c.sql>;executedbms_logmnr_add_logfile('c:\oracle\oradata\oradb\redo01.log',

sql>;dbms_logmnr.new);

d.sql>;executedbms_logmnr.add_logfile('c:\oracle\oradata\oradb\redo02.log',

sql>;dbms_logmnr.addfile);

e.sql>;executedbms_logmnr.start_logmnr(dictfilename=>;'c:\oracle\oradb\log\oradb.ora');

f.sql>;select*fromv$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameters

sql>;v$logmnr_logs);

g.sql>;executedbms_logmnr.end_logmnr;

第二章:表空間管理

1.createtablespaces

sql>;createtablespacetablespace_namedatafile'c:\oracle\oradata\file1.dbf'size100m,

sql>;'c:\oracle\oradata\file2.dbf'size100mminimumextent550k[logging/nologging]

sql>;defaultstorage(initial500knext500kmaxextents500pctinccease0)

sql>;[online/offline][permanent/temporary][extent_management_clause]

2.locallymanagedtablespace

sql>;createtablespaceuser_datadatafile'c:\oracle\oradata\user_data01.dbf'

sql>;size500mextentmanagementlocaluniformsize10m;

3.temporarytablespace

sql>;createtemporarytablespacetemptempfile'c:\oracle\oradata\temp01.dbf'

sql>;size500mextentmanagementlocaluniformsize10m;

4.changethestoragesetting

sql>;altertablespaceapp_dataminimumextent2m;

sql>;altertablespaceapp_datadefaultstorage(initial2mnext2mmaxextents999);

5.takingtablespaceofflineoronline

sql>;altertablespaceapp_dataoffline;

sql>;altertablespaceapp_dataonline;

6.read_onlytablespace

sql>;altertablespaceapp_datareadonly|write;

7.dropingtablespace

sql>;droptablespaceapp_dataincludingcontents;

8.enableingautomaticextensionofdatafiles

sql>;altertablespaceapp_dataadddatafile'c:\oracle\oradata\app_data01.dbf'size200m

sql>;autoextendonnext10mmaxsize500m;

9.changethesizefodatafilesmanually

sql>;alterdatabasedatafile'c:\oracle\oradata\app_data.dbf'resize200m;

10.Movingdatafiles:altertablespace

sql>;altertablespaceapp_datarenamedatafile'c:\oracle\oradata\app_data.dbf'

sql>;to'c:\oracle\app_data.dbf';

11.movingdatafiles:alterdatabase

sql>;alterdatabaserenamefile'c:\oracle\oradata\app_data.dbf'

sql>;to'c:\oracle\app_data.dbf';

第三章:表

1.createatable

sql>;createtabletable_name(columndatatype,columndatatype]....)

sql>;tablespacetablespace_name[pctfreeinteger][pctusedinteger]

sql>;[initransinteger][maxtransinteger]

sql>;storage(initial200knext200kpctincrease0maxextents50)

sql>;[logging|nologging][cache|nocache]

2.copyanexistingtable

sql>;createtabletable_name[logging|nologging]assubquery

3.createtemporarytable

sql>;createglobaltemporarytablexay_tempasselect*fromxay;

oncommitpreserverows/oncommitdeleterows

4.pctfree=(averagerowsize-initialrowsize)*100/averagerowsize

pctused=100-pctfree-(averagerowsize*100/availabledataspace)

5.changestorageandblockutilizationparameter

sql>;altertabletable_namepctfree=30pctused=50storage(next500k

sql>;minextents2maxextents100);

6.manuallyallocatingextents

sql>;altertabletable_nameallocateextent(size500kdatafile'c:/oracle/data.dbf');

7.movetablespace

sql>;altertableemployeemovetablespaceusers;

8.deallocateofunusedspace

sql>;altertabletable_namedeallocateunused[keepinteger]

9.truncateatable

sql>;truncatetabletable_name;

10.dropatable

sql>;droptabletable_name[cascadeconstraints];

11.dropacolumn

sql>;altertabletable_namedropcolumncommentscascadeconstraintscheckpoint1000;

altertabletable_namedropcolumnscontinue;

12.markacolumnasunused

sql>;altertabletable_namesetunusedcolumncommentscascadeconstraints;

altertabletable_namedropunusedcolumnscheckpoint1000;

altertableordersdropcolumnscontinuecheckpoint1000

data_dictionary:dba_unused_col_tabs

第四章:索引

1.creatingfunction-basedindexes

sql>;createindexsummit.item_quantityonsummit.item(quantity-quantity_shipped);

2.createaB-treeindex

sql>;create[unique]indexindex_nameontable_name(column,..asc/desc)tablespace

sql>;tablespace_name[pctfreeinteger][initransinteger][maxtransinteger]

sql>;[logging|nologging][nosort]storage(initial200knext200kpctincrease0

sql>;maxextents50);

3.pctfree(index)=(maximumnumberofrows-initialnumberofrows)*100/maximumnumberofrows

4.creatingreversekeyindexes

sql>;createuniqueindexxay_idonxay(a)reversepctfree30storage(initial200k

sql>;next200kpctincrease0maxextents50)tablespaceindx;

5.createbitmapindex

sql>;createbitmapindexxay_idonxay(a)pctfree30storage(initial200knext200k

sql>;pctincrease0maxextents50)tablespaceindx;

6.changestorageparameterofindex

sql>;alterindexxay_idstorage(next400kmaxextents100);

7.allocatingindexspace

sql>;alterindexxay_idallocateextent(size200kdatafile'c:/oracle/index.dbf');

8.alterindexxay_iddeallocateunused;

第五章:約束

1.defineconstraintsasimmediateordeferred

sql>;altersessionsetconstraint[s]=immediate/deferred/default;

setconstraint[s]constraint_name/allimmediate/deferred;

2.sql>;droptabletable_namecascadeconstraints

sql>;droptablespacetablespace_nameincludingcontentscascadeconstraints

3.defineconstraintswhilecreateatable

sql>;createtablexay(idnumber(7)constraintxay_idprimarykeydeferrable

sql>;usingindexstorage(initial100knext100k)tablespaceindx);

primarykey/unique/referencestable(column)/check

4.enableconstraints

sql>;altertablexayenablenovalidateconstraintxay_id;

5.enableconstraints

sql>;altertablexayenablevalidateconstraintxay_id;

第六章:LOAD數(shù)據(jù)

1.loadingdatausingdirect_loadinsert

sql>;insert/*+append*/intoempnologging

sql>;select*fromemp_old;

2.paralleldirect-loadinsert

sql>;altersessionenableparalleldml;

sql>;insert/*+parallel(emp,2)*/intoempnologging

sql>;select*fromemp_old;

3.usingsql*loader

sql>;sqlldrscott/tiger\

sql>;control=ulcase6.ctl\

sql>;log=ulcase6.logdirect=true

第七章:reorganizingdata

1.usingexpoty

$expscott/tigertables(dept,emp)file=c:\emp.dmplog=exp.logcompress=ndirect=y

2.usingimport

$impscott/tigertables(dept,emp)file=emp.dmplog=imp.logignore=y

3.transportingatablespace

sql>;altertablespacesales_tsreadonly;

$expsys/..file=xay.dmptransport_tablespace=ytablespace=sales_ts

triggers=nconstraints=n

$copydatafile

$impsys/..file=xay.dmptransport_tablespace=ydatafiles=(/disk1/sles01.dbf,/disk2

/sles02.dbf)

sql>;altertablespacesales_tsreadwrite;

4.checkingtransportset

sql>;DBMS_tts.transport_set_check(ts_list=>;'sales_ts'..,incl_constraints=>;true);

在表transport_set_violations中查看

sql>;dbms_tts.isselfcontained為true是,表示自包含

第八章:managingpasswordsecurityandresources

1.controllingaccountlockandpassword

sql>;alteruserjunckyidentifiedbyoracleaccountunlock;

2.user_providedpasswordfunction

sql>;function_name(useridinvarchar2(30),passwordinvarchar2(30),

old_passwordinvarchar2(30))returnboolean

3.createaprofile:passwordsetting

sql>;createprofilegrace_5limitfailed_login_attempts3

sql>;password_lock_timeunlimitedpassword_life_time30

sql>;password_reuse_time30password_verify_functionverify_function

sql>;password_grace_time5;

4.alteringaprofile

sql>;alterprofiledefaultfailed_login_attempts3

sql>;password_life_time60password_grace_time10;

5.dropaprofile

sql>;dropprofilegrace_5[cascade];

6.createaprofile:resourcelimit

sql>;createprofiledeveloper_proflimitsessions_per_user2

sql>;cpu_per_session10000idle_time60connect_time480;

7.view=>;resource_cost:alterresourcecost

dba_Users,dba_profiles

8.enableresourcelimits

sql>;altersystemsetresource_limit=true;

第九章:Managingusers

1.createauser:databaseauthentication

sql>;createuserjunckyidentifiedbyoracledefaulttablespaceusers

sql>;temporarytablespacetempquota10mondatapasswordexpire

sql>;[accountlock|unlock][profileprofilename|default];

2.changeuserquotaontablespace

sql>;alteruserjunckyquota0onusers;

3.dropauser

sql>;dropuserjuncky[cascade];

4.monitoruser

view:dba_users,dba_ts_quotas

第十章:managingprivileges

1.systemprivileges:view=>;system_privilege_map,dba_sys_privs,session_privs

2.grantsystemprivilege

sql>;grantcreatesession,createtabletomanagers;

sql>;grantcreatesessiontoscottwithadminoption;

withadminoptioncangrantorrevokeprivilegefromanyuserorrole;

3.sysdbaandsysoperprivileges:

sysoper:startup,shutdown,alterdatabaseopen|mount,alterdatabasebackupcontrolfile,

altertablespacebegin/endbackup,recoverdatabase

alterdatabasearchivelog,restrictedsession

sysdba:sysoperprivilegeswithadminoption,createdatabase,recoverdatabaseuntil

4.passwordfilemembers:view:=>;v$pwfile_users

5.O7_dictionary_accessibility=truerestrictionaccesstoviewortablesinotherschema

6.revokesystemprivilege

sql>;revokecreatetablefromkaren;

sql>;revokecreatesessionfromscott;

7.grantobjectprivilege

sql>;grantexecuteondbms_pipetopublic;

sql>;grantupdate(first_name,salary)onemployeetokarenwithgrantoption;

8.displayobjectprivilege:view=>;dba_tab_privs,dba_col_privs

9.revokeobjectprivilege

sql>;revokeexecuteondbms_pipefromscott[cascadeconstraints];

10.auditrecordview:=>;sys.aud$

11.protectingtheaudittrail

sql>;auditdeleteonsys.aud$byaccess;

12.statementauditing

sql>;audituser;

13.privilegeauditing

sql>;auditselectanytablebysummitbyaccess;

14.schemaobjectauditing

sql>;auditlockonsummit.employeebyaccesswheneversuccessful;

15.viewauditoption:view=>;all_def_audit_opts,dba_stmt_audit_opts,dba_priv_audit_opts,dba_obj_audit_opts

16.viewauditresult:view=>;dba_audit_trail,dba_audit_exists,dba_audit_object,dba_audit_session,dba_audit_statement

第十一章:managerrole

1.createroles

sql>;createrolesales_clerk;

sql>;createrolehr_clerkidentifiedbybonus;

sql>;createrolehr_manageridentifiedexternally;

2.modifyrole

sql>;alterrolesales_clerkidentifiedbycommission;

sql>;alterrolehr_clerkidentifiedexternally;

sql>;alterrolehr_managernotidentified;

3.assigningroles

sql>;grantsales_clerktoscott;

sql>;granthr_clerktohr_manager;

sql>;granthr_managertoscottwithadminoption;

4.establishdefaultrole

sql>;alteruserscottdefaultrolehr_clerk,sales_clerk;

sql>;alteruserscottdefaultroleall;

sql>;alteruserscottdefaultroleallexcepthr_clerk;

sql>;alteruserscottdefaultrolenone;

5.enableanddisableroles

sql>;setrolehr_clerk;

sql>;setrolesales_clerkidentifiedbycommission;

sql>;setroleallexceptsales_clerk;

sql>;setrolenone;

6.removerolefromuser

sql>;revokesales_clerkfromscott;

sql>;revokehr_managerfrompublic;

7.removerole

sql>;droprolehr_manager;

8.displayroleinformation

view:=>;dba_roles,dba_role_privs,role_role_privs,dba_sys_privs,role_sys_privs,role_tab_privs,session_roles

第十二章:BACKUPandRECOVERY

1.v$sga,v$instance,v$process,v$bgprocess,v$database,v$datafile,v$sgastat

2.Rmanneedsetdbwr_IO_slavesorbackup_tape_IO_slavesandlarge_pool_size

3.MonitoringParallelRollback

>;v$fast_start_servers,v$fast_start_transactions

4.performacloseddatabasebackup(noarchivelog)

>;shutdownimmediate

>;cpfiles/backup/

>;startup

5.restoretoadifferentlocation

>;connectsystem/managerassysdba

>;startupmount

>;alterdatabaserenamefile'/disk1/../user.dbf'to'/disk2/../user.dbf';

>;alterdatabaseopen;

6.recoversyntax

--recoveramounteddatabase

>;recoverdatabase;

>;recoverdatafile'/disk1/data/df2.dbf';

>;alterdatabaserecoverdatabase;

--recoveranopeneddatabase

>;recovertablespaceuser_data;

>;recoverdatafile2;

>;alterdatabaserecoverdatafile2;

7.howtoapplyredologfilesautomatically

>;setautorecoveryon

>;recoverautomaticdatafile4;

8.completerecovery:

--method1(mounteddatabae)

>;copyc:\backup\user.dbfc:\oradata\user.dbf

>;startupmount

>;recoverdatafile'c:\oradata\user.dbf;

>;alterdatabaseopen;

--method2(openeddatabase,initiallyopened,notsystemorrollbackdatafile)

>;copyc:\backup\user.dbfc:\oradata\user.dbf(altertablespaceoffline)

>;recoverdatafile'c:\oradata\user.dbf'or

>;recovertablespaceuser_data;

>;alterdatabasedatafile'c:\oradata\user.dbf'onlineor

>;altertablespaceuser_dataonline;

--method3(openeddatabase,initiallyclosednotsystemorrollbackdatafile)

>;startupmount

>;alterdatabasedatafile'c:\oradata\user.dbf'offline;

>;alterdatabaseopen

>;copyc:\backup\user.dbfd:\oradata\user.dbf

>;alterdatabaserenamefile'c:\oradata\user.dbf'to'd:\oradata\user.dbf'

>;recoverdatafile'e:\oradata\user.dbf'orrecovertablespaceuser_data;

>;altertablespaceuser_dataonline;

--method4(lossofdatafilewithnobackupandhaveallarchivelog)

>;altertablespaceuser_dataofflineimmediate;

>;alterdatabasecreatedatafile'd:\oradata\user.dbf'as'c:\oradata\user.dbf''

>;recovertablespaceuser_data;

>;altertablespaceuser_dataonline

5.performanopendatabasebackup

>;altertablespaceuser_databeginbackup;

>;copyfiles/backup/

>;alterdatabasedatafile'/c:/../data.dbf'endbackup;

>;altersystemswitchlogfile;

6.backupacontrolfile

>;alterdatabasebackupcontrolfileto'control1.bkp';

>;alterdatabasebackupcontrolfiletotrace;

7.recovery(noarchivelogmode)

>;shutdownabort

>;cpfiles

>;startup

8.recoveryoffileinbackupmode

>;alterdatabasedatafile2endbackup;

9.clearingredologfile

>;alterdatabaseclearunarchivedlogfilegroup1;

>;alterdatabaseclearunarchivedlogfilegroup1unrecoverabledatafile;

10.redologrecovery

>;alterdatabaseaddlogfilegroup3'c:\oradata\redo03.log'size1000k;

>;alterdatabasedroplogfilegroup1;

>;alterdatabaseopen;

or>;cpc:\oradata\redo02.log'c:\oradata\redo01.log

>;alterdatabaseclearlogfile'c:\oradata\log01.log';oracle命令大全一、ORACLE的啟動(dòng)和關(guān)閉

1、在單機(jī)環(huán)境下

要想啟動(dòng)或關(guān)閉ORACLE系統(tǒng)必須首先切換到ORACLE用戶,如下

su-oracle

a、啟動(dòng)ORACLE系統(tǒng)

oracle>svrmgrl

SVRMGR>connectinternal

SVRMGR>startup

SVRMGR>quit

b、關(guān)閉ORACLE系統(tǒng)

oracle>svrmgrl

SVRMGR>connectinternal

SVRMGR>shutdown

SVRMGR>quit

啟動(dòng)oracle9i數(shù)據(jù)庫(kù)命令:

$sqlplus/nolog

SQL*Plus:Release.0-ProductiononFriOct3113:53:532003

Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.

SQL>connect/assysdba

Connectedtoanidleinstance.

SQL>startup^C

SQL>startup

ORACLEinstancestarted.

2、在雙機(jī)環(huán)境下

要想啟動(dòng)或關(guān)閉ORACLE系統(tǒng)必須首先切換到root用戶,如下

su-root

a、啟動(dòng)ORACLE系統(tǒng)

hareg-yoracle

b、關(guān)閉ORACLE系統(tǒng)

hareg-noracle

Oracle數(shù)據(jù)庫(kù)有哪幾種啟動(dòng)方式

說明:

有以下幾種啟動(dòng)方式:

1、startupnomount

非安裝啟動(dòng),這種方式啟動(dòng)下可執(zhí)行:重建控制文件、重建數(shù)據(jù)庫(kù)

讀取init.ora文件,啟動(dòng)instance,即啟動(dòng)SGA和后臺(tái)進(jìn)程,這種啟動(dòng)只需要init.ora文件。

2、startupmountdbname

安裝啟動(dòng),這種方式啟動(dòng)下可執(zhí)行:

數(shù)據(jù)庫(kù)日志歸檔、

數(shù)據(jù)庫(kù)介質(zhì)恢復(fù)、

使數(shù)據(jù)文件聯(lián)機(jī)或脫機(jī),

重新定位數(shù)據(jù)文件、重做日志文件。

執(zhí)行“nomount”,然后打開控制文件,確認(rèn)數(shù)據(jù)文件和聯(lián)機(jī)日志文件的位置,

但此時(shí)不對(duì)數(shù)據(jù)文件和日志文件進(jìn)行校驗(yàn)檢查。

3、startupopendbname

先執(zhí)行“nomount”,然后執(zhí)行“mount”,再打開包括Redolog文件在內(nèi)的所有數(shù)據(jù)庫(kù)文件,

這種方式下可訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

4、startup,等于以下三個(gè)命令

startupnomount

alterdatabasemount

alterdatabaseopen

5、startuprestrict

約束方式啟動(dòng)

這種方式能夠啟動(dòng)數(shù)據(jù)庫(kù),但只允許具有一定特權(quán)的用戶訪問

非特權(quán)用戶訪問時(shí),會(huì)出現(xiàn)以下提示:

ERROR:

ORA-01035:ORACLE只允許具有RESTRICTEDSESSION權(quán)限的用戶使用

6、startupforce

強(qiáng)制啟動(dòng)方式

當(dāng)不能關(guān)閉數(shù)據(jù)庫(kù)時(shí),可以用startupforce來完成數(shù)據(jù)庫(kù)的關(guān)閉

先關(guān)閉數(shù)據(jù)庫(kù),再執(zhí)行正常啟動(dòng)數(shù)據(jù)庫(kù)命令

7、startuppfile=參數(shù)文件名

帶初始化參數(shù)文件的啟動(dòng)方式

先讀取參數(shù)文件,再按參數(shù)文件中的設(shè)置啟動(dòng)數(shù)據(jù)庫(kù)

例:startuppfile=E:Oracleadminoradbpfileinit.ora

8、startupEXCLUSIVE

二、用戶如何有效地利用數(shù)據(jù)字典

ORACLE的數(shù)據(jù)字典是數(shù)據(jù)庫(kù)的重要組成部分之一,它隨著數(shù)據(jù)庫(kù)的產(chǎn)生而產(chǎn)生,隨著數(shù)據(jù)庫(kù)的變化而變化,

體現(xiàn)為sys用戶下的一些表和視圖。數(shù)據(jù)字典名稱是大寫的英文字符。

數(shù)據(jù)字典里存有用戶信息、用戶的權(quán)限信息、所有數(shù)據(jù)對(duì)象信息、表的約束條件、統(tǒng)計(jì)分析數(shù)據(jù)庫(kù)的視圖等。

我們不能手工修改數(shù)據(jù)字典里的信息。

很多時(shí)候,一般的ORACLE用戶不知道如何有效地利用它。

dictionary全部數(shù)據(jù)字典表的名稱和解釋,它有一個(gè)同義詞dict

dict_column全部數(shù)據(jù)字典表里字段名稱和解釋

如果我們想查詢跟索引有關(guān)的數(shù)據(jù)字典時(shí),可以用下面這條SQL語句:

SQL>select*fromdictionarywhereinstr(comments,'index')>0;

如果我們想知道user_indexes表各字段名稱的詳細(xì)含義,可以用下面這條SQL語句:

SQL>selectcolumn_name,commentsfromdict_columnswheretable_name='USER_INDEXES';

依此類推,就可以輕松知道數(shù)據(jù)字典的詳細(xì)名稱和解釋,不用查看ORACLE的其它文檔資料了。

下面按類別列出一些ORACLE用戶常用數(shù)據(jù)字典的查詢使用方法。

1、用戶

查看當(dāng)前用戶的缺省表空間

SQL>selectusername,default_tablespacefromuser_users;

查看當(dāng)前用戶的角色

SQL>select*fromuser_role_privs;

查看當(dāng)前用戶的系統(tǒng)權(quán)限和表級(jí)權(quán)限

SQL>select*fromuser_sys_privs;

SQL>select*fromuser_tab_privs;

2、表

查看用戶下所有的表

SQL>select*fromuser_tables;

查看名稱包含log字符的表

SQL>selectobject_name,object_idfromuser_objects

whereinstr(object_name,'LOG')>0;

查看某表的創(chuàng)建時(shí)間

SQL>selectobject_name,createdfromuser_objectswhereobject_name=upper('&table_name');

查看某表的大小

SQL>selectsum(bytes)/(1024*1024)as"size(M)"fromuser_segments

wheresegment_name=upper('&table_name');

查看放在ORACLE的內(nèi)存區(qū)里的表

SQL>selecttable_name,cachefromuser_tableswhereinstr(cache,'Y')>0;

3、索引

查看索引個(gè)數(shù)和類別

SQL>selectindex_name,index_type,table_namefromuser_indexesorderbytable_name;

查看索引被索引的字段

SQL>select*fromuser_ind_columnswhereindex_name=upper('&index_name');

查看索引的大小

SQL>selectsum(bytes)/(1024*1024)as"size(M)"fromuser_segments

wheresegment_name=upper('&index_name');

4、序列號(hào)

查看序列號(hào),last_number是當(dāng)前值

SQL>select*fromuser_sequences;

5、視圖

查看視圖的名稱

SQL>selectview_namefromuser_views;

查看創(chuàng)建視圖的select語句

SQL>setview_name,text_lengthfromuser_views;

SQL>setlong2000;說明:可以根據(jù)視圖的text_length值設(shè)定setlong的大小

SQL>selecttextfromuser_viewswhereview_name=upper('&view_name');

6、同義詞

查看同義詞的名稱

SQL>select*fromuser_synonyms;

7、約束條件

查看某表的約束條件

SQL>selectconstraint_name,constraint_type,search_condition,r_constraint_name

fromuser_constraintswheretable_name=upper('&table_name');

SQL>selectc.constraint_name,c.constraint_type,cc.column_name

fromuser_constraintsc,user_cons_columnscc

wherec.owner=upper('&table_owner')andc.table_name=upper('&table_name')

andc.owner=cc.ownerandc.constraint_name=cc.constraint_name

orderbycc.position;

8、存儲(chǔ)函數(shù)和過程

查看函數(shù)和過程的狀態(tài)

SQL>selectobject_name,statusfromuser_objectswhereobject_type='FUNCTION';

SQL>selectobject_name,statusfromuser_objectswhereobject_type='PROCEDURE';

查看函數(shù)和過程的源代碼

SQL>selecttextfromall_sourcewhereowner=userandname=upper('&plsql_name');

三、查看數(shù)據(jù)庫(kù)的SQL

1、查看表空間的名稱及大小

selectt.tablespace_name,round(sum(bytes/(1024*1024)),0)ts_size

fromdba_tablespacest,dba_data_filesd

wheret.tablespace_name=d.tablespace_name

groupbyt.tablespace_name;

2、查看表空間物理文件的名稱及大小

selecttablespace_name,file_id,file_name,

round(bytes/(1024*1024),0)total_space

fromdba_data_files

orderbytablespace_name;

3、查看回滾段名稱及大小

selectsegment_name,tablespace_name,r.status,

(initial_extent/1024)InitialExtent,(next_extent/1024)NextExtent,

max_extents,v.curextCurExtent

Fromdba_rollback_segsr,v$rollstatv

Wherer.segment_id=v.usn(+)

orderbysegment_name;

4、查看控制文件

selectnamefromv$controlfile;

5、查看日志文件

selectmemberfromv$logfile;

6、查看表空間的使用情況

selectsum(bytes)/(1024*1024)asfree_space,tablespace_name

fromdba_free_space

groupbytablespace_name;

SELECTA.TABLESPACE_NAME,A.BYTESTOTAL,B.BYTESUSED,C.BYTESFREE,

(B.BYTES*100)/A.BYTES"%USED",(C.BYTES*100)/A.BYTES"%FREE"

FROMSYS.SM$TS_AVAILA,SYS.SM$TS_USEDB,SYS.SM$TS_FREEC

WHEREA.TABLESPACE_NAME=B.TABLESPACE_NAMEANDA.TABLESPACE_NAME=C.TABLESPACE_NAME;

7、查看數(shù)據(jù)庫(kù)庫(kù)對(duì)象

selectowner,object_type,status,count(*)count#fromall_objectsgroupbyowner,object_type,status;

8、查看數(shù)據(jù)庫(kù)的版本

SelectversionFROMProduct_component_version

WhereSUBSTR(PRODUCT,1,6)='Oracle';

9、查看數(shù)據(jù)庫(kù)的創(chuàng)建日期和歸檔方式

SelectCreated,Log_Mode,Log_ModeFromV$Database;

四、ORACLE用戶連接的管理

用系統(tǒng)管理員,查看當(dāng)前數(shù)據(jù)庫(kù)有幾個(gè)用戶連接:

SQL>selectusername,sid,serial#fromv$session;

如果要停某個(gè)連接用

SQL>altersystemkillsession'sid,serial#';

如果這命令不行,找它UNIX的進(jìn)程數(shù)

SQL>selectpro.spidfromv$sessionses,v$processprowhereses.sid=21andses.paddr=pro.addr;

說明:21是某個(gè)連接的sid數(shù)

然后用kill命令殺此進(jìn)程號(hào)。

五、SQL*PLUS使用

a、近入SQL*Plus

$sqlplus用戶名/密碼

退出SQL*Plus

SQL>exit

b、在sqlplus下得到幫助信息

列出全部SQL命令和SQL*Plus命令

SQL>help

列出某個(gè)特定的命令的信息

SQL>help命令名

c、顯示表結(jié)構(gòu)命令DESCRIBE

SQL>DESC表名

d、SQL*Plus中的編輯命令

顯示SQL緩沖區(qū)命令

SQL>L

修改SQL命令

首先要將待改正行變?yōu)楫?dāng)前行

SQL>n

用CHANGE命令修改內(nèi)容

SQL>c/舊/新

重新確認(rèn)是否已正確

SQL>L

使用INPUT命令可以在SQL緩沖區(qū)中增加一行或多行

SQL>i

SQL>輸入內(nèi)容

e、調(diào)用外部系統(tǒng)編輯器

SQL>edit文件名

可以使用DEFINE命令設(shè)置系統(tǒng)變量EDITOR來改變文本編輯器的類型,在login.sql文件中定義如下一行

DEFINE_EDITOR=vi

f、運(yùn)行命令文件

SQL>STARTtest

SQL>@test

常用SQL*Plus語句

a、表的創(chuàng)建、修改、刪除

創(chuàng)建表的命令格式如下:

createtable表名(列說明列表);

為基表增加新列命令如下:

ALTERTABLE表名ADD(列說明列表)

例:為test表增加一列Age,用來存放年齡

sql>altertabletest

add(Agenumber(3));

修改基表列定義命令如下:

ALTERTABLE表名

MODIFY(列名數(shù)據(jù)類型)

例:將test表中的Count列寬度加長(zhǎng)為10個(gè)字符

sql>alteratbletest

modify(Countychar(10));

b、將一張表刪除語句的格式如下:

DORPTABLE表名;

例:表刪除將同時(shí)刪除表的數(shù)據(jù)和表的定義

sql>droptabletest

c、表空間的創(chuàng)建、刪除

六、ORACLE邏輯備份的SH文件

完全備份的SH文件:exp_comp.sh

rq=`date+"%m%d"`

su-oracle-c"expsystem/managerfull=yinctype=completefile=/oracle/export/db_comp$rq.dmp"

累計(jì)備份的SH文件:exp_cumu.sh

rq=`date+"%m%d"`

su-oracle-c"expsystem/managerfull=yinctype=cumulativefile=/oracle/export/db_cumu$rq.dmp"

增量備份的SH文件:exp_incr.sh

rq=`date+"%m%d"`

su-oracle-c"expsystem/managerfull=yinctype=incrementalfile=/oracle/export/db_incr$rq.dmp"

root用戶crontab文件

/var/spool/cron/crontabs/root增加以下內(nèi)容

021**/oracle/exp_comp.sh

302**0-5/oracle/exp_incr.sh

452**6/oracle/exp_cumu.sh

當(dāng)然這個(gè)時(shí)間表可以根據(jù)不同的需求來改變的,這只是一個(gè)例子。

七、ORACLE常用的SQL語法和數(shù)據(jù)對(duì)象

一.數(shù)據(jù)控制語句(DML)部分

1.INSERT(往數(shù)據(jù)表里插入記錄的語句)

INSERTINTO表名(字段名1,字段名2,……)VALUES(值1,值2,……);

INSERTINTO表名(字段名1,字段名2,……)SELECT(字段名1,字段名2,……)FROM另外的表名;

字符串類型的字段值必須用單引號(hào)括起來,例如:’GOODDAY’

如果字段值里包含單引號(hào)’需要進(jìn)行字符串轉(zhuǎn)換,我們把它替換成兩個(gè)單引號(hào)''.

字符串類型的字段值超過定義的長(zhǎng)度會(huì)出錯(cuò),最好在插入前進(jìn)行長(zhǎng)度校驗(yàn).

日期字段的字段值可以用當(dāng)前數(shù)據(jù)庫(kù)的系統(tǒng)時(shí)間SYSDATE,精確到秒

或者用字符串轉(zhuǎn)換成日期型函數(shù)TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)

TO_DATE()還有很多種日期格式,可以參看ORACLEDOC.

年-月-日小時(shí):分鐘:秒的格式Y(jié)YYY-MM-DDHH24:MI:SS

INSERT時(shí)最大可操作的字符串長(zhǎng)度小于等于4000個(gè)單字節(jié),如果要插入更長(zhǎng)的字符串,請(qǐng)考慮字段用CLOB類型,

方法借用ORACLE里自帶的DBMS_LOB程序包.

INSERT時(shí)如果要用到從1開始自動(dòng)增長(zhǎng)的序列號(hào),應(yīng)該先建立一個(gè)序列號(hào)

CREATESEQUENCE序列號(hào)的名稱(最好是表名+序列號(hào)標(biāo)記)INCREMENTBY1STARTWITH1

MAXVALUE99999CYCLENOCACHE;

其中最大的值按字段的長(zhǎng)度來定,如果定義的自動(dòng)增長(zhǎng)的序列號(hào)NUMBER(6),最大值為999999

INSERT語句插入這個(gè)字段值為:序列號(hào)的名稱.NEXTVAL

2.DELETE(刪除數(shù)據(jù)表里記錄的語句)

DELETEFROM表名WHERE條件;

注意:刪除記錄并不能釋放ORACLE里被占用的數(shù)據(jù)塊表空間.它只把那些被刪除的數(shù)據(jù)塊標(biāo)成unused.

如果確實(shí)要?jiǎng)h除一個(gè)大表里的全部記錄,可以用TRUNCATE命令,它可以釋放占用的數(shù)據(jù)塊表空間

TRUNCATETABLE表名;

此操作不可回退.

3.UPDATE(修改數(shù)據(jù)表里記錄的語句)

UPDATE表名SET字段名1=值1,字段名2=值2,……WHERE條件;

如果修改的值N沒有賦值或定義時(shí),將把原來的記錄內(nèi)容清為NULL,最好在修改前進(jìn)行非空校驗(yàn);

值N超過定義的長(zhǎng)度會(huì)出錯(cuò),最好在插入前進(jìn)行長(zhǎng)度校驗(yàn)..

注意事項(xiàng):

A.以上SQL語句對(duì)表都加上了行級(jí)鎖,

確認(rèn)完成后,必須加上事物處理結(jié)束的命令COMMIT才能正式生效,

否則改變不一定寫入數(shù)據(jù)庫(kù)里.

如果想撤回這些操作,可以用命令ROLLBACK復(fù)原.

B.在運(yùn)行INSERT,DELETE和UPDATE語句前最好估算一下可能操作的記錄范圍,

應(yīng)該把它限定在較小(一萬條記錄)范圍內(nèi),.否則ORACLE處理這個(gè)事物用到很大的回退段.

程序響應(yīng)慢甚至失去響應(yīng).如果記錄數(shù)上十萬以上這些操作,可以把這些SQL語句分段分次完成,

其間加上COMMIT確認(rèn)事物處理.

二.數(shù)據(jù)定義(DDL)部分

1.CREATE(創(chuàng)建表,索引,視圖,同義詞,過程,函數(shù),數(shù)據(jù)庫(kù)鏈接等)

ORACLE常用的字段類型有

CHAR固定長(zhǎng)度的字符串

VARCHAR2可變長(zhǎng)度的字符串

NUMBER(M,N)數(shù)字型M是位數(shù)總長(zhǎng)度,N是小數(shù)的長(zhǎng)度

DATE日期類型

創(chuàng)建表時(shí)要把較小的不為空的字段放在前面,可能為空的字段放在后面

創(chuàng)建表時(shí)可以用中文的字段名,但最好還是用英文的字段名

創(chuàng)建表時(shí)可以給字段加上默認(rèn)值,例如DEFAULTSYSDATE

這樣每次插入和修改時(shí),不用程序操作這個(gè)字段都能得到動(dòng)作的時(shí)間

創(chuàng)建表時(shí)可以給字段加上約束條件

例如不允許重復(fù)UNIQUE,關(guān)鍵字PRIMARYKEY

2.ALTER(改變表,索引,視圖等)

改變表的名稱

ALTERTABLE表名1TO表名2;

在表的后面增加一個(gè)字段

ALTERTABLE表名ADD字段名字段名描述;

修改表里字段的定義描述

ALTERTABLE表名MODIFY字段名字段名描述;

給表里的字段加上約束條件

ALTERTABLE表名ADDCONSTRAINT約束名PRIMARYKEY(字段名);

ALTERTABLE表名ADDCONSTRAINT約束名UNIQUE(字段名);

把表放在或取出數(shù)據(jù)庫(kù)的內(nèi)存區(qū)

ALTERTABLE表名CACHE;

ALTERTABLE表名NOCACHE;

3.DROP(刪除表,索引,視圖,同義詞,過程,函

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論