SQL PLUS 命令大全

合集下载

SQLplus常用指令

SQLplus常用指令

C:\>sqlpus /nologSQL>connect scott/tiger1.1 desc 指令Desc dept;查询dept表1.2column指令(1)格式化模式‘9‘(不带小数点)col grade for 99col losal for 9999col hisal for 9999格式化模式‘9‘(带小数点)col hisal for 9999.99(2)格式化模式‘a’如果显示结果的某列是字符型的,且占用较大宽度,此时可以使用格式化模式’a’Col object_name for a20(3)格式化模式‘$’Col losal for $9999(4)格式化模式‘L’(本地的货币格式)Col losal for L9999(5)可以使用如下的指令查询当前数据库支持的字符集Select userenv(‘language’) from dual;CHINESE_CHINA.ZHS16GBK(语言_区域_字符集)显然这里的语言是中文,区域是中国,字符集是中文字符集。

ZHS16GBK的组成是<语言><比特位><编码>。

这里的语言是ZHS,比特位是16,编码方案是GBK。

字符集ZHS16GBK的含义是采用GBK编码的16位表示的简体中文。

(6)clear 删除格式化设置col losal clear(7)heading text 格式化列名col losal heading ‘低工资’set heanding {on/off} 设置是否显示标题(8)jus[tify] {left\center\right}调整列属性名字显示在当前显示字符宽度范围内的位置,可以在字符宽度范围内的左边,中间,右边放置。

Col dname jus center(9)new [line]从该列开始的所有列的显示将另起一行。

Col dname newline(10)noprint/printCol loc noprintCol loc print(恢复显示列)(11) null[L] text把列中值为空值的字段用随后的text文本替代。

SQLPlus命令使用大全

SQLPlus命令使用大全

SQL*PLUS命令的使用大全SQL*PLUS命令的使用大全1. 执行一个SQL脚本文件 (1)2. 对当前的输入进行编辑 (1)3. 重新运行上一次运行的sql语句 (1)4. 将显示的内容输出到指定文件 (1)5. 关闭spool输出 (2)6.显示一个表的结构 (2)7. COL命令: (2)1). 改变缺省的列标题 (2)2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上: (2)3). 改变列的显示长度: (3)4). 设置列标题的对齐方式 (3)5). 不让一个列显示在屏幕上 (3)6). 格式化NUMBER类型列的显示: (4)7). 显示列值时,如果列值为NULL值,用text值代替NULL值 (4)8). 设置一个列的回绕方式 (4)9). 显示列的当前的显示属性值 (4)10). 将所有列的显示属性设为缺省值 (4)8. 屏蔽掉一个列中显示的相同的值 (5)9. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n个空行。

(5)10. 显示对BREAK的设置 (5)11. 删除8、9的设置 (5)12. Set 命令: (5)1).设置当前session是否对修改的数据进行自动提交 (7)2).在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句.73).是否显示当前sql语句查询或修改的行数 (7)4).是否显示列标题 (7)5).设置一行可以容纳的字符数 (7)6).设置页与页之间的分隔 (7)7).显示时,用text值代替NULL值 (7)8).设置一页有多少行数 (7)9).是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息。

(8)10).当SQL语句的长度大于LINESIZE时,是否在显示时截取SQL语句。

(8)11).是否在屏幕上显示输出的内容,主要用与SPOOL结合使用。

基本的sqlplus命令

基本的sqlplus命令

基本的sqlplus命令有些东西看起来很简单,可是时间长了以后,我们就会忘的⼀⼲⼆净,所以我们平时做⼀些简短的笔记还是很有效的。

以下是⼀些sqlpus命令remark 注释⾏set headsep 标题分隔符ttitle 头标题btitle 尾标题column 列标题及列格式设定break on 报表各部分间插⼊空格或将⼩计和总计断开compute sum 计算⼩计set linesize ⾏的最⼤字符数set pagesize 页中的⾏数set newpage 页间的空⾏数spool 将报表写⼊到⽂件/**/ 多⾏注释-- 单⾏注释set pause 页间停顿save 将建⽴的SQL查询存诸到⽂件host 执⾏外部命令start或@ 执⾏sqlplus脚本edit 进⼊⾃定义的编辑器define_editor 定义编缉器exit或quit 退出sqlplus⼀个例⼦rem bookshelf activity reportset headsep !ttitle 'Checkout Log for 1/1/02-3/31/2'btitle 'from the BookSelf'column Name format a20column Title format a20 word_wrappedcolumn DaysOut format 999.99column DaysOut heading 'Day!Out'break on Name skip 1 on reportcompute avg of DaysOut on Namecompute avg of DaysOut on reportset linesize 80set pagesize 60set newpage 0set feedback offspool activity.lstselect Name,Title,CheckoutDate,ReturnedDate,ReturnedDate-CheckoutDate as DayOutfrom BOOKSELF_CHECKOUTorder by Name,CheckoutDate;spool off这个脚本的基本结构:注释标题设定列标题及列格式设定⼩计及总计设定各部分间隔设定页⾯设定打印到⽂件选择数据alter procedure 编辑存储过程。

