MYSQL编程:oracle数据库开辟的一些履历堆集(二)...
与数据库相关的流程的逐渐标准化,使得解决方案提供商能以更便捷的方式提供服务、部署应用程序、规划容量和管理资源。DBaaS模式还有助于减少数据和数据库的冗余度并提升整体服务质量。oracle|数据|数据库1、剖析表analyzetablemzbs.db_codeESTIMATESTATISTICSSAMPLE20PERCENT;
2、表空间办理和用户办理
--检察表空间和数据文件
selectfile_name,tablespace_name,autoextensiblefromdba_data_files;
--数据表空间
CREATETABLESPACEUSER_DATALOGGINGDATAFILED:ORACLEORADATAORCL est.DBFSIZE50mREUSE,c:USERS01112.DBFSIZE50mREUSEAUTOEXTENDONNEXT1280KMAXSIZE16383MEXTENTMANAGEMENTLOCAL
--修正表空间数据文件的路径
ALTERTABLESPACEapp_dataRENAMEDATAFILE/DISK4/app_data_01.dbfTO/DISK5/app_data_01.dbf;
ALTERDATABASERENAMEFILE/DISK1/system_01.dbfTO/DISK2/system_01.dbf;
--一时表空间
CREATETEMPORARYTABLESPACEUSER_DATA_TEMPTEMPFILED:TEMP0111.DBFSIZE50MREUSEAUTOEXTENDONNEXT1024KMAXSIZE16383MEXTENTMANAGEMENTLOCALUNIFORMSIZE1024K
--增添数据文件
ALTERTABLESPACEUSER_DATAADDDATAFILEc:USERS01113.DBFSIZE50M;
ALTERTABLESPACEUSER_DATAADDDATAFILEc:USERS01114.DBFSIZE50MAUTOEXTENDON;
--删除表空间
DROPTABLESPACEUSER_DATAINCLUDINGCONTENTS;
--修正表空间的存储参数
ALTERTABLESPACEtablespacenameMINIMUMEXTENT2M;
ALTERTABLESPACEtablespacenameDEFAULTSTORAGE(INITIAL2MNEXT2MMAXEXTENTS999);
--表空间联机/脱机/只读
ALTERTABLESPACEtablespacenameOFFLINE/ONLINE/READONLY;
--修正数据文件巨细ALTERDATABASEDATAFILEc:USERS01113.DBFRESIZE40M;
--创立用户、付与权限
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)全体接纳必要TRUNCATETABLEtablename
ALTERTABLEtablenameDEALLOCATEUNUSED;
--删除表(连同所用constraint)
DROPTABLEtablenameCASCADECONSTRAINTS;
--给表增添列
ALTERTABLETABLENAMEADDCOLUMNCOLUTYPEDEFAULT(VALUE)NOTNULL;
--删除表中的列
ALTERTABLEtablenameDROPCOLUMNcolumnname;
ALTERTABLEtablenameDROPCOLUMNcolumnnameCASCADECONSTRAINTSCHECKPOINT1000;
--标志列不成用
ALTERTABLEtablenameSETUNUSEDCOLUMNcolumnnameCASCADECONSTRAINTS;
--删除标志为不成用的列
ALTERTABLEtablenameDROPUNUSEDCOLUMNSCHECKPOINT1000;
--持续删除列选项
ALTERTABLEtablenameDROPCOLUMNSCONTINUECHECKPOINT1000;
--把表放到BUFFER_POOL中往
ALTERTABLEtablenameSTORAGE(BUFFER_POOLRECYCLE);
--制止静态分派EXTENT
ALTERTABLEtablenameALLOCATEEXTENT;
--把表放到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、自在开辟者、受控开辟者自在开辟者:createtableindexprocedurepackage受控开辟者:没有以上权限
7、日记文件办理
--切换日记文件
ALTERSYSTEMSWITCHLOGFILE;
--增添日记文件
ALTERDATABASEADDLOGFILE(/DISK3/log3a.rdo,/DISK4/log3b.rdo)size1M;
--增添日记成员
ALTERDATABASEADDLOGFILEMEMBER/DISK4/log1b.rdoTOGROUP1/DISK4/log2b.rdoTOGROUP2;
--删除日记文件
ALTERDATABASEDROPLOGFILEGROUP3;
--删除日记成员
ALTERDATABASEDROPLOGFILEMEMBER/DISK4/log2b.dbf;
--扫除日记文件内容
ALTERDATABASECLEARLOGFILE/DISK3/log2a.rdo;
使用它开发程序也是非常简单的。” 代替了原来VB式的错误判断。比Oracle高级不少。 另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程); where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。 多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油 但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右) 相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐 作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题! 学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了! 两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书 大家注意一点。如下面的例子:
页:
[1]