Oracle日常维护--运维基础篇.doc_第1页
Oracle日常维护--运维基础篇.doc_第2页
Oracle日常维护--运维基础篇.doc_第3页
Oracle日常维护--运维基础篇.doc_第4页
Oracle日常维护--运维基础篇.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习资料收集于网络,仅供参考Oracle 日常维护:数据库启动、关闭介绍数据库启动说明:、 两台主机启动后,首先检查的双机软件是否已启动,可通过以下命令去查看是否已启动:#lssrc l cluster(此命令应该出来至少行显示cluster active,即两台主机个服务才算正常)#lsvg o (此命令结果在两台主机应该看到oradatavg这个共享、并发的卷组)假设服务没有启,需要使用命令在两台主机上分别启动:# smitty clstart (HA启动一后oradatavg卷组才会看得见)、 在确保服务已启动后,便可启动数据库:$sqlplus /nolog$conn as sysdba或$sqlplus “system/sys as sysdba”Sqlstartup、 启动监听后台进程:$lsnrctl start LISTENER_PBS数据库关闭说明:、 关闭数据库:$sqlplus “system/sys as sysdba”Sqlshutdown immediate、 关闭监听后台进程:$ lsnrctl stop LISTENER_PBS、 关闭服务:# smitty clstop 、 重启主机:# shutdown -Fr其它AIX相关的维护命令:、 查看lv裸设备大小及使用情况:#lsvg l oradatavg07906251933 Oracle导出程序Exp的使用具体过程Oracle的导出实用程序(Exportutility)允许从数据库提取数据,并且将数据写入操作系统文件。exp使用的基本格式:expusername/passwordservice,以下例举exp常用用法。1.获取帮助exphelp=y2.导出一个完整数据库expsystem/managerfile=bible_dblog=dible_dbfull=y3.导出数据库定义而不导出数据expsystem/managerfile=bible_dblog=dible_dbfull=yrows=n4.导出一个或一组指定用户所属的全部表、索引和其他对象expsystem/managerfile=seaparklog=seaparkowner=seaparkexpsystem/managerfile=seaparklog=seaparkowner=(seapark,amy,amyc,harold)注意:在导出用户时,尽管已经得到了这个用户的所有对象,但是还是不能得到这些对象引用的任何同义词。解决方法是用以下的SQL*Plus命令创建一个脚本文件,运行这个脚本文件可以获得一个重建seapark所属对象的全部公共同义词的可执行脚本,然后在目标数据库上运行该脚本就可重建同义词了。SETLINESIZE132SETPAGESIZE0SETTRIMSPOOLONSPOOLc:seapark.synSELECTCreatepublicsynonym|synonym_name|for|table_owner|.|table_name|;FROMdba_synonymsWHEREtable_owner=SEAPARKANDowner=PUBLIC;SPOOLOFF5.导出一个或多个指定表expseapark/seaparkfile=tanklog=tanktables=tankexpsystem/managerfile=tanklog=tanktables=seapark.tankexpsystem/managerfile=tanklog=tanktables=(seapark.tank,amy.artist)6.估计导出文件的大小全部表总字节数:SELECTsum(bytes)FROMdba_segmentsWHEREsegment_type=TABLE;seapark用户所属表的总字节数:SELECTsum(bytes)FROMdba_segmentsWHEREowner=SEAPARKANDsegment_type=TABLE;seapark用户下的aquatic_animal表的字节数:SELECTsum(bytes)FROMdba_segmentsWHEREowner=SEAPARKANDsegment_type=TABLEANDsegment_name=AQUATIC_ANIMAL;7.导出表数据的子集(oracle8i以上)NT系统:expsystem/managerquery=Wheresalad_type=FRUITtables=amy.salad_typefile=fruitlog=fruitUNIX系统:expsystem/managerquery=Wheresalad_type=FRUITtables=amy.salad_typefile=fruitlog=fruit8.用多个文件分割一个导出文件expsystem/managerfile=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)log=paycheck,filesize=1Gtables=hr.paycheck9.使用参数文件expsystem/managerparfile=bible_tables.parbible_tables.par参数文件:#ExportthesampletablesusedfortheOracle8iDatabaseAdministratorsBible.file=bible_tableslog=bible_tablestables=(amy.artistamy.booksseapark.checkupseapark.items)10.增量导出“完全”增量导出(complete),即备份整个数据库expsystem/managerinctype=completefile=990702.dmp“增量型”增量导出(incremental),即备份上一次备份后改变的数据expsystem/managerinctype=incrementalfile=990702.dmp“累计型”增量导出(cumulative),即备份上一次“完全”导出之后改变的数据expsystem/managerinctype=cumulativefile=990702.dmp1. 如何查看ORACLE的隐含参数?ORACLE的显式参数,除了在INIT.ORA文件中定义的外,在svrmgrl中用show parameter *,可以显示。但ORACLE还有一些参数是以“_”,开头的。如我们非常熟悉的“_offline_rollback_segments”等。这些参数可在sys.x$ksppi表中查出。语句:“select ksppinm from x$ksppi where substr(ksppinm,1,1)=_; ”2. 如何查看安装了哪些ORACLE组件?进入$ORACLE_HOME/orainst/,运行./inspdver,显示安装组件和版本号。3. 如何查看ORACLE所占用共享内存的大小?可用UNIX命令“ipcs”查看共享内存的起始地址、信号量、消息队列。在svrmgrl下,用“oradebug ipc”,可看出ORACLE占用共享内存的分段和大小。example:SVRMGR oradebug ipc- Shared memory -Seg Id Address Size1153 7fe000 7841154 800000 4194304001155 19800000 671088644. 如何查看当前SQL*PLUS用户的sid和serial#?在SQL*PLUS下,运行:“select sid, serial#, status from v$sessionwhere audsid=userenv(sessionid);”5. 如何查看当前数据库的字符集?在SQL*PLUS下,运行:“select userenv(language) from dual;”或:“select userenv(lang) from dual;”6. 如何查看数据库中某用户,正在运行什么SQL语句?根据MACHINE、USERNAME或SID、SERIAL#,连接表V$SESSION和V$SQLTEXT,可查出。SQL*PLUS语句:“SELECT SQL_TEXT FROM V$SQL_TEXT T, V$SESSION S WHERE T.ADDRESS=S.SQL_ADDRESSAND T.HASH_VALUE=S.SQL_HASH_VALUEAND S.MACHINE=XXXXX OR USERNAME=XXXXX - 查看某主机名,或用户名/”7. 如何删除表中的重复记录?例句:DELETEFROM table_name aWHERE rowid ( SELECT min(rowid)FROM table_name bWHERE b.pk_column_1 = a.pk_column_1and b.pk_column_2 = a.pk_column_2 );8. 手工临时强制改变服务器字符集以sys或system登录系统,sql*plus运行:“create database character set us7ascii;.有以下错误提示:* create database character set US7ASCIIERROR at line 1:ORA-01031: insufficient privileges实际上,看v$nls_parameters,字符集已更改成功。但重启数据库后,数据库字符集又变回原来的了。该命令可用于临时的不同字符集服务器之间数据倒换之用。9. 怎样查询每个instance分配的PCM锁的数目用以下命令:select count(*) Number of hashed PCM locks from v$lock_element where bitand(flags,4)0/select count(*) Number of fine grain PCM locks from v$lock_elementwhere bitand(flags,4)=0/10. 怎么判断当前正在使用何种SQL优化方式?用explain plan产生EXPLAIN PLAN,检查PLAN_TABLE中ID=0的POSITION列的值。e.g.select decode(nvl(position,-1),-1,RBO,1,CBO) from plan_table where id=0/11. 做EXPORT时,能否将DUMP文件分成多个?ORACLE8I中EXP增加了一个参数FILESIZE,可将一个文件分成多个:EXP SCOTT/TIGER FILE=(ORDER_1.DMP,ORDER_2.DMP,ORDER_3.DMP) FILESIZE=1G TABLES=ORDER;其他版本的ORACLE在UNIX下可利用管道和split分割:mknod pipe psplit -b 2048m pipe order & #将文件分割成,每个2GB大小的,以order为前缀的文件:#orderaa,orderab,orderac,. 并将该进程放在后台。EXP SCOTT/TIGER FILE=pipe tables=order具体方法如下:先创建一个文件如:exp_file内容为filesize=500M file=full_YYYYMMDD_01.dmp,full_YYYYMMDD_02.dmp,full_YYYYMMDD_03.dmp,. full=y inctype=complete buffer=10240000再使用exp user/password parfile=exp_file一个exp/imp的实例,还有什么改进可以提高速度吗下面是从9i导出到9i的一个实例,请帮我看看还有什么改进的地方可以提高速度首先在需要导入的数据库中新建用户- Create the user create user usridentified by usrdefault tablespace TESTtemporary tablespace TEMPprofile DEFAULT;- Grant/Revoke role privileges grant connect to usr;grant resource to usr;然后导出,导入数据exp usr/usrdb file=expl.dmp log=exp.log direct=y owner=usr feedback=100000 recordlength=65535imp usr/usr file=exp.dmp log=imp.log ignore=y buffer=65535 recordlength=65535 feedback=10000 commit=y前者导出只要10分钟后者导入花了4个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论