oracle sqlplus 命令都有那些? show命令除了 parameter外,还有什么可以show。

查询oracle数据库所有用户的sqlplus命令是什么

命令是select * from dba_users,设置方法为:
1、在数据库的开始菜单中,输入cmd后回车,也就是调用Windows的命令行管理器。

2、在命令提示符处输入 select * from dba_users 然后按键盘回车键,注意,这中间都是有一个空格,否则会提示命令出错。

3、以上命令执行完成后,出现SQL的字样,表明成功连接到本机数据库了,可以进行相关SQL操作了。

4、输入 select username from dba_users;后敲键盘回车键,进行数据库用户查询。

5、SQL命令执行完成后,会出现我们要查找的username也就是数据库用户名列表,这里有Oracle数据库自己的用户,也有按需求添加的用户。

6、使用完成后,查询oracle数据库所有用户。

都不是

一般在SQL>下进行SQLPLUS操作,都需要进行必要的环境设置才能完成我们所需要的输出。所有环境的设置由SET命令加相应的环境变量来完成。下面是常用的环境设置:

§2.5.1 ARRAYSIZE(取回的行数)
SET ARRAY[SIZE]{integer}

一次可以提取(Fetch)的行的数目,1->5000,当有较长字段时应设小些。

§2.5.2 AUTOCOMMIT(自动提交)
SET AUTO [COMMIT] { [ OFF | ON | IMM | n] }
用于在操作中是自动提交或是部分提交或是不自动提交。
1) 或IMM使得在完成每条SQL语句时将未提交的改变立刻提交给数据库系统。ON
2) 允许在用户发出COMMIT后,可以执行命令的数量(将n条SQL语句所做的改变进行提交)。N
3) 停止自动提交,用户必须用COMMIT命令才能被提交。OFF

§2.5.3 LINESIZE(行显示宽度)
可以设置LINESIZE环境变量来控制行的显示宽度,缺省是80个字符。
SET Lin[esize]{80|integer}
Integer =设置行宽度(字符个数),最大值999,如:
SQL>set linesize 160

§2.5.4 LONG(长类型显示字节数)
在缺省的SQL> 状态下,SQL>缓冲区用于显示LONG 的字节数只有80个字符。如果我们需要查询的列中含有 LONG类型的字段的话,就需要将LONG缓冲区设置大些。
SET LONG{80|integer}
Integer是 显示或拷贝long值的最大宽度, n=1->32767(但必须小于Maxdata值)
SQL>show Maxdata (最大行宽)
SQL>set long 2000

§2.5.5 PAGESIZE(页行数)
在缺省的SQL> 状态下,SQL>缓冲区显示页的行数是24行,其中22行显示数据,2行显示标题和横线。我们将pagesize 设置大些以减少提示标题和横线。
SET pag[esize] {24|integer}
SQL>SET pagesize 66

§2.5.6 PAUSE(暂停)
可以设置 PAUSE 为ON 或OFF来控制屏幕显示。当设置为ON 时,在select 语句发出后需要按Enter键才能显示一屏。
SET PAUSE [ ON | OFF ]
SQL> setpause on

提示:在发出select 语句并按Enter键后还要再按Enter键才能显示结果.

§2.5.7 SPACE(列间空格)
可用 set space 来设置各列间的空格数,语法为:
SET SPA[CE] {1|n}
N为设置输出行列间的空格数,最大为10。
SQL>set space 2

建议:在一般情况下,不用设置space参数。

§2.5.8 Termout (启/停屏幕显示)
TERMOUT用于设置在屏幕上显示或不显示所输出的信息。
SET TERMOUT { ON | OFF }

set termout off
set termout on

set termout off 常用SPOOL XXX时,即关闭报表在屏幕上的显示(节省时间)
set termout on 常用SPOOL off之后,即恢复报表在屏幕上的显示

§2.5.9 ECHO (启/停命令显示)
可以用ECHO命令来显示或不显示所执行的SQL命令。语法如:
SET ECHO{OFF|ON}
显示执行当中的各命令( 即用start 时)
set echo 受到 set termout 的影响

set pagesize 100
set echo on
select table_name from dict where rownum<20;
select * from cat where rownum<30;
set echo off
--下面只显示结果不显示命令:
select table_name from dict where rownum<20;
select * from cat where rownum<30;

§2.5.10 TRANSACTION (启动事务)
一个很重要的事务环境设置是TRANSACTION。它包括两个部分的内容:
SET TRANSACTION { READ ONLY | USE ROLLBACK SEGMENT segment_name }
READ ONLY是用于保证读的一致性。即其他用户的修改不影响当前查询结果。
USE ROLLBACK SEGMENT segment_name是为当前所处理的事务指定专门的回滚段。这主要是在进行大量的Insert或Delete或Update时,需要一个大的回滚段以保证事务正常完成。详细见数据库管理员。

