常用工具命令整理

更新时间:2024-01-13 03:55:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

TIPTOP技术文档 2005/11/04

常用工具命令介绍

命令存放地

$TOP/ds4gl2/bin $TOP/ora/bin /u1/pub/bin

r.f2,r.l2,udm7等 unload,unloadx等 chenv

$TOP/ora/scripts

$TOP/ora/scripts下的常用sql脚本:

1) datatype.sql

作用:列出informix和oracle的数据类型的差异。

适用情形:有时要新增table时,需要我们编写维护sql档,有数据类型不清楚的,可参考此。 使用方法:不用执行,只需vi打开看即可,下面就是它的内容:

/* ---< 资料库栏位型态对照表 >--- ---< 范例 >--- Informix => Oracle Informix => Oracle --------------- ---------- --------- ---------- INTEGER SMALLINT CHAR DECIMAL SERIAL

NUMBER(10) NUMBER(5) VARCHAR2 NUMBER

CHAR(20) VARCHAR2(20) DECIMAL(15,3) NUMBER(15,3)

NUMBER(10,0) DATE DATE

DATE DATETIME YEAR TO SECOND

PS: Informix 的 ROWID 型态为 Integer, Oracle 的是 CHAR(18) */

2)q_index.sql

作用:列出指定table的所有索引(index)。

适用情形:想查看某些表的主键和索引。 使用方法:

SQL> @q_index 请输入欲查询之表格名称: ima_file Index Status Unique? ----------------- --------- -------------------- IMA_01 VALID UNIQUE IMA_03 VALID NONUNIQUE IMA_12 VALID NONUNIQUE Index Order Column ------------------ ------- ----------------------------------

第1页/共7页

TIPTOP技术文档 2005/11/04

IMA_01 1 IMA01 IMA_03 1 IMA75 IMA_03 2 IMA76 IMA_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/manager

SQL> @q_locktable

Locked 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/ds

4) q_session.sql

作用:列出当前有哪些用户和你一同在线。 适用情形:有时想查出谁在跟你捣乱(嘿嘿) 使用方法:

SQL> @q_session SID DB User Tiptop User Proc ID Terminal ------ ----------------- ------------------- ----------- ------------- 30 DS dido 2980 31 DS echo 3017 35 SYSTEM will 3729 例如dido以ds用户登录,will是以system用户登录的

注意:SID列很重要,它是唯一区别每个连接的标志,后面有用。

第2页/共7页

TIPTOP技术文档 2005/11/04

5) q_synonym.sql

作用:列出当前用户的所有同义词。

适用情形:想查出系统中有哪些table是同义词

使用方法:这支脚本只能查看当前用户的所有同义词,若是以ds登录的,一般是看不到同义词的,因 为ds用户不需要引用其它用户的table。

SQL> conn ds1/ds1 Connected. SQL> @q_synonym

Synonym Owner.Table

-------------------- ---------------------------------------- AZP_FILE DS.AZP_FILE 。。。。。 。。。。。。 DIC_FILE DS.DIC_FILE GAB_FILE DS.GAB_FILE GAE_FILE DS.GAE_FILE 。。。。。 。。。。。。 ZAA_FILE DS.ZAA_FILE ZE_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/manager Connected. SQL> @q_tbsFREE

Execute datetime ---------------- 2005/11/07 14:11

TABLESPACE_NAME BYTES_USED BYTES_FREE LARGEST PERCENT_USED --------------------------- ---------- ---------- ---------- ------------ SYSTEM 262144000 48168960 48168960 81.63 TEMPTABS 104857600 57409536 57344000 45.25

第3页/共7页

TIPTOP技术文档 2005/11/04

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/manager SQL> @q_users

Execute datetime ---------------- 2005/11/07 15:11

USERNAME USER_ID DEFAULT_TABLESPACE

--------------------------- -------- ------------------------------ SYS 0 SYSTEM SYSTEM DBSNMP DS DS1

5 SYSTEM 19 SYSTEM 23 DBS1 25 DBS1 27 DBS1 28 DBS1 26 DBS1 24 DBS1 11 SYSTEM 21 SYSTEM

DS_REPORT DS_REPORT1 DS2 DSTEST OUTLN

WMSYS

11)q_sqlOPENCS

第4页/共7页

