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}

SQLPLUS常用命令

SQLPLUS常用命令

SQLPLUS常用命令sqlplus常用命令1.登陆系统用户sqlplus 然后输入系统用户名和密码登陆别的用户conn 用户名/密码;2.创建表空间create tablespace 空间名datafile 'c:"空间名' size 15M --表空间的存放路径,初始值为15M autoExtend on next 10M --空间的自动增长的值是10M permanent online; --永久使用3.创建用户create user shi --创建用户名为shiidentified by scj --创建密码为scjdefault tablespace 表空间名--默认表空间名temporary tablespace temp --临时表空间为tempprofile default --受profile文件的限制quota unlimited on 表空间名; --在表空间下面建表不受限制4.创建角色create role 角色名identified by 密码;5.给角色授权grant create session to 角色名;--给角色授予创建会话的权限grant 角色名to 用户名;--把角色授予用户6.给用户授予权限grant create session,resource to shi;--给shi用户授予所有权限grant create table to shi; --给shi用户授予创建表的权限7.select table_name from user_tables; 察看当前用户下的所有表8.select tablespace_name from user_tablespaces; 察看当前用户下的表空间9.select username from dba_users;察看所有用户名称命令必须用sys as sysdba 登陆10.创建表create table 表名(id int not null,name varchar2(20) not null)tablespace 表空间名--所属的表空间storage(initial 64K --表的初始值minextents 1 --最小扩展值maxextents unlimited --最大扩展值);11.--为usrs表添加主键和索引alter table usersadd constraint pk primary key (ID);12.为已经创建users表添加外键alter table usersadd constraint fk_roleid foreign key (roleid)references role(role_id) on delete cascad; --下边写主表的列on delete cascad是创建级联13.把两个列连接起来select concat(name,id) from 表名;--把name和id连接起来14.截取字符串select column(name,'李') from 表名;--把name中的‘李’去掉15.运行事务之前必须写set serveroutput on; --打开输入输出(不写的话,打印不出信息)16.while的应用declare --声明部分ccc number:=1; --复职a number:=0;begin --事务的开始while ccc<=100 loop --循环if((ccc mod 3)=0) then --条件dbms_output.put_line(ccc||','); --打印显示a:=a+ccc;end if; --结束ifccc:=ccc+1;end loop; --结束循环dbms_output.put_line(a);end; --结束事务/17.select into 的用法--只能处理一行结果集declarename varchar(30);beginselect username into namefrom userswhere id=2;dbms_output.put_line('姓名为:'||name);end;/18.利用%rowtype属性可以在运行时方便的声明记录变量和其他结构Set serveroutput on;Declareutype users%rowtype;BeginSelect * into utype from users where id=20;Dbms_output.put_line('姓名'|| /doc/f46792894.html,ername);Dbms_output.put_line('生日'|| utype.brithday);end;/ --%rowtype想当于复制一个表19.游标的定义和使用DeclareCursor ucur is select * from users; --声明游标Us users%rowtype;--定义与游标想匹配的变量BeginOpen ucur;--打开游标Fetch ucur into us;While ucur %found loop --使用循环遍历游标的查询结果Dbms_output.put_line('姓名:'||/doc/f46792894.html,ername||'生日'||us.brithday);Fetch ucur into us;End loop;Close ucur; --关闭游标End;====================================== =%found在前一条的fetch语句至少对应数据库的一行时,%found属性值为true,否则为false;% notfound 在前一条fetch语句没有对应的数据库行时,%notfound属性值为true,否则为false;%isopen 在游标打开时%isopen属性值为true;否则为false;%rowcount显示迄今为止从显示游标中取出的行数20.删除drop tablespace 空间名including contents; --删除表空间和里面的内容drop table 表名--删除表drop user 用户名--删除用户-------------------------------------使用Oracle用户# su - oracle创建表空间-> 创建新用户-> 用户授权一创建表空间SQL> CREATE TABLESPACE test01DATAFILE '/data/oracle/oradata/db/test01.dbf' SIZE 1024M UNIFORM SIZE 128k;1) DATAFILE: 表空间数据文件存放路径2) SIZE: 起初设置为1G就可以3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k4) 空间名称test01 与数据文件名称test01.dbf 不要求相同,可随意命名.通过ALTER DATABASE修改空间扩展大小SQL > ALTER DATABASE DATAFILE '/data/oracle/oradata/db/test01.dbf' ' AUTOEXTEND ON;1)AUTOEXTEND ON:在Oracle10g中,需要手动启动分区自动扩展功能.二创建新用户SQL> CREATE USER test IDENTIFIED BY 123456 DEFAULT TABLESPACE test01;1) 创建用户同时分配表空间三用户授权1)用户角色授权SQL> CRANT CONNECT,RESOURCE TO test;a) 我这里将CONNECT和RESOURCE角色赋给新用户test,test将拥有这两个角色的操作权限.2)直接授权多用户SQL> CRANT SELECT,INSERT,UPDATE,DELETE,ON USERS TO test,test1;下面我们可以使用两种方式登录Oracle db一SQLPLUS1)本地登录SQL> sqlplus test/1234562)远程登录假设db在另一台服务器SQL> sqlplus test/123456@db二PLSQL Developer上篇中也有讲述,输入账号口令就可以了.下面说些和上面相关,且工作中会需要用到的.一删除用户SQL> DROP USER test CASCADE;二删除表空间SQL> DROP TABLESPACE test01 INCLUDING CONTENTS AND DATAFILES;1) 删除表空间内容和数据文件.2) 一般无效表空间占用磁盘空间,所以这个应该很常用.查看用户角色权限select * from user_role_privs;查看用户表权限select * from user_tab_privs;-------/* Formatted on 2001/12/03 09:00 (Formatter Plus v4.5.2) */ CREATE TABLESPACE sini_data DATAFILE'D:\oracle\oradata\sini_data.dbf' SIZE 500mAUTOEXTEND ON NEXT 1m MAXSIZE UNLIMITED DEFAULT STORAGE(INITIAL 128kNEXT 1mMINEXTENTS 1MAXEXTENTS UNLIMITEDPCTINCREASE 0);/CREATE TABLESPACE sini_index DATAFILE'D:\oracle\oradata\sini_index.dbf' SIZE 200m AUTOEXTEND ON NEXT 1m MAXSIZE UNLIMITED DEFAULT STORAGE (INITIAL 128kNEXT 1mMINEXTENTS 1MAXEXTENTS UNLIMITEDPCTINCREASE 0);/CREATE TABLESPACE sini_temp DATAFILE'D:\oracle\oradata\sini_temp.dbf' SIZE 200m AUTOEXTEND ON NEXT 1m MAXSIZE UNLIMITED DEFAULT STORAGE (INITIAL 128kNEXT 1mMINEXTENTS 1MAXEXTENTS UNLIMITEDPCTINCREASE 0);/ALTER TABLESPACE sini_temp TEMPORARY;/CREATE USER bingo IDENTIFIED BY bingo DEFAULT TABLE SPACE sini_data TEMPORARY TABLESPACE sini_temp;/GRANT CONNECT,RESOURCE TO bingo;/GRANT CREATE TABLE TO bingo;/ALTER USER bingo QUOTA UNLIMITED ON sini_data;/ALTER USER bingo QUOTA UNLIMITED ON sini_index;/ALTER USER bingo QUOTA UNLIMITED ON sini_temp;/下面两句语句1.生成一个名为TbsUserData的表空间, 2.授权用户User1无限制使用该表空间CREATE TABLESPACE TbsUserDataDATAFILE 'd:\data\UserData.dbf' 50 MDEFAULT STORAGE (INITIAL 2 MNEXT 2 MPCTINCREASE 10)/ALTER USER User1 Quota Unlimited on TbsUserData/。