SQL PLUS

SQL PLUS

一、SQL PLUS1 引言SQL命令以下17个是作为语句开头的关键字:alter drop revokeaudit grant rollback*commit* insert selectcomment lock updatecreate noaudit validatedelete rename这些命令必须以“;”结尾带*命令句尾不必加分号,并且不存入SQL缓存区。

SQL中没有的SQL*PLUS命令这些命令不存入SQL缓存区@ define pause# del quit$ describe remark/ disconnect runaccept document saveappend edit setbreak exit showbtitle get spoolchange help sqlplusclear host startcolumn input timingcompute list ttitleconnect newpage undefinecopy-------2 数据库查询数据字典TAB 用户创建的所有基表、视图和同义词清单DTAB 构成数据字典的所有表COL 用户创建的基表的所有列定义的清单CA TALOG 用户可存取的所有基表清单select from tab;describe命令描述基表的结构信息describe deptselectfrom emp;select empno,ename,jobfrom emp;select from deptorder by deptno desc;逻辑运算符= !=或<> > >= < <=inbetween value1 and value2like%_in nullnotno in,is not null谓词in和not in有哪些职员和分析员select ename,jobfrom empwhere job in ('clerk','analyst');select ename,jobfrom empwhere job not in ('clerk','analyst');谓词between和not between哪些雇员的工资在2000和3000之间select ename,job,sal from empwhere sal between 2000 and 3000;select ename,job,sal from empwhere sal not between 2000 and 3000;谓词like,not likeselect ename,deptno from empwhere ename like 'S%';(以字母S开头)select ename,deptno from empwhere ename like '%K';(以K结尾)select ename,deptno from empwhere ename like 'W___';(以W开头,后面仅有三个字母)select ename,job from empwhere job not like 'sales%';(哪些雇员的工种名不以sales开头)谓词is null,is not null没有奖金的雇员(即commision为null)select ename,job from empwhere comm is null;select ename,job from empwhere comm is not null;多条件查询select ename,jobfrom empwhere deptno=20and job!='clerk';表达式/算术表达式选择奖金高于其工资的5%的雇员select ename,sal,comm,comm/sal from emp where comm>.05*salorder by comm/sal desc;日期型数据的运算add two days to 6Mar-876-Mar-87 2 = 8-Mar-87add two hours to 6-Mar-876-Mar-87 2/24 = 6-Mar-87 and 2hrsadd 15 seconds to 6-Mar-876-Mar-87 15/(24*60*60) = 6-Mar-87 and 15 secs 列名的别名select ename employee from empwhere deptno=10;(别名:employee)select ename,sal,comm,comm/sal "C/S RATIO" from empwhere comm>.05*salorder by comm/sal desc;SQL命令的编辑list or l 显示缓冲区的内容list 4 显示当前SQL命令的第4行,并把第4行作为当前行,在该行号后面有个*。

SQLPLUS命令的使用大全

SQLPLUS命令的使用大全

.SQLPLUS命令的使用大全1. 执行一个SQL脚本文件SQL>start file_nameSQL>@ file_name我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。

2. 对当前的输入进行编辑SQL>edit3. 重新运行上一次运行的sql语句SQL>/4. 将显示的内容输出到指定文件SQL> SPOOL file_name在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。

5. 关闭spool输出SQL> SPOOL OFF只有关闭spool输出,才会在输出文件中看到输出的内容。

6.显示一个表的结构SQL> desc table_name7. COL命令:主要格式化列的显示形式。

