您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页Oracle日常维护运维基础篇修订稿

Oracle日常维护运维基础篇修订稿

来源:筏尚旅游网


Oracle日常维护运维基

础篇

集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

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

两台主机启动后,首先检查IBM的HACM

1、

P双机软件是否已启动,可通过以下命令去查看HA是否已启动: #lssrc –l cluster

(此命令应该出来至少2行显示cluster active,即两台主机2个HA服务才算正常) #lsvg –o

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

假设HA服务没有启,需要使用命令在两台主机上分别启动:

# smitty clstart

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

在确保HA服务已启动后,便可启动ORAC

2、

LE数据库:

$sqlplus /nolog $conn as sysdba

数据库关闭说明:

或$sqlplus “system/sys as sysdba” Sql>startup

3、

启动监听后台进程:

$lsnrctl start LISTENER_PBS

1、

关闭ORACLE数据库:

$sqlplus “system/sys as sysdba” Sql>shutdown immediate

2、

关闭监听后台进程:

$ lsnrctl stop LISTENER_PBS

3、

关闭HA服务:

# smitty clstop

4、

重启IBM主机:

# shutdown -Fr

其它AIX相关的维护命令:

查看lv裸设备大小及使用情况:

1、

#lsvg –l oradatavg 033

Oracle导出程序Exp的使用具体过程

Oracle的导出实用程序(Exportutility)允许从数据库提取数据,并且将数据写入操作系统文件。exp使用的基本格式:exp[username[/password[@service]]],以下例举exp常用用法。

1.获取帮助 exphelp=y

2.导出一个完整数据库

expsystem/managerfile=bible_dblog=dible_dbfull=y

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

expsystem/managerfile=bible_dblog=dible_dbfull=yrows=n

4.导出一个或一组指定用户所属的全部表、索引和其他对象 expsystem/managerfile=seaparklog=seaparkowner=seapark expsystem/managerfile=seaparklog=seaparkowner=(seapark,amy,amyc,harold)

注意:在导出用户时,尽管已经得到了这个用户的所有对象,但是还是不能得到这些对象引用的任何同义词。解决方法是用以下的SQL*Plus命令创建一个脚本文件,运行这个脚本文件可以获得一个重建seapark所属对象的全部公共同义词的可执行脚本,然后在目标数据库上运行该脚本就可重建同义词了。

SETLINESIZE132 SETPAGESIZE0 SETTRIMSPOOLON SPOOLc:\\

SELECT'Createpublicsynonym'||synonym_name ||'for'||table_owner||'.'||table_name||';' FROMdba_synonyms

WHEREtable_owner='SEAPARK'ANDowner='PUBLIC';

SPOOLOFF

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

expseapark/seaparkfile=tanklog=tanktables=tank expsystem/managerfile=tanklog=tanktables= expsystem/managerfile=tanklog=tanktables=,

6.估计导出文件的大小 全部表总字节数: SELECTsum(bytes) FROMdba_segments

WHEREsegment_type='TABLE';

seapark用户所属表的总字节数: SELECTsum(bytes) FROMdba_segments WHEREowner='SEAPARK' ANDsegment_type='TABLE';

seapark用户下的aquatic_animal表的字节数: SELECTsum(bytes) FROMdba_segments WHEREowner='SEAPARK' ANDsegment_type='TABLE'

ANDsegment_name='AQUATIC_ANIMAL';

7.导出表数据的子集(oracle8i以上) NT系统:

expsystem/managerquery='Wheresalad_type='FRUIT''tables= file=fruitlog=fruit UNIX系统:

expsystem/managerquery=\\\"Wheresalad_type=\\'FRUIT\\'\\\"tables= file=fruitlog=fruit

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

file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck,filesize=1Gtables=

9.使用参数文件

expsystem/managerparfile= 参数文件:

#ExportthesampletablesusedfortheOracle8iDatabaseAdministrator'sBible.

file=bible_tables log=bible_tables tables=( )

10.增量导出

“完全”增量导出(complete),即备份整个数据库 expsystem/managerinctype=completefile=

“增量型”增量导出(incremental),即备份上一次备份后改变的数据 expsystem/managerinctype=incrementalfile=

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

expsystem/managerinctype=cumulativefile=

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

ORACLE的显式参数,除了在文件中定义的外,在svrmgrl中用\"show parameter *\",可以显示。但ORACLE还有一些参数是以“_”,开头的。如我们非常熟悉的“_offline_rollback_segments”等。 这些参数可在$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 Size 1153 7fe000 784 11 800000 0 1155

4. 如何查看当前SQL*PLUS用户的sid和serial# 在SQL*PLUS下,运行:

“select sid, serial#, status from v$session where 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 = AND =

AND ='XXXXX' OR USERNAME='XXXXX' -- 查看某主机名,或用户名 /”

7. 如何删除表中的重复记录 例句: DELETE

FROM table_name a

WHERE rowid > ( SELECT min(rowid) FROM table_name b WHERE = and = );

8. 手工临时强制改变服务器字符集

以sys或system登录系统,sql*plus运行:“create database character set us7ascii;\". 有以下错误提示:

* create database character set US7ASCII

ERROR 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_element

where bitand(flags,4)=0 /

10. 怎么判断当前正在使用何种SQL优化方式

用explain plan产生EXPLAIN PLAN,检查PLAN_TABLE中ID=0的POSITION列的值。 .

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=,, FILESIZE=1G TABLES=ORDER; 其他版本的ORACLE在UNIX下可利用管道和split分割: mknod pipe p

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

#orderaa,orderab,orderac,... 并将该进程放在后台。 EXP SCOTT/TIGER FILE=pipe tables=order

具体方法如下:

先创建一个文件如:exp_file内容为filesize=500M file=,,,...

full=y inctype=complete buffer=

再使用exp user/password parfile=exp_file

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

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

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

-- Create the user create user usr identified by usr default tablespace TEST temporary tablespace TEMP profile DEFAULT;

-- Grant/Revoke role privileges grant connect to usr; grant resource to usr; 然后导出,导入数据

exp usr/usr@db file= log= direct=y owner=usr feedback=100000 recordlength=65535

imp usr/usr file= log= ignore=y buffer=65535 recordlength=65535 feedback=10000 commit=y 前者导出只要10分钟 后者导入花了4个多小时

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

1.本地一个数据库用户aa,其所在用户数据均在表空间tbs_aa上,将该用户数据export后,需要import进异地另外一个数据库中的表空间tbs_bb中,tbs_bb是该数据库用户bb的默认表空间,请问上述imp如何操作

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

\"importing T_test...\而这时查询导入的该表记录条数总为零,只有当数据全部导入完毕时,才会提交记录条数.我想知道在这个漫长的导入过程中,如何察看数据的导入过程,即确定数据正被一行一行写入。

或者如何实现一边import数据,一边提交记录条数

甲骨文四段

发表于 2007-3-3 10:53

1 如果用户bb数据库里没有tbs_aa表空间,导入的时候应 该是将表自动创建在bb 默认的表空间上的,把ignore参数设为 y就可以了

UID 106148 精华 0 积分 403 帖子 403

2 imp 时把 commit参数设为 y ,还有设置 feedback 参数,例如feedback=10000 ,每插入1w行,imp程序会显示一次进度.

金钱 8 O元 阅读权限 80 注册 2005-6-30 状态 离线

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务