SPOOL将屏幕所有的输出输出到指定文件-- spool 文件路径名;spool g:\mysql.sql;--业务操作--结束输出spool off;执行一个SQL脚本文件我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。
--start file_name-- @ file_namestart g:\mysql.sql;@ g:\mysql.sql;对当前的输入进行编辑edited重新运行上一次运行的sql语句/显示一个表的结构desc table_name ;清屏clear screen;退出exit;置当前session是否对修改的数据进行自动提交--SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}set autocommit on;在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句-- SET ECHO {ON|OFF};set echo on;是否显示当前sql语句查询或修改的行数--SET FEED[BACK] {6|n|ON|OFF}-- 默认只有结果大于6行时才显示结果的行数。
如果set feedback 1 ,则不管查询到多少行都返回。
当为off 时,一律不显示查询的行数set feedback 1;是否显示列标题--当set heading off 时,在每页的上面不显示列标题,而是以空白行代替--SET HEA[DING] {ON|OFF}set heading on;设置一行可以容纳的字符数-- 如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示--SET LIN[ESIZE] {80|n}set linesize 100;设置页与页之间的分隔-- SET NEWP[AGE] {1|n|NONE}--当set newpage 0 时,会在每页的开头有一个小的黑方框。
--当set newpage n 时,会在页和页之间隔着n个空行。
--当set newpage none 时,会在页和页之间没有任何间隔set newpage 1;设置一页有多少行数--如果设为0,则所有的输出内容为一页并且不显示列标题--SET PAGES[IZE] {24|n}set pagesize 20;是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息。
--SET SERVEROUT[PUT] {ON|OFF}set serveroutput on;是否在屏幕上显示输出的内容,主要用与SPOOL结合使用。
--在用spool命令将一个大表中的内容输出到一个文件中时,将内容输出在屏幕上会耗费大量的时间,--设置set termspool off后,则输出的内容只会保存在输出文件中,不会显示在屏幕上,极大的提高了spool的速度--SET TERM[OUT] {ON|OFF}set termout off;在dos里连接oracle数据库CONNECT user_name/passwd@l_jiayou在sql*plus中连接到指定的数据库CONNECT user_name/passwd@数据库名称显示当前用户show user;显示当前环境变量的值:show all;显示当前在创建函数、存储过程、触发器、包等对象的错误信息Show error显示数据库的版本:--show REL[EASE]show release显示SGA的大小show SGA显示初始化参数的值:--show PARAMETERS [parameter_name]show parameters;查看当前用户的缺省表空间select username,default_tablespace from user_users查看当前用户的角色select * from user_role_privs查看当前用户的系统权限和表级权限select * from user_sys_privs;select * from user_tab_privs;查看用户下所有的表select * from user_tables查看名称包含log字符的表select object_name,object_id from user_objects where instr(object_name,'LOG')>0;查看某表的创建时间select object_name,created from user_objects where object_name=upper('&table_name');查看某表的大小select sum(bytes)/(1024*1024) as "size(M)" from user_segments wheresegment_name=upper('&table_name');查看放在ORACLE的内存区里的表select table_name,cache from user_tables where instr(cache,'Y')>0;查看索引个数和类别select index_name,index_type,table_name from user_indexes order by table_name;查看索引被索引的字段select * from user_ind_columns where index_name=upper('&index_name');查看索引的大小select sum(bytes)/(1024*1024) as "size(M)" from user_segments wheresegment_name=upper('&index_name');查看序列号,last_number是当前值select * from user_sequences;查看视图的名称--select view_name from user_views;查看创建视图的select语句select view_name,text_length from user_views;set long 2000; 说明:可以根据视图的text_length值设定set long 的大小select text from user_views where view_name=upper('&view_name');查看同义词的名称select * from user_synonyms查看某表的约束条件select constraint_name, constraint_type,search_condition, r_constraint_namefrom user_constraints where table_name = upper('&table_name');select c.constraint_name,c.constraint_type,cc.column_namefrom user_constraints c,user_cons_columns cc where 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; 查看函数和过程select object_name,status from user_objects where object_type='FUNCTION';select object_name,status from user_objects where object_type='PROCEDURE';查看函数和过程的源代码select text from all_source where owner=user and name=upper('&plsql_name');查看表空间的名称及大小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;查看表空间物理文件的名称及大小select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;查看回滚段名称及大小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 ;查看控制文件select name from v$controlfile;查看日志文件select member from v$logfile;查看表空间的使用情况select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_space group 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;查看数据库库对象select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;查看数据库的版本Select version FROM Product_component_versionWhere SUBSTR(PRODUCT,1,6)='Oracle';查看数据库的创建日期和归档方式Select Created, Log_Mode, Log_Mode From V$Database;用系统管理员,查看当前数据库有几个用户连接:select username,sid,serial# from v$session;如果要停某个连接用alter system kill session 'sid,serial#';如果这命令不行,找它UNIX的进程数select pro.spid from v$session ses,v$process pro where ses.sid=21 and ses.paddr=pro.addr; --说明:21是某个连接的sid数,然后用kill 命令杀此进程号。