该命令有许多选项,具体如下:COL[UMN] [{ column|expr} [ option ...]]Option选项可以是如下的子句:ALI[AS] aliasCLE[AR]FOLD_A[FTER]FOLD_B[EFORE]FOR[MAT] formatHEA[DING] textJUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}LIKE { expr|alias}NEWL[INE]NEW_V[ALUE] variableNOPRI[NT]|PRI[NT]NUL[L] text.OLD_V[ALUE] variableON|OFFWRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]1). 改变缺省的列标题COLUMN column_name HEADING column_headingFor example:Sql>select * from dept;DEPTNO DNAME LOC---------- ---------------------------- ---------10 ACCOUNTING NEW YORKsql>col LOC heading locationsql>select * from dept;DEPTNO DNAME location--------- ---------------------------- -----------10 ACCOUNTING NEW YORK2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上:Sql>select * from empDepartment name Salary---------- ---------- ----------10 aaa 11SQL> COLUMN ENAME HEADING ’Employee|Name’Sql>select * from empEmployeeDepartment name Salary---------- ---------- ----------10 aaa 11note: the col heading turn into two lines from one line.3). 改变列的显示长度:FOR[MAT] formatSql>select empno,ename,job from emp;EMPNO ENAME JOB---------- ---------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMANSql> col ename format a40EMPNO ENAME JOB---------- ---------------------------------------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMAN.4). 设置列标题的对齐方式JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}SQL> col ename justify centerSQL> /EMPNO ENAME JOB---------- ---------------------------------------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMAN对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边5). 不让一个列显示在屏幕上NOPRI[NT]|PRI[NT]SQL> col job noprintSQL> /EMPNO ENAME---------- ----------------------------------------7369 SMITH7499 ALLEN7521 WARD6). 格式化NUMBER类型列的显示:SQL> COLUMN SAL FORMAT $99,990SQL> /EmployeeDepartment Name Salary Commission---------- ---------- --------- ----------30 ALLEN $1,600 3007). 显示列值时,如果列值为NULL值,用text值代替NULL值COMM NUL[L] textSQL>COL COMM NUL[L] text8). 设置一个列的回绕方式WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]COL1--------------------HOW ARE YOU?SQL>COL COL1 FORMAT A5SQL>COL COL1 WRAPPEDCOL1-----.HOW ARE YOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOWAREYOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOW A9). 显示列的当前的显示属性值SQL> COLUMN column_name10). 将所有列的显示属性设为缺省值SQL> CLEAR COLUMNS8. 屏蔽掉一个列中显示的相同的值BREAK ON break_columnSQL> BREAK ON DEPTNOSQL> SELECT DEPTNO, ENAME, SALFROM EMPWHERE SAL < 2500ORDER BY DEPTNO;DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 11009. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n 个空行。

SQLPLUS命令的使用大全资料

SQLPLUS命令的使用大全资料

SQLPLUS命令的使用大全(加入日期:2005-12-12)【保存文章至硬盘】【打印文章】【字体:大中小】分享到:1. 执行一个SQL脚本文件SQL>start file_nameSQL>@ file_name我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。

2. 对当前的输入进行编辑SQL>edit3. 重新运行上一次运行的sql语句SQL>/4. 将显示的内容输出到指定文件SQL> SPOOL file_name在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。

5. 关闭spool输出SQL> SPOOL OFF只有关闭spool输出,才会在输出文件中看到输出的内容。

6.显示一个表的结构SQL> desc table_name7. COL命令:主要格式化列的显示形式。

该命令有许多选项,具体如下:COL[UMN] [{ column|expr} [ option ...]]Option选项可以是如下的子句:ALI[AS] aliasCLE[AR]FOLD_A[FTER]FOLD_B[EFORE]FOR[MAT] formatHEA[DING] textJUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}LIKE { expr|alias}NEWL[INE]NEW_V[ALUE] variableNOPRI[NT]|PRI[NT]NUL[L] textOLD_V[ALUE] variableON|OFFWRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]1). 改变缺省的列标题COLUMN column_name HEADING column_headingFor example:Sql>select * from dept;DEPTNO DNAME LOC---------- ---------------------------- ---------10 ACCOUNTING NEW YORKsql>col LOC heading locationsql>select * from dept;DEPTNO DNAME location--------- ---------------------------- -----------10 ACCOUNTING NEW YORK2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上:Sql>select * from empDepartment name Salary---------- ---------- ----------10 aaa 11SQL> COLUMN ENAME HEADING ’Employee|Name’Sql>select * from empEmployeeDepartment name Salary---------- ---------- ----------10 aaa 11note: the col heading turn into two lines from one line.3). 改变列的显示长度:FOR[MAT] formatSql>select empno,ename,job from emp;EMPNO ENAME JOB---------- ---------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMANSql> col ename format a40EMPNO ENAME JOB---------- ---------------------------------------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMAN4). 设置列标题的对齐方式JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}SQL> col ename justify centerSQL> /EMPNO ENAME JOB---------- ---------------------------------------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMAN对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边5). 不让一个列显示在屏幕上NOPRI[NT]|PRI[NT]SQL> col job noprintSQL> /EMPNO ENAME---------- ----------------------------------------7369 SMITH7499 ALLEN7521 WARD6). 格式化NUMBER类型列的显示:SQL> COLUMN SAL FORMAT $99,990SQL> /EmployeeDepartment Name Salary Commission---------- ---------- --------- ----------30 ALLEN $1,600 3007). 显示列值时,如果列值为NULL值,用text值代替NULL值COMM NUL[L] textSQL>COL COMM NUL[L] text8). 设置一个列的回绕方式WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]COL1--------------------HOW ARE YOU?SQL>COL COL1 FORMAT A5SQL>COL COL1 WRAPPEDCOL1-----HOW ARE YOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOWAREYOU?SQL> COL COL1 WORD_WRAPPEDCOL1-----HOW A9). 显示列的当前的显示属性值SQL> COLUMN column_name10). 将所有列的显示属性设为缺省值SQL> CLEAR COLUMNS8. 屏蔽掉一个列中显示的相同的值BREAK ON break_columnSQL> BREAK ON DEPTNOSQL> SELECT DEPTNO, ENAME, SALFROM EMPWHERE SAL < 2500ORDER BY DEPTNO;DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 11009. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n 个空行。

