常用工具命令整理
- 格式:doc
- 大小:77.50 KB
- 文档页数:7
常用工具命令介绍fglWrt -a info users 在线情况fglWrt –i 杀死所有进程ps –ef|grep [pid]who --看谁在线clear --清除屏幕date --显示系统日期时间id --当前身份su --切换帐号man --帮助命令ps –ef --查看系统进程kill -9 [pid] --杀进程top --显示系统信息init 0 --关机init 6 --重启命令存放地$TOP/ds4gl2/bin r.f2,r.l2,udm7等$TOP/ora/bin unload,unloadx等/u1/pub/bin chenv$TOP/ora/scripts$TOP/ora/scripts下的常用sql脚本:1)datatype.sql作用:列出informix和oracle的数据类型的差异。
适用情形:有时要新增table时,需要我们编写维护sql档,有数据类型不清楚的,可参考此。
使用方法:不用执行,只需vi打开看即可,下面就是它的内容:/*---< 资料库栏位型态对照表 >--- ---< 范例 >--- Informix => Oracle Informix => Oracle --------------- ---------- --------- ---------- INTEGER NUMBER(10) SMALLINT NUMBER(5) CHAR VARCHAR2 CHAR(20) VARCHAR2(20) DECIMAL NUMBER DECIMAL(15,3) NUMBER(15,3) SERIAL NUMBER(10,0) DATE DATE DATETIME YEAR TO SECOND DATEPS: Informix 的 ROWID 型态为 Integer, Oracle 的是 CHAR(18) */2)q_index.sql作用:列出指定table的所有索引(index)。
适用情形:想查看某些表的主键和索引。
使用方法:SQL> @q_index请输入欲查询之表格名称: ima_fileIndex Status Unique?----------------- --------- --------------------IMA_01 VALID UNIQUEIMA_03 VALID NONUNIQUEIMA_12 VALID NONUNIQUEIndex Order Column------------------ ------- ----------------------------------IMA_01 1 IMA01IMA_03 1 IMA75IMA_03 2 IMA76IMA_12 1 IMA12说明:打下@q_index后,脚本会提示你输入表名,输入ima_file输出分两段,第一段列出ima_file有几个索引,哪些是unique(主键)的,我们可以看出ima_file有ima_01,ima_03,ima_12三个索引;第二段列出每个索引有哪些字段组成,例如索引ima_03有ima75和ima76两个字段组成。
3)q_locktable.sql作用:列出数据库中有哪些table被锁住。
适用情形:程序非法中断时,有些记录在数据库中还处于加锁状态,列出它们,并用命令释放锁使用方法:执行此脚本时,需要以system用户身份进入sqlplus,system用户的密码一般为manager sqlplus system/managerSQL> @q_locktableLocked Object Tiptop User Proc Terminal SID SERIAL# MACHINE------------ ---------- ----- --------- ---- ------- --------DS.AZB_FILE top 19491 pts/2 7 18447 top88可见ds的azb_file被锁,要释放该锁,需另外下命令 alter system kill session'sid,serial#'在这里,即:SQL> alter system kill session '7,18447'System altered当看到system altered就表示成功解锁了注意:当kill session后,数据会被回滚到lock之前的状态最后不要忘了退出system用户的身份,因为system用户是不能正常访问ds库的SQL> quit或SQL> conn ds/ds4) q_session.sql作用:列出当前有哪些用户和你一同在线。
适用情形:有时想查出谁在跟你捣乱(嘿嘿)使用方法:SQL> @q_session SID DB User Tiptop User Proc ID Terminal ------ ----------------- ------------------- ----------- -------------30 DS dido 298031 DS echo 301735 SYSTEM will 3729例如dido以ds用户登录,will是以system用户登录的注意:SID列很重要,它是唯一区别每个连接的标志,后面有用。
5) q_synonym.sql作用:列出当前用户的所有同义词。
适用情形:想查出系统中有哪些table是同义词使用方法:这支脚本只能查看当前用户的所有同义词,若是以ds登录的,一般是看不到同义词的,因为ds用户不需要引用其它用户的table。
SQL> conn ds1/ds1Connected.SQL> @q_synonymSynonym Owner.Table-------------------- ----------------------------------------AZP_FILE DS.AZP_FILE。
DIC_FILE DS.DIC_FILEGAB_FILE DS.GAB_FILEGAE_FILE DS.GAE_FILE。
ZAA_FILE DS.ZAA_FILEZE_FILE DS.ZE_FILE。
切换到ds1后,运行这支脚本,可以看出ds1下的gae_file,ze_file等都是借用ds用户的6)q_syn.sql作用:列出所有用户的所有同义词。
适用情形:想查出系统中有哪些table是同义词使用方法:运行这支脚本需要是system用户,它会列出ds1,ds2,dstest等所有用户的同义词,由于输出量很大,它的输出同时还会保存在q_syn.out中7)q_tbsFREE.sql作用:列出数据库表空间的使用情况。
适用情形:在imp、load整个库的时候还是看一下有多少剩余空间。
使用方法:运行这支脚本需要是system用户SQL> conn system/managerConnected.SQL> @q_tbsFREEExecute datetime----------------2005/11/07 14:11TABLESPACE_NAME BYTES_USED BYTES_FREE LARGEST PERCENT_USED --------------------------- ---------- ---------- ---------- ------------ SYSTEM 262144000 48168960 48168960 81.63 TEMPTABS 104857600 57409536 57344000 45.25 DBS1 2097152000 1410662400 1410269184 32.73 UNDOTBS1 209715200 208338944 200605696 .66 TOOLS 10485760 10420224 10420224 .63 INDX 26214400 26148864 26148864 .25 USERS 26214400 26148864 26148864 .25 我们最关心的就是DBS1表空间的使用率,我们的各个库(ds,ds1,ds2,dstest等)都存在这个表空间中,从上面可以看出DBS1已经使用了32.73%8) q_tabPRI.sql作用:列出数据库中所有table的访问权限。
适用情形:查看有哪些table少赋权限的使用方法:运行这支脚本需要是system用户,输出保存在q_tabPRI.out中9) q_tabPRIerr.sql作用:列出数据库中不是开放所有权限 (insert,delete,update,index,select)的表。
适用情形:查看有哪些table少赋权限的使用方法:运行这支脚本需要是system用户,输出保存在q_tabPRIerr.out中10)q_users.sql作用:列出数据库中有哪些用户(即我们常说的有哪些库)。
适用情形:查看建了哪些库使用方法:运行这支脚本需要是system用户SQL> conn system/managerSQL> @q_usersExecute datetime----------------2005/11/07 15:11USERNAME USER_ID DEFAULT_TABLESPACE--------------------------- -------- ------------------------------SYS 0 SYSTEMSYSTEM 5 SYSTEMDBSNMP 19 SYSTEMDS 23 DBS1DS1 25 DBS1DS_REPORT 27 DBS1DS_REPORT1 28 DBS1DS2 26 DBS1DSTEST 24 DBS1OUTLN 11 SYSTEMWMSYS 21 SYSTEM11)q_sqlOPENCS作用:列出数据库中已开了哪些游标。
适用情形:查看有哪些记录是否正在被他人使用使用方法:运行这支脚本需要是system用户,它会列出open那些cursor的sql语句SQL> conn system/managerConnected.SQL> @q_sqlOPENCSExecute datetime----------------2005/11/07 15:11USERNAME SQL_TEXT------------------------------------------------------------------------- DS(30) select gaj03,gaj04,gaj05,gaj06 from gaj_file where gaj01 = DS(30) select gay01, gay03 from gay_file where gay02 = :p1DS(31) select zaa09, zaa02,zaa03,zaa14,zaa05,zaa06,zaa15,zaa07,zaa0 SYSTEM(9) select nvl(USERNAME,'ORACLE PROC')||'('||s.SID||')' username USERNAME后括号里的数字是这个用户登录的SID,通过这个SID再结合q_session.sql这支脚本就可查出真正的OS用户,如30是dido用户12) q_sqlRUNCS作用:列出数据库中哪些游标正在运行。