《Oracle日常维护-运维基础篇》由会员分享,可在线阅读,更多相关《Oracle日常维护-运维基础篇(7页珍藏版)》请在人人文库网上搜索。
1、Oracle 日常维护:数据库启动、关闭介绍数据库启动说明 :1、两台主机启动后,首先检查IEM的HACMP双机软件是否已启动,可通过以下 命令去查看HA是否已启动:#lssrc - l cluster(此命令应该出来至少2行显示cluster active,即两台主机2个HA服务才算正常 )#lsvg - o(此命令结果在两台主机应该看到oradatavg这个共享、并发的卷组VG)假设HA服务没有启,需要使用命令在两台主机上分别启动:# smitty clstart(HA 启动一后 oradatavg 卷组才会看得见 )2、在确保HA服务已启动后,便可启动ORACLE数据库:$sqlplus。
2、 /nolog$conn as sysdba或 $sqlplus “ system/sys as sysdba ”Sqlstartup3、启动监听后台进程:$lsnrctl start LISTENER_PBS数据库关闭说明 :1、关闭ORACLE数据库:$sqlplus “ system/sys as sysdba ” Sqlshutdown immediate2、关闭监听后台进程:$ lsnrctl stop LISTENER_PBS3、关闭HA服务:# smitty clstop4、重启IEM主机:# shutdown -Fr其它 AIX 相关的维护命令:1、 查看 lv 裸设备大小及使。
3、用情况:#lsvg - oradatavg07906251933Oracle导出程序Exp的使用具体过程格式:expuser name/passwordserviceOracle的导出实用程序(Export utility)允许从数据库提取数据,并且将数据写入操作系统文件。exp使用的基本1.获取帮助exp help=y2.导出一个完整数据库exp system/ma nager file=bible_dblog=dible_dbfull=y3.导出数据库定义而不导出数据exp system/ma nager file=bible_dblog=dible_dbfull=yrows=n4.导出一。
4、个或一组指定用户所属的全部表、索引和其他对象exp system/ma nagerfile=seaparklog=seaparkown er=seaparkexp system/ma nagerfile=seaparklog=seaparkown er=(seapark,amy,amyc,harold),以下例举exp常用用法。注意:在导出用户时,尽管已经得到了这个用户的所有对象,但是还是不能得到这些对象引用的任何同义词。解决方法是用以下的 SQL*Plus命令创建一个脚本文件,运行这个脚本文件可以获得一个重建seapark所属对象的全部公共同义词的可执行脚本,然后在目标数据库上运行该脚本就可。
5、重建同义词了。SET LINESIZE 132SET PAGESIZE 0SET TRIMSPOOL ONSPOOL c:seapark.s ynSELECT Create public synonym |synonym_name for |table_ow ner| .|table_ name;FROM dba_s ynonymsWHERE table_owner= SEAPARK AND owner = PUBLIC;SPOOL OFF5.导出一个或多个指定表expseapark/seaparkfile=ta nklog=ta nktables=ta nkexpsystem/ma nage。
6、rfile=ta nklog=ta nktables=seapark.ta nkexpsystem/ma nagerfile=ta nklog=ta nktables=(seapark.ta nk,amy.artist)6. 估计导出文件的大小 全部表总字节数: SELECT sum(bytes) FROM dba_segments WHERE segment_type = TABLE;seapark 用户所属表的总字节数:SELECT sum(bytes)FROM dba_segmentsWHERE owner = SEAPARKAND segment_type = TABLE;seapar。
7、k 用户下的 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=Where。
8、 salad_type=FRUITtables=amy.salad_typefile=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 参数文件:Bible.#Export the sample tables used。
9、 for the Oracle8i Database Administrators file=bible_tablesIog=bible_tablestables=(amy.artistamy.booksseapark.checkupseapark.items)10. 增量导出“完全”增量导出(complete),即备份整个数据库exp system/ma nagerin ctype=completefile=990702.dmp“增量型”增量导出(in creme ntal),即备份上一次备份后改变的数据exp system/ma nagerin ctype=in creme ntalfil。
10、e=990702.dmp“累计型”增量导出(cumulative),即备份上一次“完全”导出之后改变的数据exp system/ma nagerin ctype=cumulativefile=990702.dmp1. 如何查看ORACLE的隐含参数?ORACLE还有一些参ORACLE的显式参数,除了在 INIT.ORA 文件中定义的外,在 svrmgrl中用show parameter *,可以显示 数是以“_;开头的。如我们非常熟悉的“_offline_rollback_segments 等。这些参数可在sys.x$ksppi表中查出。语句:“select ksppinm from x$ks。
11、ppi where substr(ksppinm,1,1)=_:”2. 如何查看安装了哪些 ORACLE组件?进入$ORACLE_HOME/orainst/ ,运行./inspdver,显示安装组件和版本号。3. 如何查看ORACLE所占用共享内存的大小?可用UNIX命令“ipcs查看共享内存的起始地址、信号量、消息队列。在svrmgrl下,用“oradebug ipc,可看出ORACLE占用共享内存的分段和大小。example:SVRMGR oradebug ipcShared memorySeg Id Address Size1153 7fe000 7841154 800000 41943。
12、04001155 19800000 671088644. 如何查看当前 SQL*PLUS用户的sid和serial#?在SQL*PLUS下,运行:“select sid, serial#, status from v$sessionwhere audsid=userenv(sessio nid); ”5. 如何查看当前数据库的字符集 ?在SQL*PLUS下,运行:“select userenv(language) from dual;”或:“select userenv(lang) from dual;”6. 如何查看数据库中某用户,正在运行什么SQL语句?根据 MACHINE、USERNAM。
13、E 或 SID、SERIAL#,连接表 V$SESSION 和 V$SQLTEXT,可查出。SQL*PLUS 语句:“SELECT SQL_TEXT FOM 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 tab。
14、le_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,字符集已更改成功。。
15、但重启数据库后,数据库字符集又变回原来的了。该命令可用于临时的不同字符集服务器之间数据倒换之用。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 产生 E。
16、XPLAIN 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下可利用管道和。
17、split分割:mknod pipe psplit -b 2048m pipe order & #将文件分割成,每个 2GB大小的,以order为前缀的文件:#orderaa,orderab,orderac,.并将该进程放在后台。EXP SCOTT/TIGER FILE=pipe tables=order具体方法如下:先创建一个文件如:exp_file 内容为filesize=500Mfile=full_YYYYMMDD_01.dmp,full_YYYYMMDD_02.dmp,full_YYYYMMDD_03.dmp full=y in ctype=complete buffer=102400。
18、00 再使用 exp user/password parfile=exp_file一个exp/imp 的实例,还有什么改进可以提高速度吗下面是从9i导岀到9i的一个实例,请帮我看看还有什么改进的地方可以提高速度首先在需要导入的数据库中新建用户-Create the usercreate user usridentified by usrdefault tablespace TESTtemporary tablespace TEMPprofile DEFAULT;-Grant/Revoke role privilegesgrant connect to usr;grant resource to。
19、 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个多小时请教:关于oracle的数据导入导出(exp/imp) 问题?1. 本地一个数据库用户 aa,其所在用户数据均在表空间 tbs_aa上,将该用户数据 export后,需要import进 异地另外一个数据库中的表空间 tbs_bb中,tbs_bb是该数据库用户bb的默认表空间,请问上述 imp如何 操作?2. 建设我正imp入一个大表(比如T_test),由于该表数据量较大,在import时,界面只提示如下信息:importing T_test.,而这时查询导入的该表记录条数总为零,只有当数据全部导入完毕时,才会提交记录 条数.我想知道在这个漫长的导入过程中,如何察看数据的导入过程,即确定数据正被一行一行写入。或者如何实现一边import数据,一边提交记录条数?引用报告回复。