收藏 分享(赏)

Oracle日常维护--运维基础篇.doc

上传人:精品资料 文档编号:9608650 上传时间:2019-08-18 格式:DOC 页数:7 大小:68KB
下载 相关 举报
Oracle日常维护--运维基础篇.doc_第1页
第1页 / 共7页
Oracle日常维护--运维基础篇.doc_第2页
第2页 / 共7页
Oracle日常维护--运维基础篇.doc_第3页
第3页 / 共7页
Oracle日常维护--运维基础篇.doc_第4页
第4页 / 共7页
Oracle日常维护--运维基础篇.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、第 1 页 共 7 页Oracle 日常维护:数据库启动、关闭介绍数据库启动说明:、 两台主机启动后,首先检查的双机软件是否已启动,可通过以下命令去查看是否已启动:#lssrc l cluster(此命令应该出来至少行显示 cluster active,即两台主机个服务才算正常)#lsvg o (此命令结果在两台主机应该看到 oradatavg 这个共享、并发的卷组)假设服务没有启,需要使用命令在两台主机上分别启动:# smitty clstart (HA 启动一后 oradatavg 卷组才会看得见)、 在确保服务已启动后,便可启动数据库:$sqlplus /nolog$conn as sy

2、sdba或$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 第 2

3、 页 共 7 页Oracle 导出程序 Exp 的使用具体过程Oracle 的导出实用程序(Export utility)允许从数据库提取数据,并且将数据写入操作系统文件。exp 使用的基本格式:expusername/passwordservice,以下例举 exp 常用用法。 1. 获取帮助 exp help=y2. 导出一个完整数据库exp system/manager file=bible_db log=dible_db full=y3. 导出数据库定义而不导出数据exp system/manager file=bible_db log=dible_db full=y rows=n4.

4、 导出一个或一组指定用户所属的全部表、索引和其他对象exp system/manager file=seapark log=seapark owner=seaparkexp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold)注意:在导出用户时,尽管已经得到了这个用户的所有对象,但是还是不能得到这些对象引用的任何同义词。解决方法是用以下的 SQL*Plus 命令创建一个脚本文件,运行这个脚本文件可以获得一个重建 seapark 所属对象的全部公共同义词的可执行脚本,然后在目标数据库上运行该脚本就可重建同义

5、词了。SET LINESIZE 132SET PAGESIZE 0SET TRIMSPOOL ONSPOOL c:seapark.synSELECT Create public synonym |synonym_name| for |table_owner|.|table_name|;FROM dba_synonymsWHERE table_owner = SEAPARK AND owner = PUBLIC;SPOOL OFF5. 导出一个或多个指定表exp seapark/seapark file=tank log=tank tables=tankexp system/manager fi

6、le=tank log=tank tables=seapark.tankexp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)6. 估计导出文件的大小全部表总字节数:第 3 页 共 7 页SELECT sum(bytes) FROM dba_segments WHERE segment_type = TABLE;seapark 用户所属表的总字节数:SELECT sum(bytes)FROM dba_segmentsWHERE owner = SEAPARKAND segment_type = TABLE;s

7、eapark 用户下的 aquatic_animal 表的字节数:SELECT sum(bytes)FROM dba_segmentsWHERE owner = SEAPARKAND segment_type = TABLEAND segment_name = AQUATIC_ANIMAL;7. 导出表数据的子集(oracle8i 以上)NT 系统:exp system/manager query=Where salad_type=FRUIT tables=amy.salad_type file=fruit log=fruitUNIX 系统:exp system/manager query=“

8、Where salad_type=FRUIT“ tables=amy.salad_type file=fruit log=fruit8. 用多个文件分割一个导出文件exp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)log=paycheck, filesize=1G tables=hr.paycheck9. 使用参数文件exp system/manager parfile=bible_tables.parbible_tables.par 参数文件:#Export the sample tables used

9、for the Oracle8i Database Administrators Bible.file=bible_tableslog=bible_tablestables=(第 4 页 共 7 页amy.artistamy.booksseapark.checkupseapark.items)10. 增量导出“完全”增量导出(complete),即备份整个数据库 exp system/manager inctype=complete file=990702.dmp“增量型”增量导出(incremental),即备份上一次备份后改变的数据 exp system/manager inctype=i

10、ncremental file=990702.dmp“累计型”增量导出(cumulative),即备份上一次“完全”导出之后改变的数据 exp system/manager inctype=cumulative file=990702.dmp1. 如何查看 ORACLE 的隐含参数?ORACLE 的显式参数,除了在 INIT.ORA 文件中定义的外,在 svrmgrl 中用“show parameter *“,可以显示。但 ORACLE 还有一些参数是以“_”,开头的。如我们非常熟悉的“_offline_rollback_segments”等。这些参数可在 sys.x$ksppi 表中查出。语

11、句:“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 A

12、ddress Size1153 7fe000 7841154 800000 4194304001155 19800000 671088644. 如何查看当前 SQL*PLUS 用户的 sid 和 serial#?第 5 页 共 7 页在 SQL*PLUS 下,运行:“select sid, serial#, status from v$sessionwhere audsid=userenv(sessionid);”5. 如何查看当前数据库的字符集?在 SQL*PLUS 下,运行:“select userenv(language) from dual;”或:“select userenv(lan

13、g) 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. 如何删除表中的重复记录?例句:

14、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 US7ASCII第 6 页 共 7 页ERROR at

15、 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

16、 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 FI

17、LE=(ORDER_1.DMP,ORDER_2.DMP,ORDER_3.DMP) FILESIZE=1G TABLES=ORDER;其他版本的 ORACLE 在 UNIX 下可利用管道和 split 分割:mknod pipe psplit -b 2048m pipe order - 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 r

18、ecordlength=65535imp usr/usr file=exp.dmp log=imp.log ignore=y buffer=65535 recordlength=65535 feedback=10000 commit=y前者导出只要 10 分钟后者导入花了 4 个多小时jshx 甲骨文四段UID 106148精华 0积分 403帖子 403金钱 8 O 元阅读权限 80注册 2005-6-30状态 离线 #2大 中 小 使用道具 发表于 2007-3-3 10:53 资料 个人空间 短消息 加为好友 1 如果用户 bb 数据库里没有 tbs_aa 表空间,导入的时候应 该是将表

19、自动创建在 bb 默认的表空间上的,把 ignore 参数设为 y 就可以了2 imp 时把 commit 参数设为 y ,还有设置 feedback 参数,例如 feedback=10000 ,每插入 1w 行,imp程序会显示一次进度.请教:关于 oracle 的数据导入导出(exp/imp)问题?1.本地一个数据库用户 aa,其所在用户数据均在表空间 tbs_aa 上,将该用户数据 export 后,需要 import 进异地另外一个数据库中的表空间 tbs_bb 中,tbs_bb 是该数据库用户 bb 的默认表空间,请问上述 imp 如何操作?2.建设我正 imp 入一个大表(比如 T_test),由于该表数据量较大,在 import 时,界面只提示如下信息:“importing T_test.“,而这时查询导入的该表记录条数总为零,只有当数据全部导入完毕时,才会提交记录条数.我想知道在这个漫长的导入过程中,如何察看数据的导入过程,即确定数据正被一行一行写入。或者如何实现一边 import 数据,一边提交记录条数?引用 报告 回复

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报