§2.5.11 SHOW ALL(列出所有参数)
可以用SHOW ALL来显示当前的所有参数情况。它的用法很简单。比如:

SQL> show all
appinfo为ON并且已设置为"SQL*Plus"
arraysize 15
autocommit OFF
autoprint OFF
autorecovery OFF
autotrace OFF
blockterminator "." (hex 2e)
btitle OFF and为下一条SELECT语句的前几个字符
cmdsep OFF
colsep " "
compatibility version NATIVE
concat "." (hex 2e)
copycommit 0
COPYTYPECHECK为ON
define "&" (hex 26)
describe DEPTH 1 LINENUM OFF INDENT ON
markup HTML OFF SPOOL OFF ENTMAP ON PREFORMAT OFF
echo OFF
editfile "afiedt.buf"
embedded OFF
escape OFF
flagger OFF
flush ON
heading ON
headsep "|" (hex 7c)
instance "local"
linesize 80
lno 14
loboffset 1
logsource ""
long 80
longchunksize 80
newpage 1
null ""
numformat ""
numwidth 10
pagesize 14
PAUSE为OFF
pno 0
recsep WRAP
recsepchar " " (hex 20)
release 801070000
repfooter OFF and为NULL
repheader OFF and为NULL
serveroutput OFF
shiftinout INVISIBLE
showmode OFF
spool OFF
sqlblanklines OFF
sqlcase MIXED
sqlcode 0
sqlcontinue "> "
sqlnumber ON
sqlprefix "#" (hex 23)
sqlprompt "SQL> "
sqlterminator ";" (hex 3b)
suffix "sql"
tab ON
termout ON
time OFF
timing OFF
trimout ON
trimspool OFF
ttitle OFF and为下一条SELECT语句的前几个字符
underline "-" (hex 2d)
USER为"SYS"
verify ON
wrap :行将为已换行
SQL>
你可以从上面的参数中看到其当前值,也可以修改某些参数的值。
格式化输出
§2.6.1 一般数据的格式化输出

在Oracle的SQL>下,经常用COLUMN命令来对所输出的列进行格式化,即按照一定的格式进行显示。COLMUN命令语法如下:

COL[UMN] [{ column | expr } [ option_1 ... option_n ] ]

column:列名
expr:有效的SQL表达式
option_1...option_n:可以是下列之一:
ALI[AS] alias
CLE[AR]
FOLD_A[FTER]
FOLD_B[EFORE]
FOR[MAT] format
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]
NUL[L] text
OLD_V[ALUE] variable
ON|OFF
WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]

下面给出常用的关键字的解释:
Alias 给出列的别名,BREAK和COUMN可以引用所定义的别名。
CLEAR 取消列的定义。
FORMAT列显示格式,format为:
9999990 9或0的个数决定最多显示多少位
9,999,999.99按照逗号和小数点来显示数据,若是0以空格显示
099999 显示前面补0
$999,999.99 数字前加美圆号
B99999 若为0,则结果为空白
99999Mi 若数字为负,则负号放在数字后(右边),缺省放在左边
99999PR 负号将以括号括起
9.999EEEE 以科学记数法表示(必须有4个E)
999V99 数字乘以10n ,如1234变为123400
DATE 采用日期数字格式(MM/DD/YY)

Heading重新标记列的显示标题,如:

SQL> col ename heading 姓名format a10
SQL> select ename,sal from emp;

例子:
SQL
COLUMN SALARY FOR $9,999,999.99
COLUMN LAST_NAME FOR A35.

§2.6.2 日期的格式化输出
Oracle系统提供了一个NLS_DATE_FORMAT的环境变量来设置日期的显示格式。用它可以完成按照不同格式要求的显示,比如按照中国的习惯为yyyy年mm月dd日等。

1.系统日期 sysdate 的显示
用sysdate 可以显示ORACLE RDBMS 所在机器的日期及时间,如:
SQL> alter session set nls_date_format ='"公元"yyyy"年"mm"月"dd"日"';

会话已更改。

SQL> select sysdate from dual;

SYSDATE
------------------
公元2001年05月30日

2.日期类型的显示

select sysdate,to_char(sysdate,’yyyy.mm.dd hh24:mi;ss’) from dual;

SQL> connect scott/tiger
已连接。
SQL> alter session set nls_date_format ='yyyy"年"mm"月"dd"日生"';

会话已更改。
SQL> col HIREDATE heading生日
SQL> col sal heading工资
SQL> col sal ename姓名
SQL> select ename,sal,hiredate from emp;