TIPTOP技术文档 2005/11/04

作用:列出数据库中已开了哪些游标。

适用情形:查看有哪些记录是否正在被他人使用

使用方法:运行这支脚本需要是system用户,它会列出open那些cursor的sql语句

SQL> conn system/manager Connected.

SQL> @q_sqlOPENCS

Execute datetime ---------------- 2005/11/07 15:11

USERNAME SQL_TEXT

------------------------------------------------------------------------- DS(30) select gaj03,gaj04,gaj05,gaj06 from gaj_file where gaj01 = DS(30) select gay01, gay03 from gay_file where gay02 = :p1

DS(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

作用:列出数据库中哪些游标正在运行。

适用情形:查看有哪些记录是否正在被他人使用

使用方法:运行这支脚本需要是system用户,它会列出running那些cursor的sql语句

SQL> conn system/manager Connected.

SQL> @q_sqlRUNCS

Execute datetime ----------------

2005/11/07 16:11

USERNAME SQL_TEXT

------------- ------------------------------------------------------ DS(17) select COUNT(*) from gav_file where gav01 = :p1 AND gav08 DS(17) select COUNT(*) from gav_file where gav01 = :p1 AND gav08 DS(19) select COUNT(*) from gav_file where gav01 = :p1 AND gav08 DS(19) select COUNT(*) from gav_file where gav01 = :p1 AND gav08 DS(22) select gae04 from gae_file where gae01 = 'cl_prt_m' AND g

$TOP/ora/bin下常用工具命令

convert

第5页/共7页

TIPTOP技术文档 2005/11/04

作用:把一支informix写法的作业,转成oracle写法的,原作业并未改变,只是新生成一个临时文件 适用情形:有时需要自己为一支作业编写ora脚本,可用convert来检查转换后的4gl是否正确 用法:cd aim/4gl

convert aimi100 (生成aimi100T.4gl,原aimi100.4gl并未改变) 检查aimi100T.4gl是否转换正确

convert_4glall

作用:把系统中所有的4gl作业都转成oracle写法的,原作业改变,不生成临时文件 用法:convert_4glall

Convert 全部 4gl! 确定执行(y/n) ? y

convert_sql

作用:把为informix数据库建表的sql档转成为oracle数据库建表的sql档,原文件改变,不生成临时

文件

用法:convert_sql c_ima.sql c_imb.sql (可几个文件一起转)

convert_sqlall

作用:把系统中所有的sql文件都转成为oracle建表用的,原文件改变,不生成临时文件 用法:convert_sqlall

Convert 全部 sql! 确定执行(y/n) ? y

finderr

作用:列出错误号的详细信息

用法:finderr -239 0(0表示语言别,加参数0可显示出中文的信息)

unload/unloadx

作用:导出数据库中的记录

差别:unloadx多用来导出一个表的记录,且可以下条件,有选择性地导出

unload导出一个表,一批表或整个库的表的全部记录

用法:unloadx ds ze_file.txt \

'aim-%'\

unload ds ima_file ima_file.txt (ima_file表导到ima_file.txt中去)

load/loadx

作用:导入数据库中的记录

差别:loadx多用来导入一个表的记录,可有选择性地导入

load导入一个表,一批表或整个库的表的全部记录

loadx ds ze_file.txt \(导入ze_file的全部列 )

用法:loadx ds ze_file.txt \

load ds ima_file ima_file.txt (把ima_file.txt导到ima_file表中去)

注意:在数据导入导出前,最好先执行export DBDATE=Y4MD/,这样导入导出的数据年份不会有误差。

第6页/共7页

TIPTOP技术文档 2005/11/04

一些其它有用的命令

b5togb/gbtob5

作用:繁简转换

适用情形:把繁体环境的4gl,per,txt等文件搬到简体,或反之

用法:cat ima_file.txt | b5togb > tmp_file 把繁体的表数据转成简体的,生成到一个临时

文件

mv tmp_file ima_file.txt 重命名覆盖原来文件

alter table的用法

alter table tab_name add (f1 int,f2 int)

alter table tab_name modify (f1 varchar2(20) not null,f2 varchar2(20)) alter table tab_name drop (f1,f2) 注意:alter table后一定要r.s2

第7页/共7页

本文来源:https://www.bwwdw.com/article/pneo.html

Top