Oracle管理员常用命令及FAQ_经验共享

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Oracle常用命令及FAQ---梅宝才15641Oracle体系结构2SuSe10下Oracle11g文件系统模式安装及配置、网络配置与连接Oracle11g+SuSE10+文件系统+单机.doc3Oracle常用SQL语句(管理员)常用SQL语句培训.ppt3.1数据库的启动/停止/监听/错误排除1、Oracle错误号查询对应描述方法例如:错误号:ora-201可以通过如下的方法查询:oracle@iread36:~oerrora20100201,00000,controlfileversion%sincompatiblewithORACLEversion%s//*Cause:Thecontrolfilewascreatedbyincompatiblesoftware.//*Action:Eitherrestartwithacompatiblesoftwarereleaseoruse//CREATECONTROLFILEtocreateanewcontrolfilethatis//compatiblewiththisrelease.2、进入数据库sqlplus“/assysdba”3、数据库启动、关闭启动/停止数据库使用startup/shutdownimmediate/Shutdownabort,必需以oracle用户执行sqlplus“/assysdba”先4、启动/关闭Listenerlsnrctlstart;lsnrctlstop;lsnrctlstatus5、查询实例状态selectinstance_name,status,instance_rolefromv$instance;3.2表空间管理1、创建表空间并将改表空间指定给每个用户CREATETABLESPACEmanager_mbcDATAFILE'/opt/oracle/oradata/manager_mbc.dbf'SIZE100MREUSEAUTOEXTENDONNEXT10MMAXSIZEUNLIMITEDEXTENTMANAGEMENTLOCAL;createusermanager01identifiedbymanager01defaulttablespacemanager01temporarytablespacetemp;2、查看表空间物理文件的名称及大小、查看表空间的使用情况Selecttablespace_name,file_id,file_name,round(bytes/(1024*1024),0)total_spacefromdba_data_filesorderbytablespace_name;selectsum(bytes)/(1024*1024)asfree_space,tablespace_namefromdba_free_spacegroupbytablespace_name;SELECTA.TABLESPACE_NAME,A.BYTESTOTAL,B.BYTESUSED,C.BYTESFREE,(B.BYTES*100)/A.BYTES%USED,(C.BYTES*100)/A.BYTES%FREEFROMSYS.SM$TS_AVAILA,SYS.SM$TS_USEDB,SYS.SM$TS_FREECWHEREA.TABLESPACE_NAME=B.TABLESPACE_NAMEANDA.TABLESPACE_NAME=C.TABLESPACE_NAME;3、删除表空间及数据文件droptablespacemanager_mbcincludingcontentsanddatafiles;4、增加表空间大小alterdatabasedatafile'/opt/oracle/oradata/manager_mbc.dbf'resize50M;方法一(双机推荐),增加数据文件altertablespaceusersadddatafile'/opt/oracle/oradata/manager_mbc.dbf'size25m;方法二(单机推荐),在原数据文件上扩充alterdatabasedatafile'/opt/oracle/oradata/manager_mbc.dbf'resize50M5、创建临时表空间createTEMPORARYTABLESPACEBPOS01_temptempfile'/opt/oracle/oradata/orcl/bpos01_dat3'size100M;6、如何知道数据裤中某个表所在的tablespace?selecttablespace_namefromuser_tableswheretable_name='TEST';select*fromuser_tables中有个字段TABLESPACE_NAME,(oracle);3.3数据库用户管理1、创建用户createusermanager01identifiedbymanager01defaulttablespacemanager01temporarytablespacetemp;2、查询/删除数据库用户selectusernamefromall_users;dropuserMANAGER0821cascade;3、如果找回oracle数据库的sys密码?oracle@linux1:~sqlplus/assysdbaSQLalterusersysidentifiedbysys;4、查看数据库的连接数selectusername,osuser,process,logon_timefromv$sessionorderbylogon_time;5、查看回滚段名称及大小selectsegment_name,tablespace_name,r.status,(initial_extent/1024)InitialExtent,(next_extent/1024)NextExtent,max_extents,v.curextCurExtentFromdba_rollback_segsr,v$rollstatvWherer.segment_id=v.usn(+)orderbysegment_name;3.4数据库备份1、数据的导入与导出单独备份一个或多个表expimused901/imused901@172.17.196.19tables=(areainfo,b)file=1.dmp单独备份一个或多个用户expimused901/imused901@172.17.196.19owner=(test1)file=test1.dmp导出一个用户的所有数据.expimused901/imused901@172.17.196.19file=e:\a.bmplog=a.log不同用戶间数据导入impimused901/imused901@172.17.196.19FILE=e:\1.bMPFROMUSER=imused901TOUSER=test1ROWS=YINDEXES=Y导入,导出命令都是在操作系统的命令行下执行的.数据库备份与恢复.doc3.5其他(查询语句)1、查看数据库版本select*fromv$version;2、如何快速清空一個大表?SQLtruncatetableb;3、怎么修改ORACLE最大进程数?altersystemsetprocesses=300scope=spfile;(或者修改initSID.ora,将process加大,重启数据库.)4、如何執行腳本SQL文件?SQL@e:\a.sql;//还有问题.5、如何測試SQL語句執行所用的時間?SQLsettimingon;SQLselect*fromareainfo;6、更改字符集为中文sqlplus/nolog;SQLconn/assysdba;SQLSHUTDOWNIMMEDIATE;SQLSTARTUPMOUNT;SQLALTERSYSTEMENABLERESTRICTEDSESSION;SQLALTERSYSTEMSETJOB_QUEUE_PROCESSES=0;SQLALTERDATABASEOPEN;SQLALTERDATABASECHARACTERSETZHS16GBK;(这一步一般会出错,所以需要重复执行上面从SHUTDOWNIMMEDIATE开始的所有语句)SQLSHUTDOWNIMMEDIATE;SQLSTARTUP;7、查看表结构SQLdesc表名8、查看控制文件select*fromv$controlfile;9、查看日志文件select*fromv$logfile;10、查看违反唯一索引的表及列:如果插入数据时系统提示:uniqueconstraint(IMUSE01.SYS_C004960)violated.则说明在为IMUSE01用户插入数据时违反了唯一索引SYS_C004960。11、查看违反唯一索引的表:selecttable_namefromuser_indexeswhereindex_name=’SYS_C004960’;12、查看违反唯一索引的列:selectcolumn_namefromuser_ind_columnswhereindex_name=’SYS_C004960’;13、查看编译无效的存储过程:selectobject_namefromuser_objectswherestatus=’INVALID’andobject_type=’PROCEDURE’;4Oracle数据库日常维护在Oracle数据库运行期间,DBA应该对数据库的运行日志及表空间的使用情况进行监控,及早发现数据库中存在的问题。4.1Oracle警告日志文件监控Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况。可以通过以下SQL找到他的路径selectvaluefromv$parameterwherename='background_dump_dest':1.数据库的启动、关闭,启动时的非缺省参数;2.数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;3.对数据库进行的某些操作,如创建或删除表空间、增加数据文件;4.数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600)DBA应该定期检查日志文件,根据日志中发现的问题及时进行处理问题处理启动参数不对检查初始化参数文件因为检查点操作或归档操作没有完成造成重做日志不能切换如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率;有人未经授权删除了表空间检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限出现坏块检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建表空间不够增加数据文件到相应的表空间出现ORA-600根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁4.2数据库表空间使用情况监控(字典管理表空间)数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。selecttablespace_name,count(*)chunks,max(bytes/1024/1024)max_chunkfromdba_free_spacegroupbytablespace_name;上面的SQL列出了数据库中每个表空间的空闲块情况,如下所示:TABLESPACE_NAMECHUNKSMAX_CHUNK----------------------------------------INDX157.9921875RBS3490.992188RMAN_TS116.515625

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功