sqlplus命令大全

sqlplus命令大全
Sql>select * from emp
Employee
Department name Salary
---------- ---------- ----------
10 aaa 11
note: the col heading turn into two lines from one line.
10 CLARK 2450
MILLER 1300
20 SMITH 800
ADAMS 1100
10. 显示对BREAK的设置
SQL> BREAK
11. 删除6、7的设置
SQL> CLEAR BREAKS
12. Set 命令:
SQL> COLUMN SAL FORMAT $99,990
SQL> /
Employee
Department Name Salary Commission
---------- ---------- --------- ----------
30 ALLEN $1,600 300
SQL> col job noprint
SQL> /
EMPNO ENAME
---------- ----------------------------------------
7369 SMITH
7499 ALLEN
7521 WARD
6). 格式化NUMBER类型列的显示:
l语句时,用上面的任一命令即可,这类似于dos中的批处理。
2. 对当前的输入进行编辑
SQL>edit
3. 重新运行上一次运行的sql语句

sqlplus命令

sqlplus命令
select * from CQI.T_BBS_XUSER;
14、增加数据库用户:(test11/test)
create user test11 identified by test default tablespace users Temporary TABLESPACE Temp;
15、用户授权:
3、将显示的内容输出到指定文件
SQL幕上的所有内容都包含在该文件中,包括你输入的sql语句。
关闭spool输出
SQL> SPOOL OFF
只有关闭spool输出,才会在输出文件中看到输出的内容。
conn sys/change_on_install as sysdba;
4、SQL>startup; 启动数据库实例
5、 查看当前的所有数据库: select * from v$database;
select name from v$database;
desc v$databases; 查看数据库结构字段
----------------------------------------------------------------------------------------------------------------------
oracle数据库时常用的操作命令最近遇到一个使用了oracle数据库的服务器,在狂学oracle+请教高手后终于搞到了网站后台管理界面的所有用户密码,我发现oracle操作起来真是太麻烦,为了兄弟们以后少走些弯路,我把入侵当中必需的命令整理出来,一个星期的心血,版权所有,转载请注明作者.
SQL>set TIMING {ON|OFF}
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、ORACLE的启动和关闭1、在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下su - oraclea、启动ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>startupSVRMGR>quitb、关闭ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>shutdownSVRMGR>quit启动oracle9i数据库命令:$ sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003 Copyright (c) 1982, 2002, Oracle Corporation.All rights reserved.SQL> connect / as sysdbaConnected to an idle instance.SQL> startup^CSQL> startupORACLE instance started.2、在双机环境下要想启动或关闭ORACLE系统必须首先切换到root用户,如下su - roota、启动ORACLE系统hareg -y oracleb、关闭ORACLE系统hareg -n oracleOracle数据库有哪几种启动方式说明:有以下几种启动方式:1、startup nomount非安装启动,这种方式启动下可执行:重建控制文件、重建数据库读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。

2、startup mount dbname安装启动,这种方式启动下可执行:数据库日志归档、数据库介质恢复、使数据文件联机或脱机,重新定位数据文件、重做日志文件。

执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,但此时不对数据文件和日志文件进行校验检查。

3、startup open dbname先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,这种方式下可访问数据库中的数据。

