您好,欢迎访问三七文档
1、分析表analyzetablemzbs.db_codeESTIMATESTATISTICSSAMPLE20PERCENT;2、表空间管理和用户管理--查看表空间和数据文件selectfile_name,tablespace_name,autoextensiblefromdba_data_files;--数据表空间CREATETABLESPACEUSER_DATALOGGINGDATAFILE'D:\ORACLE\ORADATA\ORCL\test.DBF'SIZE50mREUSE,'c:\USERS01112.DBF'SIZE50mREUSEAUTOEXTENDONNEXT1280KMAXSIZE16383MEXTENTMANAGEMENTLOCAL--修改表空间数据文件的路径ALTERTABLESPACEapp_dataRENAMEDATAFILE'/DISK4/app_data_01.dbf'TO'/DISK5/app_data_01.dbf';ALTERDATABASERENAMEFILE'/DISK1/system_01.dbf'TO'/DISK2/system_01.dbf';--临时表空间CREATETEMPORARYTABLESPACEUSER_DATA_TEMPTEMPFILE'D:\TEMP0111.DBF'SIZE50MREUSEAUTOEXTENDONNEXT1024KMAXSIZE16383MEXTENTMANAGEMENTLOCALUNIFORMSIZE1024K--增加数据文件ALTERTABLESPACEUSER_DATAADDDATAFILE'c:\USERS01113.DBF'SIZE50M;ALTERTABLESPACEUSER_DATAADDDATAFILE'c:\USERS01114.DBF'SIZE50MAUTOEXTENDON;--删除表空间DROPTABLESPACEUSER_DATAINCLUDINGCONTENTS;--修改表空间的存储参数ALTERTABLESPACEtablespacenameMINIMUMEXTENT2M;ALTERTABLESPACEtablespacenameDEFAULTSTORAGE(INITIAL2MNEXT2MMAXEXTENTS999);--表空间联机/脱机/只读ALTERTABLESPACEtablespacenameOFFLINE/ONLINE/READONLY;--修改数据文件大小ALTERDATABASEDATAFILE'c:\USERS01113.DBF'RESIZE40M;--创建用户、赋予权限CREATEUSERUSER_DATAPROFILEDEFAULTIDENTIFIEDBYUSER_DATADEFAULTTABLESPACEUSER_DATATEMPORARYTABLESPACEUSER_DATAACCOUNTUNLOCK;GRANTCONNECTTOUSER_DATA;GRANTRESOURCETOUSER_DATA;3、表的管理--创建表CREAETABLETABLENAME(COLUMN1COLUTYPEDEFAULT(VALUE)NOTNULL)(COLUMN2COLUTYPEDEFAULT(VALUE)NOTNULL);--建表的索引存储分配CREATETABLEsummit.employee(idNUMBER(7)CONSTRAINTemployee_id_pkPRIMARYKEYDEFERRABLEUSINGINDEXSTORAGE(INITIAL100KNEXT100K)TABLESPACEindx,last_nameVARCHAR2(25)CONSTRAINTemployee_last_name_nnNOTNULL,dept_idNUMBER(7))TABLESPACEdata;--修改表的存储分配ALTERTABLEtablenamePCTFREE30PCTUSED50STORAGE(NEXT500KMINEXTENTS2MAXEXTENTS100);ALTERTABLEtablenameALLOCATEEXTENT(SIZE500KDATAFILE'/DISK3/DATA01.DBF');--把表移到另一个表空间ALTERTABLETABLENAMEMOVETABLESPACETABLESPACENAME;--回收空闲的空间(回收到High-watermark)全部回收需要TRUNCATETABLEtablenameALTERTABLEtablenameDEALLOCATEUNUSED;--删除表(连同所用constraint)DROPTABLEtablenameCASCADECONSTRAINTS;--给表增加列ALTERTABLETABLENAMEADDCOLUMNCOLUTYPEDEFAULT(VALUE)NOTNULL;--删除表中的列ALTERTABLEtablenameDROPCOLUMNcolumnname;ALTERTABLEtablenameDROPCOLUMNcolumnnameCASCADECONSTRAINTSCHECKPOINT1000;--标记列不可用ALTERTABLEtablenameSETUNUSEDCOLUMNcolumnnameCASCADECONSTRAINTS;--删除标记为不可用的列ALTERTABLEtablenameDROPUNUSEDCOLUMNSCHECKPOINT1000;--继续删除列选项ALTERTABLEtablenameDROPCOLUMNSCONTINUECHECKPOINT1000;--把表放到BUFFER_POOL中去ALTERTABLEtablenameSTORAGE(BUFFER_POOLRECYCLE);--避免动态分配EXTENTALTERTABLEtablenameALLOCATEEXTENT;--把表放到CACHE中去ALTERTABLEtablenameALLOCATECACHE/NOCACHE;4、索引管理--创建索引CREATEINDEXindexnameONTABLENAME(COLUMNNAME);CREATEINDEXindexnameONTABLENAME(COLUMNNAME)TABLESPACETABLESPACENAME;--重新建立索引ALTERINDEXindexnameREBUILDTABLESPACETABLESPACE;--索引分配参数ALTERINDEXindexnameSTORAGE(NEXT400KMAXEXTENTS100);--释放索引空间ALTERINDEXindexnameALLOCATEEXTENT(SIZE200KDATAFILE'/DISK6/indx01.dbf');ALTERINDEXindexnameDEALLOCATEUNUSED;--重新整理索引表空间碎片ALTERINDEXindexnameCOALESCE;--删除索引DROPINDEXindexname--把索引放到BUFFER_POOL中ALTERINDEXcust_name_idxREBUILDSTORAGE(BUFFER_POOLKEEP);5、约束管理--建立主键ALTERTABLETABLENAMEADDCONSTRAINTCONSTRAINTNAMEPRIMARYKEY(COLUMN1,COLUMN2)--使约束无效ALTERTABLETABLENAMEENABLENOVALIDATECONSTRAINTconstraintname;ALTERTABLETABLENAMEENABLEVALIDATECONSTRAINTconstraintname;--删除约束ALTERTABLEtablenameDROPCONSTRAINTconstraintname;DROPTABLEtablenameCASCADECONSTRAINTS;(删除表后将所用的外键删除)--给列增加缺省值ALTERTABLETABLENAMEMODIFYcolumnnameDEFAULT(value)NOTNULL;--给表增加外键ALTERTABLEtablenameADDCONSTRAINTconstraintnameFOREIGNKEY(column)REFERENCEStable1name(column1);6、安全策略--加密传输把客户端环境变量ora_encrypt_login设为true把服务器端参数dblink_encypt_login设为true--数据库管理员安全策略a、建库后立即修改SYS/SYSTEM的口令(9.2后必须修改其口令)b、只有数据库管理员才能以SYSDBA登录系统c、建立不同角色的管理员,分配不同的权限比如:对象创建于维护数据库的调整与维护创建用户分配角色启动关闭恢复备份--应用开发者的安全策略a、开发者的特权只能在测试开发的数据库中赋予权限b、自由开发者、受控开发者自由开发者:createtable\index\procedure\package受控开发者:没有以上权限7、日志文件管理--切换日志文件ALTERSYSTEMSWITCHLOGFILE;--增加日志文件ALTERDATABASEADDLOGFILE('/DISK3/log3a.rdo','/DISK4/log3b.rdo')size1M;--增加日志成员ALTERDATABASEADDLOGFILEMEMBER'/DISK4/log1b.rdo'TOGROUP1'/DISK4/log2b.rdo'TOGROUP2;--删除日志文件ALTERDATABASEDROPLOGFILEGROUP3;--删除日志成员ALTERDATABASEDROPLOGFILEMEMBER'/DISK4/log2b.dbf';--清除日志文件内容ALTERDATABASECLEARLOGFILE'/DISK3/log2a.rdo';三、LINUX和UNIX下转到操作系统下执行:kill-9spid(以上语句所查出的)36、ORACLE中检查表是否被锁的语句SELECTA.OWNER,A.OBJECT_NAME,B.XIDUSN,B.XIDSLOT,B.XIDSQN,B.SESSION_ID,B.ORACLE_USERNAME,B.OS_USER_NAME,B.PROCESS,B.LOCKED_MODE,C.MACHINE,C.STATUS,C.SERVER,C.SID,C.SERIAL#,C.PROGRAMFROMALL_OBJECTSA,V$LOCKED_OBJECTB,SYS.GV_$SESSIONCWHERE(A.OBJECT_ID=B.OBJECT_ID)AND(B.PROCESS=C.PROCESS)ORDERBY1,2杀掉:altersystemkillsession'sid,serial#'37、ORACLE的登录问题,用户名和密码。可以直接输入:internal/oracle@serivce_namesys/change_on_install@serivce_namesystem/manager@serivce_namescott/tiger@serivce_name注意:9i中没有internal/oracle如果选择典型安装则有scott用户如果自定义可以不安装scott用户如果是本机则可以省略@serivce_nameoem:(ORACLEENTERPRISEMANAGER)sysman/oem_temp38、修改表的列名Oracle9i:altertablexxxrenamecolumnxxtoyy;Oracle8i&lowerversionconnectsys/passed;updatecol$setname=xxwhereobj#=对象idandname=字段(一般不要这样用,会造成意想不到的结果)注
本文标题:ORACLE 经验
链接地址:https://www.777doc.com/doc-4358977 .html