姓名 工资 生日
---------- ---------- -----------------
SMITH 800 1980年12月17日生
ALLEN 1600 1981年02月20日生
WARD 1250 1981年02月22日生
JONES 2975 1981年04月02日生
MARTIN 1250 1981年09月28日生
BLAKE 2850 1981年05月01日生
CLARK 2450 1981年06月09日生
SCOTT 3000 1987年04月19日生
KING 5000 1981年11月17日生
TURNER 1500 1981年09月08日生
ADAMS 1100 1987年05月23日生
JAMES 950 1981年12月03日生
FORD 3000 1981年12月03日生
MILLER 1300 1982年01月23日生

已选择14行。
§2.7 加标题
有时在输出一些结果时,可能需要加一些标题,如表上面的顶标题,落款等。这样的要求可由Ttitle和Btitle来完成。
ttitle和btitle

ttitle [center|left|right]string 顶标题
btitle [center|left|right]string 底标题
ttitle center 'XX公司人员情况表'
btitle left '制表人:xxxx' right '日期:xxxx年xx月'
Clear ttitle

§2.8 建立简单报告
我们可以用TTITLE、BTITLE、COLUMN、BREAK ON、COMPUTE SUM及SET LINESIZE、SET PAGESIZE、SET NEWPAGE来设置查询结果的显示格式;在用SPOOL命令将显示结果输出到一个操作系统文件中去,一般输出文件的类型为.LST。

建立简单报告主要使用下面命令来实现:

1. SPOOL命令

SPOOL filename 将缓冲区的内容写到文件中
SPOOL off 终止写命令

2. COLUMN 命令
column col_name[,heading] format format_spe
把字段的结果指定为一种输出格式
COL name heading '姓名' for a10
COL sal heading '工资' for 9,999.99

3.ttitle、btitle

ttitle [center|left|right]string 顶标题
btitle [center|left|right]string 底标题
ttitle center 'XX公司人员情况表'
btitle left '制表人:赵元杰' right '日期:1998.11月'
Clear ttitle

4.break、compute

clear breaks,clear computes
break on column 在该列上中断
break on row 在每一行上中断
break on Page
break on report
skip n 跳过n行
skip page 跳过未用完的页
compute avg
compute count
compute max
compute min
compute std
compute sum
compute var
compute num 计算所有行
compute sum of sal on deptno

5.set 在报表中的设置
l set termout off、set termout on命令
l set termout off 常用SPOOL XXX前,即关闭报表在屏幕上的显示(节省时间)
l set termout on 常用SPOOL off之后,即恢复报表在屏幕上的显示
l set ECHO{OFF|ON} 显示执行当中的各命令(即用start 时),set echo 受到 set termout 的影响
l set Lin[esize]{80|integer} 设置行宽度,最大值999
l set pag[esize] {24|integer} 设置页的大小

例子:
SQL>COL ename heading ‘姓名’ for a12
SQL>COL sal heading ‘工资’ for a999,999.99
SQL>COL hiredate heading ‘出生’
SQL>SET LINESIZE 200
SQL>SET PAGESIZE 60
SQL>SPOOL c:\all_emp
SQL>select ename,sal,deptno,hiredate from emp order by deptno;
SQL>SPOOL OFF

§2.9 输入变量
Oracle提供一种在处理SQL语句时可以将参数作为变量来对待的技术,即在条件句中可以是变量而不是具体的值,这样的处理就是输入变量。这样做的目的就是可以重复使用同样的语句,每次只要输入相应的值即可。要实现将参数写成为变量,只要在变量前加一个&号即可。看下面语句:

Select sid, serial#,username, command from v$session
Where USERNAME = upper(‘&usr’);

这样的语句在运行中,系统会自动提示你回答变量的具体值,上面语句运行时提示和回答时显示的信息如下:

SQL> Select sid, serial#,username, command from v$session
2 Where USERNAME = upper('&usr');
输入 usr 的值: sys
原值 2: Where USERNAME = upper('&usr')
新值 2: Where USERNAME = upper('sys')

SID SERIAL# USERNAME COMMAND
---------- ---------- ------------------------------ ----------
7 26 SYS 3

在变量说明中,可以使用多个变量,比如:

Alter system kill session ‘&sid,&ser’;

Alter system kill session ‘&会话号,&序列号’;

它的运行情况如下:

SQL> Select sid, serial#,username, command from v$session;

SID SERIAL# USERNAME COMMAND
---------- ---------- ------------------------------ ----------
1 1 0
2 1 0
3 1 0
4 1 0
5 1 0
6 1 0
7 26 SYS 3
8 16 ZHAO 0

已选择8行。

SQL> Alter system kill session '&sid,&ser';
输入sid的值: 8
输入ser的值: 16
原值 1: Alter system kill session '&sid,&ser'
新值 1: Alter system kill session '8,16'

系统已更改。