4、startup,等于以下三个命令startup nomountalter database mountalter database open5、startup restrict约束方式启动这种方式能够启动数据库,但只允许具有一定特权的用户访问非特权用户访问时,会出现以下提示:ERROR:ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用6、startup force强制启动方式当不能关闭数据库时,可以用startup force来完成数据库的关闭先关闭数据库,再执行正常启动数据库命令7、startup pfile=参数文件名带初始化参数文件的启动方式先读取参数文件,再按参数文件中的设置启动数据库例:startup pfile=E:Oracleadminoradbpfileinit.ora8、startup EXCLUSIVE二、用户如何有效地利用数据字典ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化,体现为sys用户下的一些表和视图。

数据字典名称是大写的英文字符。

数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。

我们不能手工修改数据字典里的信息。

很多时候,一般的ORACLE用户不知道如何有效地利用它。

dictionary 全部数据字典表的名称和解释,它有一个同义词dict dict_column 全部数据字典表里字段名称和解释如果我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句:SQL>select * from dictionary where instr(comments,'index')>0;如果我们想知道user_indexes表各字段名称的详细含义,可以用下面这条SQL 语句:SQL>select column_name,comments from dict_columns wheretable_name='USER_INDEXES';依此类推,就可以轻松知道数据字典的详细名称和解释,不用查看ORACLE的其它文档资料了。

下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。

1、用户查看当前用户的缺省表空间SQL>select username,default_tablespace from user_users;查看当前用户的角色SQL>select * from user_role_privs;查看当前用户的系统权限和表级权限SQL>select * from user_sys_privs;SQL>select * from user_tab_privs;2、表查看用户下所有的表SQL>select * from user_tables;查看名称包含log字符的表SQL>select object_name,object_id from user_objectswhere instr(object_name,'LOG')>0;查看某表的创建时间SQL>select object_name,created from user_objects whereobject_name=upper('&table_name');查看某表的大小SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name');查看放在ORACLE的内存区里的表SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;3、索引查看索引个数和类别SQL>select index_name,index_type,table_name from user_indexes order by table_name;查看索引被索引的字段SQL>select * from user_ind_columns whereindex_name=upper('&index_name');查看索引的大小SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&index_name');4、序列号查看序列号,last_number是当前值SQL>select * from user_sequences;5、视图查看视图的名称SQL>select view_name from user_views;查看创建视图的select语句SQL>set view_name,text_length from user_views;SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小SQL>select text from user_views where view_name=upper('&view_name');6、同义词查看同义词的名称SQL>select * from user_synonyms;7、约束条件查看某表的约束条件SQL>select constraint_name, constraint_type,search_condition,r_constraint_namefrom user_constraints where table_name = upper('&table_name');SQL>select c.constraint_name,c.constraint_type,cc.column_namefrom user_constraints c,user_cons_columns ccwhere c.owner = upper('&table_owner') and c.table_name =upper('&table_name')and c.owner = cc.owner and c.constraint_name = cc.constraint_name order by cc.position;8、存储函数和过程查看函数和过程的状态SQL>select object_name,status from user_objects whereobject_type='FUNCTION';SQL>select object_name,status from user_objects whereobject_type='PROCEDURE';查看函数和过程的源代码SQL>select text from all_source where owner=user andname=upper('&plsql_name');三、查看数据库的SQL1、查看表空间的名称及大小select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files dwhere t.tablespace_name = d.tablespace_namegroup by t.tablespace_name;2、查看表空间物理文件的名称及大小select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;3、查看回滚段名称及大小select segment_name, tablespace_name, r.status,(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent, max_extents, v.curext CurExtentFrom dba_rollback_segs r, v$rollstat vWhere r.segment_id = n(+)order by segment_name ;4、查看控制文件select name from v$controlfile;5、查看日志文件select member from v$logfile;6、查看表空间的使用情况select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_spacegroup by tablespace_name;SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE, (B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE CWHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME ANDA.TABLESPACE_NAME=C.TABLESPACE_NAME;7、查看数据库库对象select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;8、查看数据库的版本Select version FROM Product_component_versionWhere SUBSTR(PRODUCT,1,6)='Oracle';9、查看数据库的创建日期和归档方式Select Created, Log_Mode, Log_Mode From V$Database;--------------------------------------------------------------------------------jxdco四、ORACLE用户连接的管理用系统管理员,查看当前数据库有几个用户连接:SQL> select username,sid,serial# from v$session;如果要停某个连接用SQL> alter system kill session 'sid,serial#';如果这命令不行,找它UNIX的进程数SQL> select pro.spid from v$session ses,v$process pro where ses.sid=21 and ses.paddr=pro.addr;说明:21是某个连接的sid数然后用 kill 命令杀此进程号。

相关文档
最新文档