sqlplus常用语句

sqlplus常用语句

sqlplus常用语句
SQLPlus是Oracle数据库中常用的交互式命令行工具,用于执行SQL语句和PL/SQL块。

以下是一些常用的SQLPlus语句:
1. 连接到数据库:
SQLPLUS username/password@database.
2. 退出SQLPlus:
EXIT 或 QUIT.
3. 执行SQL查询:
SELECT FROM table_name;
4. 显示表结构:
DESC table_name;
5. 执行存储过程或函数:
EXEC procedure_name;
6. 执行SQL脚本:
@path_to_script.sql.
7. 输出查询结果到文件:
SPOOL file_name.
8. 取消输出到文件:
SPOOL OFF.
9. 显示当前数据库会话信息: SHOW USER.
10. 设置SQLPlus环境变量:
SET option value.
这些是一些常用的SQLPlus语句,可以帮助你在SQLPlus中执行各种操作。

当然,SQLPlus还有很多其他命令和选项,具体使用取决于你的需求和情境。

希望这些信息能够帮助到你。

SQLPLUS命令的使用大全

SQLPLUS命令的使用大全

SQL*PLUS命令的使用大全Oracle的sql*plus是与oracle进行交互的客户端工具。

在sql*plus中,可以运行sql*plus 命令与sql语句。