一般系统缺省下是使用 “&” 符号来定义变量,你也可以使用另外的符号来代替,比如不喜欢用 & 而要用 ?,则有:

SQL> set define ?
SQL> select sid,serial#,username from v$session where username='?usr';
输入 usr 的值: SYS
原值 1: select sid,serial#,username from v$session where username='?usr'
新值 1: select sid,serial#,username from v$session where username='SYS'

SID SERIAL# USERNAME
---------- ---------- ------------------------------
7 26 SYS

次时由于我们修改了会话环境的参数值,可以用下面命令查看:

SQL> show define
define "?" (hex 3f)

1、alter
2、update
3、insert
4、delete
5、create
6、truncate
7、archive
......
show user
show error
......
你问的实在太广泛,自己好好看看书先。

要先学标准SQL语句,再学oracle语法
show user

show user??

  • 14710382721: 怎么用linux命令连接racle数据库
    姬依:1、登录到Linux后,就可以在命令窗口直接对Linux进行操作了。先将用户切换到Oracle。当显示为[oracle@db ~]$ 时,说明切换成功。命令:su - oracle;2、切换到Oracle用户之后,我们登录到到sqlplus,使用dba权限登录到sqlplus。在sqlplus中,我们使用conn连接一下我们具体想要操作的数据库用户。命令:conn ...
  • 14710382721: oracle错误: ORA-01033
    姬依:4、以DBA用户登录,具体命令是 sqlplus \/NOLOGSQL>connect sys\/change_on_install as sysdba 提示:已成功 SQL>shutdown normal 提示:数据库已经关闭已经卸载数据库 ORACLE 例程已经关闭 SQL>startup mount 提示:ORACLE例程已经启动Total System Global Area 118255568 bytes Fixed Size282576 bytes Variabl...
  • 14710382721: 安装完oracle12c,oraclejobschedulerorcl服务打不开, 请问怎么查看它是 ...
    姬依:(1)OracleServiceSID 数据库服务,这个服务会自动地启动和停止数据库。如果安装了一个数据库,它的缺省启动类型为自动。服务进程为ORACLE.EXE,参数文件initSID.ora,日志文件SIDALRT.log,控制台SVRMGRL.EXE、SQLPLUS.EXE。(2)OracleHOME_NAMETNSListener 监听器服务,服务只有在数据库需要远程访问时才...
  • 14710382721: 连接Oracle 11gR2 RAC主节点上的实例时,报告:ORA-01033:ORACLE 正在...
    姬依:实例 wpsdb1 正在节点 rac1 上运行 实例 wpsdb2 正在节点 rac3 上运行 结点rac1,rac2,rac3?检查一下配置 关于ORACLE正在初始化或关闭,如果是windows环境,打开命令行 sqlplus "\/as sysdba"用sysdba看能否登录,如果不是connect to idle instance,则说明实例是启动的 用shutdown immediate或shutdown...
  • 14710382721: 关于Oracle数据库的几个习题求答案。谢谢
    姬依:2--c 3--b 7-- 9--c 6--1~8 7--tnsping或者netca 9--dba_indexes (user_indexes)
  • 14710382721: 如何创建自己的InstantClient包
    姬依:instantclient-sqlplus-linux.x64-11.2.0.4.0.zip注:下载Instant Client时需要创建一个Oracle账号才能下载。使用SSH客户端使用安装账号登录到服务器,在根目录下创建一个oracle目录:$mkdir \/home\/hadoop\/oracle上传所有压缩包或至少basic和sqlplus两个包到你账号的根目录下oracle中。解压到当前目录下完成安装。$ cd \/...
  • 14710382721: Oracle数据库如何从11.2降级至之前的版本
    姬依:降级过程允许用户在之前版本中打开并访问数据库实例。这通常就足够了。此外,在降级后可能需要采取一些更正操作(如卸载\/重新安装,或重新升级至当前修补程序集级别),以解决残留问题。如果目标是将实例完全返回至其升级前的状态,那么将会用到包括恰好恢复至升级前状态在内的其他流程。本文章中讨论的过程是...
  • 14710382721: 怎么用linux命令连接racle数据库(linux如何连接数据库)
    姬依:1、登录到Linux后,就可以在命令窗口直接对Linux进行操作了。先将用户切换到Oracle。当显示为[oracle@db~]$时,说明切换成功。命令:su-oracle;2、切换到Oracle用户之后,我们登录到到sqlplus,使用dba权限登录到sqlplus。在sqlplus中,我们使用conn连接一下我们具体想要操作的数据库用户。命令:connusername...

  • 相关链接

  • sqlplus执行sql文件
  • oracle sqlplus执行脚本
  • oracle管理员登录sqlplus
  • sqlplus s命令
  • 经验分享为自博友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
    有问题请发邮件给我们
    © 经验分享网