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

下载本文档

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

文档简介

Oracle日常维护:数据库启动、关闭介绍

数据库启动说明:

1、两台主机启动后,首先检查IBM的HACMP双机软件是否已启动,可通过以下

吩咐去查看HA是否已启动:

#lssrc-1cluster

(此吩咐应当出来至少2行显示clusteractive,即两台主机2个HA效劳才算正常)

#lsvg-0

(此吩咐结果在两台主机应当看到oradatavg这个共享、并发的卷组VG)

假设HA效劳没有启,须要运用吩咐在两台主机上分别启动:

#smittycistart

(HA启动一后oradatavg卷组才会看得见)

2、在确保HA效劳已启动后,便可启动ORACLE数据库:

$sqlplus/nclog

$connassysdba

^C$sqlplus“system/sysassysdba”

Sql>startup

3、启动监听后台进程:

SlsnrctlstartLISTENER_PBS

数据库关闭说明:

1、关闭ORACLE数据库:

$sqlplus“system/sysassysdba”

Sql>shutdownimmediate

2、关闭监听后台进程:

$IsnrctlstopLISTENER_PBS

3、关闭HA效劳:

#smittyclstop

4、重启IBM主机:

#shutdown-Fr

其它AIX相关的维护吩咐:

】、查看lv裸设备大小及运用状况:

#lsvg-1oradatavg

Oracle导出程序Exp的运用详细过程

Oracle的导出好用程序(Exportuti1ity)允许从数据库提取数据,并且将数据写入操作系统文件。exp运用的根本

格式:exp[username[/password[@service]]],以下例举exp常用用法。

1.获得帮助

exphelp=y

2.导出一个完整数据库

expsystem/managerlog=dible_dbfull=y

3.导出数据库定义而不导出数据

expsystem/managerlog=dible_dbfull=yrows=n

4.导出一个或一组指定用户所属的全部表、索引和其他对象

expsystem/managerlog:seaparkowner=seapark

expsystem/managerlog=seaparkowncr=(scapark,amy,amyc,harold)

留意:在导出用户时,尽管已经得到了这个用户的全部对象,但是还是不能得到这些对象引用的任何同义词。

解决方法是用以下的SQL*Plus吩咐创立一个脚本文件,运行这个脚本文件可以获得一个重建seapark所属对象的全

部公共同义词的可执行脚本,然后在目标数据库上运行该脚本就可重建同义词了。

SETLINESIZE132

SETPAGESIZE0

SETTRIMSPOOLON

SPOOLc:\seapark.syn

SELECT1Createpublicsynonym||synonymname

II'for11table_ownerII'.'11table_nameII';'

FROMdba_synonyms

WHEREtable_owner='SEAPARK'ANDowner='PUBLIC';

SPOOLOFF

5.导出一个或多个指定表

expseapark/seaparklog=tanktables=tank

expsystem/managerlog=tanktables=seapark.tank

expsystem/managerlog=tanktabies=(seapark,tank,amy.artist)

6.估计导出文件的大小

全部表总字节数:

SELECTsum(bytes)

FROMdba_segments

WHEREsegment_type='TABLE';

seapark用户所属表的总字节数:

SELECTsum(bytes)

FROMdba_segments

WHEREowner='SEAPARK'

ANDsegment_type='TABLE';

seapark用户下的aquaticanimal表的字节数:

SELECTsum(bytes)

FROMdba_segments

WHEREowner='SEAPARK'

ANDsegment_type='TABLE*

ANDsegment_name='AQUATIC.ANIMAf;

7.导出表数据的子集(oracle8i以上)

NT系统:

expsystem/managerquery:'Wheresalad_type=,FRCIT*Jtables=amy.salad_type

log=fruit

UNIX系统:

expsystem/managerquery=\z,Wheresalad_type=\'FRUIT、'\"tables二amy.salad一type

log=fruit

8.用多个文件分割一个导出文件

expsystem/manager

file=(paycheck_l,paycheck_2.paycheck_3,paycheck_4)

log=paycheck,1Gtables=hr.paycheck

9.运用参数文件

expsystem/managerpar

bible_tables.par参数文件:

^Exportthesampletablesusedforthe0racle8iDatabaseAdministrator'sBible.

log=bible_tables

tables=(

amy.artist

amy.books

seapark,checkup

seapark,items

)

10.增量导出

“完全〃增量导出(complete),即备份整个数据库

expsystem/managerinctype=complete

“增量型”增量导出(incremental),即备份上一次备份后变更的数据

expsystem/managerinctype=incremental

“累计型”增量导出(cumulative),即备份上一次“完全”导出之后变更的数据

expsystem/managerinctype=cumulative

1.如何查看ORACLE的隐含参数?

ORACLE的显式参数,除了在INIT.ORA文件中定义的外,在svrmgrl中用"showparameter*",可以显示。但ORACLE还有一些参