我们通常所说的DML、DDL、DCL语句都是sql语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行。

除了sql语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。

它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。

下面就介绍一下一些常用的sql*plus命令。

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

2. 对当前的输入进行编辑SQL>edit 或ed3. 重新运行上一次运行的sql语句SQL>/ 或run4. 将显示的内容输出到指定文件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_heading例: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 Ename Salary---------- ---------- ----------10 aaa 11SQL> COLUMN ENAME HEADING ’Employee|Name’SQL>select * from empEmployeeDepartment Ename Salary---------- ---------- ----------10 aaa 113). 改变列的显示长度:FOR[MAT] format例:SQL>select empno,ename,job from emp;EMPNO ENAME JOB---------- ---------- ---------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMANSQL> col ename format a40SQL>select empno,ename,job from emp;EMPNO ENAME JOB---------- ---------------------------------------- --------- 7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 WARD SALESMAN 4). 设置列标题的对齐方式JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}例:SQL> col ename justify centerSQL> /EMPNO ENAME JOB---------- ---------------------------------------- --------- 7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 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 EName Salary Commission---------- ---------- --------- ----------30 ALLEN $1,600 3007). 显示列值时,如果列值为NULL值,用text值代替NULL值COMM NUL[L] text例:SQL>COL COMM NUL[L] text8). 设置一个列的回绕方式WRA[PPED]|WOR[D_WRAPPED]|TRU[NCA TED]例:COL1--------------------HOW ARE YOU?SQL>COL COL1 FORMAT A5SQL>COL COL1 WRAPPEDCOL1-----HOW ARE YOU?例:SQL> COL COL1 WORD_WRAPPEDCOL1-----HOWAREYOU?SQL> COL COL1 TRUNCA TEDCOL1-----HOW A9). 显示列的当前的显示属性值例:SQL> COLUMN column_name10). 将所有列的显示属性设为缺省值例:SQL> CLEAR COLUMNS8. 屏蔽掉一个列中显示的相同的值BREAK ON break_column例:SQL> BREAK ON DEPTNOSQL> SELECT DEPTNO, ENAME, SAL FROM EMP WHERE SAL < 2500 ORDER BY DEPTNO;DEPTNO ENAME SAL---------- ----------- ---------10 CLARK 2450MILLER 130020 SMITH 800ADAMS 11009. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n个空行。

sqlplus命令大全

sqlplus命令大全

sqlplus命令⼤全⼀、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 2003Copyright (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安装启动,这种⽅式启动下可执⾏:数据库⽇志归档、数据库介质恢复、使数据⽂件联机或脱机,重新定位数据⽂件、重做⽇志⽂件。

sqlplus基本命令总结

sqlplus基本命令总结

sqlplus基本命令总结1、启动sqlplus:sqlplus [username]/[password][@server]例:C:\>sqlplus system/system@demoC:\>sqlplus /nolog2、连接命令connect [username]/[password];DISCONNECT //断开连接不退出passwordexit/quit //断开并退出sqlplus例:SQL> conn system/system@demoConnected.SQL> PASSWORD //相当于alter USER SYSTEM IDENTIFIED BY SYS; Changing password for SYSTEMOld password: //输入原密码systemNew password: //输入新密码sysRetype new password:Password changedSQL> conn system/sys@demoConnected.SQL> disconn //断开连接Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production SQL> quit //退出C:\>3、编辑命令List:列出缓冲区的sql命令Append:在缓冲区当前行添加内容Change 字符1 字符2 :改变缓冲区的字符input:在当前行后增加一行n:把第n行设定为当前行Edit:编辑缓冲区run /:运行缓冲区的命令-- (a)ppend添加文本到缓冲区当前行尾sql> select object_id from t where rownum<=5;OBJECT_ID----------2046281529-- 前一条命令后加order by 1 (注:a后面跟2个空格)sql> a order by 1;1* select object_id from t where rownum<=5 order by 1sql> r1* select object_id from t where rownum<=5 order by 1OBJECT_ID----------1520282946-- (c)hange/old/new 在当前行用新的文本替换旧的文本c/*/tname -- 将上条命令中的object_id替换成ownersql> c/object_id/owner1* select owner from t where rownum<=5 order by 1-- (c)hange/text从当前行删除文本c/tab-- 删除order by 1sql> c/order by 11* select owner from t where rownum<=5sql> select owner2 from t3 where rownum=14 order by 1;OWNER------------------------------SYS-- del 删除当前行-- 当前行为第4行sql> delsql> l1 select owner2 from t3* where rownum=1-- del n删除第n行-- 删除第2行sql> del 2sql> l1 select owner2* where rownum=1-- (i)nput 文本在当前行之后添加一行-- 每1行后增加order by 1(l)ist显示缓冲区中所有行(l)ist n显示缓冲区中第n 行,设置n行为当前行,*标志(l)ist m n显示缓冲区中m 到n 行(r)un执行当前缓冲区的命令/执行当前缓冲区的命令run与/区别:run显示buffer的命令,/则不然。

sqlplus命令大全

sqlplus命令大全

Sqlplus命令大全1. 执行一个SQL脚本文件sSQL>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基本命令

SQLPLUS基本命令.txt54就让昨日成流水,就让往事随风飞,今日的杯中别再盛着昨日的残痕;唯有珍惜现在,才能收获明天。

1.remark 告诉SQLPLUS接下来的文字是注释,不是指令2.set headseq 标题分隔符标识一个告诉SQLPLUS将一个标题分为两行或者更多行的字符3.ttitle 设置报表每一页的头标题4.btitle 设置报表每一页的尾标题5.column 给SQLPLUS各种关于列的标题、格式和处理的指令6.break on 告诉SQLPLUS在报表的各部分间插入空格,或者将小计和总计断开pute sum 令SQLPLU计算小计8.set linesize 为报表的行设置最大字符数9.set pagesize 为页设置最大行数10.set newpage 设置页与页之间的空行数11.spool 将在屏幕上显示的报表写入一个文件中12./**/ 在SQL项内标记一个注释的开头和结尾,类似与remark13.-- 在SQL项内标记联机注释的开始,将该标记开始到本行末尾的一切内容都视为注释。

类似于remark。

14.set pause 使屏幕显示在页与页之间停顿15.save 把正在建立的SQL查询保存到一个选中的文件中16.host 向主操作系统发送命令17.start或@ 告诉SQLPLUS执行已经从存储到文件中的指令18.edit 离开SQLPLUS并进入到所选择的编辑器19.define_editor告知SQLPLUS你所选择的编辑器20.exit或quit 终止SQLPLUS注:⑴column可以更改select语句中任何列的格式和标题。

column Name format a20a20告知SQLPLUS这是一个字母列,而不是数字列,Name列显示的宽度设置为20⑵break on命令必须和order by语句一起使用⑶每个compute avg命令必须有一个相关的break on类似的还有compute sum,compute count,compute max等⑷seb newpage确切地说应该称为“设置空白行”。

SQLPLUS全部命令解释及应用实例

SQLPLUS全部命令解释及应用实例

COL命令:主要格式化列的显示形式该命令有许多选项,具体如下:COL[UMN] [{ column|expr} [ option ...]]Option选项可以是如下的子句:ALI[AS] alias --别名CLE[AR] --重置为默认值的列的显示属性。

ENTMAP {ON | OFF} --使实体映射被打开或关闭HTML输出选定列。

FOLD_A[FTER]--在select列表中的最后一列后插入一个额外的回车。

FOLD_B[EFORE]--在SELECT列表中的第一列前插入一个额外的回车。

FOR[MAT] format --指定列的显示格式。

表12-1数字格式HEA[DING] text --定义一个列标题JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]} --设置列标题的对齐方式LIKE { expr|alias}--复制另一列或表达式(你已经与另一列命令中定义的属性)的显示属性。