数是以,开头的。如我们特别熟识的、'_offline」ollback_segments"等。

这些参数可在sys.x$ksppi表中查出。

语句:"selectksppinmfromx$ksppiwheresubstr(ksppinm,l,l)='_';"

2.如何查看安装了哪些ORACLE组件?

进入${ORACLE_HOME}/orainst/,运行./inspdver,显示安装组件和版本号。

3.如何查看ORACLE所占用共享内存的大小?

可用UNIX吩咐、'ipCS”查看共享内存的起始地址、信号量、消息队列。

在svrmgrl下,JIJ''oradebugipc",可看出ORACLE占用共享内存的分段和大小。

example:

SVRMGR>oradebugipc

Sharedmemory

SegIdAddressSize

11537fe000784

11548000

115519800

4.如何查看当前SQL*PLUS用户的sid和sarial#?

在SQL*PLUS下,运行:

''selectsidzserial#,statusfromv$session

whereaudsid=userenv('sessionid');"

5.如何查看当前数据库的字符集?

在SQL*PLUS下,运行:

''selectuserenv('language')fromdual/

或:

''selectuserenv('lang')fromdual/

6.如何查看数据库中某用户,正在运行什么SQL语句?

依据MACHINE、USERNAME或SID、SERIAL#,连接表V$SESSION和V$SQLTEXT,可查出。

SQL*PLUS语句:

ANDS.MACHINE='XXXXX'ORUSERNAME='XXXXX'-查看某主机名,或用户名

r

7.如何删除表中的重复记录?

例句:

DELETE

FROMtable_namea

WHERErowid>(SELECTmin(rowid)

FROMtable_nameb

andb.pk_column_2=a.pk_column_2);

8.手工临时强制变更效劳器字符集

以sys或system登录系统,sql*plus运行:'createdatabasecharactersetus7ascii厂.

有以下错误提示:

createdatabasecharactersetUS7ASCII

ERRORatline1:

ORA-01031:insufficientprivileges

事实上,看v$nls_parameters,字符集已更改胜利。但重启数据库后,数据库字符集又变回原来的了。

该吩咐可用于临时的不同字符集效劳器之间数据倒换之用。

9.怎样查询每个instance安排的PCM锁的数目

用以下吩咐:

selectcount(*)"NumberofhashedPCMlocks"fromv$lock_elementwherebitand(flagsz4)<>0

/

selectcount(*)"NumberoffinegrainPCMlocks"fromv$lock_element

wherebitand(flagsz4)=0

/

10.怎么推断当前正在运用何种SQL优化方式?

用explainplan产生EXPLAINPLAN,检查PLAN_TABLE中ID=0的POSITION列的值。

e.g.

selectdecodefnvKpositionrlX-l/'RBO'J/CBO')fromplan_tablewhereid=0

/

11.做EXPORT时,能否将DUMP文件分成多个?

ORACLE8I>1*EXP增加了一个参数,可将一个文件分成多个:

EXPSCOTT/TIGERFILE=(ORDER_1.DMP/ORDER_2.DMP/ORDER_3.DMP)1GTABLES=ORDER;

其他版本的ORACLE在UNIX下可利用管道和split分割:

mknodpipep

split-b2048mpipeorder&#将文件分割成,每个2GB大小的,以order为前缀的文件:

并将该进程放在后台。

#orderaazorderab/orderacz...

EXPSCOTT/TIGERtables=order

详细方法如下:

先创立一个文件如:exp_file内容为500M,…

full=yinctype=completebuffer=10240000

再运mexpuser/passwordpar

一个exp/imp的实例,还有什么改良可以提高速度吗

下面是从9i导出到9i的一个实例,请帮我看看还有什么改良的地方可以提高速度

首先在须要导入的数据库中新建用户

-Createtheuser

createuserusr

identifiedbyusr

defaulttablespaceTEST

temporarytablespaceTEMP

pro;

-Grant/Revokeroleprivileges

grantconnecttousr;

grantresourcetousr;

然后导出,导入数据

expusr/usr@dblog=exp.logdirect=yowner=usrfeedback=100000recordlength=65535

impusr/usrlog=imp.logignore=ybuffer=65535recordlength=65535feedback=10000commit=y

前者导出只要10分钟

后者导入花了4个多小时

请教:关于oracle的数据导入导出(exp/imp)问题?

1.本地一个数据库用户aa,其所在用户数据均在表空间tbs_aa上,将该用户数据export后,须要import进

异地另外一个数据库中的表空间tbs_bb中,tbs_bb是该数据库用户bb的默认表空间,请问上述imp如何

操作?

2.建立我正imp入一个大表(比方T_test),由于该表数据量较大,在import时,界面只提示如下信息:

"importing而这

温馨提示

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

评论

0/150

提交评论