类似文件的副本,只有属性没有定义在当前列命令的另一个条款。

NEWL[INE] --启动新行前显示的列的值。

NEW_V[ALUE] variable --指定一个变量来保存列值。

NOPRI[NT]|PRI[NT]--控制打印的列(列标题和所有选定的值)。

NOPRINT关闭屏幕输出和打印的列。

打印关闭打印列。

NUL[L] text--显示列值时,如果列值为NULL值,用text值代替NULL值OLD_V[ALUE] variable --指定一个变量来保存列值。

ON|OFF--控制列的显示属性的状态。

关闭停用不影响属性的定义为一列的属性。

关于恢复了属性。

WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]--设置一个列的回绕方式指定的SQL * Plus将如何对待太宽,一列的数据类型或日期字符串。

包裹包装字符串列范围内,需要时,开始新的生产线。

已启用WORD_WRAP时,SQL * Plus中左每一新行辩护,跳过所有领先的空白(例如,换行符,制表符和空格),包括嵌入式换行符。

sqlplus命令大全详解

sqlplus命令大全详解
page, or lists thபைடு நூலகம் current BTITLE definition.
BTI[TLE] [printspec [text|variable] ...] | [OFF|ON]
where printspec represents one or more of the following clauses:
line of the SQL buffer. The buffer has no command history list and
does not record SQL*Plus commands.
C[HANGE] sepchar old [sepchar [new[sepchar]]]
COL n LE[FT] BOLD
S[KIP] [n] CE[NTER] FORMAT text
TAB n R[IGHT]
CHANGE
------
Changes the first occurrence of the specified text on the current
value for the substitution variable.
ACC[EPT] variable [NUM[BER] | CHAR | DATE | BINARY_FLOAT | BINARY_DOUBLE]
[FOR[MAT] format] [DEF[AULT] default] [PROMPT text | NOPR[OMPT]] [HIDE]
@@ (double "at" sign)
---------------------
Runs the specified script. This command is almost identical to

sqlplus 常用命令

sqlplus 常用命令

SQL和PLSQL命令的总结上一篇/ 下一篇 2007-10-26 17:18:48查看( 115 ) / 评论( 0 ) / 评分( 0 / 0 )1、set verify on/off 控制输出行不显示old和new2、set define ‘&’定义变量字符3、set echo off/on 禁止或者启用sql脚本中的sql语句和命令4、accept varname vartype format a../$... prompt ‘....’;undefine varname5、变量中被定义为&1,&2意味者第一个变量和第二个变量6、ttitle和btitle 代表的页眉和页脚7、break on 和compute 用于为列添加小计8、内联视图select colnum from (select colum from tablename where condition);9、union:两个表不重复的所有行,intersect:两个表共有的行,minus:第一个表有而第二个表没有的行。

10、translate(x,from_string,to_string)用作密码文件的形成。

11、decode(value,search_value,result,default_value)条件查询,可以实现if的功能或者case的功能。

12、casewhen condition then result1when condition then result2····when condition then resultNelse default_resultend 注意case一般存在from前面13、使用connect by和start with可以实现层次化查询,可以通过lpad命令实现目录树的功能,lpad(x,num)它指用x字符在左边填充num个。

  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 命令杀此进程号。

相关文档
最新文档