当前位置:文档之家› oracle的sqlplus学习笔记

oracle的sqlplus学习笔记

oracle的sqlplus学习笔记
oracle的sqlplus学习笔记

使用SQLPLUS

可以用它运行SQL查询和PL/SQL代码块并接收结果信息

可以发布DBA命令并自动工作

可以启动和关闭数据库

一种创建数据库管理报告的便利方法

设置环境变量

在调用SQLplus前,必须正确设置oracle环境变量,

包括设置ORACLE_SID,ORACLE_HOME和LD_LIBBARY_PATH,有时还须设置NLS_LANG和ORA_NLS11 用CONNECT(conn)命令连接

CONNECT(conn)命令可以以一个不同的用户身份进行连接

例:

SQL> conn scott/tiger

已连接。

SQL> connect scott/tiger

已连接。

SQL*Plus登录模式

C:\>sqlplus -h

SQL*Plus: Release 10.2.0.1.0 - Production

Copyright (c) 1982, 2005, Oracle. All rights reserved.

用法1: sqlplus -H | -V

-H 显示SQL*Plus 版本和用法帮助。

-V 显示SQL*Plus 版本。

为: ([/][@] | /)

[AS SYSDBA | AS SYSOPER] | /NOLOG

指定数据库帐户用户名, 口令和数据库连接

的连接标识符。如果没有连接

标识符, SQL*Plus 将连接到默认数据库。

AS SYSDBA 和AS SYSOPER 选项是数据库管理

权限。

/NOLOG 选项可启动SQL*Plus 而不连接到

数据库。

为: @|[.] [ ...]

使用将分配给脚本中的替代变量的指定参数

从Web 服务器(URL) 或本地文件系统(filename.ext)

运行指定的SQL*Plus 脚本。

在启动SQL*Plus 并且执行CONNECT 命令后, 将运行站点概要

文件(例如, $ORACLE_HOME/sqlplus/admin/glogin.sql) 和用户概要文件

(例如, 工作目录中的login.sql)。这些文件

可包含SQL*Plus 命令。

SQLPLUS的执行操作

一条SQL语句由一个分号(;)或一个反斜杠(/)结束

一个PL/SQL块由一个反斜杠(/)结束

可以使用连字符(-)作为语句行的继续字符

例:

SQL> select 200 - <==此时sqlplus自动将'-'字符解释成继续字符并发布一条错误信息

> 100 from dual;

select 200 100 from dual

*

第 1 行出现错误:

ORA-00923: 未找到要求的FROM 关键字

SQL> select 200 - -

> 100 from dual;

200-100

----------

100

退出SQLPlus

在SQL*Plus输入exit(quit)命令正常退出会话,则事务立即被提交.如果不打算提交事务,必须在退出前执行rollback命令,就算autocommit设置值为off也是如此.在使用exit/quit时,会出现以下情况

?所有未决的更改被回滚或提交;

?用户退出oraclesqlplus会话终止

?控制权返回到操作系统

SQLPLUS基本类型命令

SQLPLUS可以与oracle数据库进行交互.使用两种基本类型的命令.

本地命令:这些命令在sqlplus本地执行,不发送给服务器.

如:COPY,COMPUTE,REM和SET LINESIZE

这些命令不需要使用命令结束符

服务器命令:不在slqplus本地执行,而是通过服务器进行处理

如:CREATE TABLE和INSERT的SQL命令,以及包括BEGIN和END语句之间的PL/SQL块

这些命令需要一个分号(;)或一个反斜杠(/)结束

SET设置sqlplus环境变量

SQL> help index <==可以查看sqlplus下常用命令

set是最基本的命令之一可以使用help set来查看可以用SET命令控制的整个环境变量的集合. SQL> help set

SET

---

Sets a system variable to alter the SQL*Plus environment settings

for your current session. For example, to:

- set the display width for data

- customize HTML formatting

- enable or disable printing of column headings

- set the number of lines per page

In iSQL*Plus, you can also use the Preferences screen to set

system variables.

SET system_variable value

where system_variable and value represent one of the following clauses:

APPI[NFO]{OFF|ON|text} NUM[WIDTH] {10|n}

ARRAY[SIZE] {15|n} PAGES[IZE] {14|n}

AUTO[COMMIT] {OFF|ON|IMM[EDIATE]|n} PAU[SE] {OFF|ON|text}

AUTOP[RINT] {OFF|ON} RECSEP {WR[APPED]|EA[CH]|OFF}

AUTORECOVERY {OFF|ON} RECSEPCHAR {_|c}

AUTOT[RACE] {OFF|ON|TRACE[ONLY]} SERVEROUT[PUT] {ON|OFF}

[EXP[LAIN]] [STAT[ISTICS]] [SIZE {n | UNLIMITED}] [FOR[MAT]

BLO[CKTERMINATOR] {.|c|ON|OFF} {WRA[PPED] |

CMDS[EP] {;|c|OFF|ON} WOR[D_WRAPPED] |

COLSEP {_|text} TRU[NCATED]}]

CON[CAT] {.|c|ON|OFF} *SHIFT[INOUT] {VIS[IBLE] |

COPYC[OMMIT] {0|n} INV[ISIBLE]}

COPYTYPECHECK {ON|OFF} *SHOW[MODE] {OFF|ON}

DEF[INE] {&|c|ON|OFF} *SQLBL[ANKLINES] {OFF|ON}

DESCRIBE [DEPTH {1|n|ALL}] SQLC[ASE] {MIX[ED] |

[LINENUM {OFF|ON}] [INDENT {OFF|ON}] LO[WER] | UP[PER]}

ECHO {OFF|ON} *SQLCO[NTINUE] {> | text}

*EDITF[ILE] file_name[.ext] *SQLN[UMBER] {ON|OFF}

EMB[EDDED] {OFF|ON} SQLPLUSCOMPAT[IBILITY] {x.y[.z]} ESC[APE] {\|c|OFF|ON} *SQLPRE[FIX] {#|c}

FEED[BACK] {6|n|ON|OFF} *SQLP[ROMPT] {SQL>|text}

FLAGGER {OFF|ENTRY|INTERMED[IATE]|FULL} SQLT[ERMINATOR] {;|c|ON|OFF}

*FLU[SH] {ON|OFF} *SUF[FIX] {SQL|text}

HEA[DING] {ON|OFF} *TAB {ON|OFF}

HEADS[EP] {||c|ON|OFF} *TERM[OUT] {ON|OFF}

INSTANCE [instance_path|LOCAL] *TI[ME] {OFF|ON}

LIN[ESIZE] {80|n} ({150|n} iSQL*Plus) TIMI[NG] {OFF|ON}

LOBOF[FSET] {1|n} *TRIM[OUT] {ON|OFF}

LOGSOURCE [pathname] *TRIMS[POOL] {OFF|ON}

LONG {80|n} UND[ERLINE] {-|c|ON|OFF}

LONGC[HUNKSIZE] {80|n} VER[IFY] {ON|OFF}

MARK[UP] HTML [OFF|ON] WRA[P] {ON|OFF}

[HEAD text] [BODY text] [TABLE text] XQUERY {BASEURI text|

[ENTMAP {ON|OFF}] ORDERING{UNORDERED|

[SPOOL {OFF|ON}] ORDERED|DEFAULT}| [PRE[FORMAT] {OFF|ON}] NODE{BYVALUE|BYREFERENCE| NEWP[AGE] {1|n|NONE} DEFAULT}|

NULL text CONTEXT text}

NUMF[ORMAT] format

An asterisk (*) indicates the SET option is not supported in iSQL*Plus.

常用SQLPLUS环境变量--set serveroutput (1)

set serveroutput [ON/OFF]

set serveroutput命令,确定PL/SQL代码段或存储过程的输出是否显示屏幕上

SQL> show serverout <==查看serveroutput默认变量值serveroutput OFF <==显示为OFF

SQL> begin

2 dbms_output.put_line('Hello,everyone!');

3 end;

4 /

<==没有显示输出结果

PL/SQL 过程已成功完成。

SQL> set serveroutput on <==更改默认值为on

SQL> show serverout

serveroutput ON SIZE UNLIMITED FORMAT WORD_WRAPPED

SQL> begin

2 dbms_output.put_line('Hello,everyone!');

3 end;

4 /

Hello,everyone! <==显示输出

PL/SQL 过程已成功完成。

常用SQLPLUS环境变量--set serveroutput (2)format子句

format word_wrapped选项限制每行的长度为linesize变量指定的值,如果一个词超过了行长,则此行在该词前终止

set serveroutput on format word_wrapped

set linesize 20

begin

dbms_output.put_line('after the first 20 charachters pleasa');

dbms_output.put_line('continue on the second line');

end;

/

after the first 20

charachters pleasa

continue on the

second line

PL/SQL 过程已成功完成。

format truncated格式化选项时,显示输出的每行都精确地截断在linesize变量所指定的长度上.

set serveroutput on format truncated

set linesize 20

begin

dbms_output.put_line('after the first 20 charachters pleasa');

dbms_output.put_line('continue on the second line');

end;

/

after the first 20 c

continue on the seco

PL/SQL 过程已成功完成。

用glogin.sql文件指定全局环境变量

glogin.sql站点概要文件(site profile file)可以设置sqlplus指定的变量默认值.可以使用glogi.sql文件给所有用户相同的环境设置

glogin.sql文件适用于系统的所有用户.

glogin.sql存放在$ORACLE_HOME/sqlplus/admin目录下,每次sqlplus登录时oralce都会读取此文件.

如: set linesize 150

set serveroutput on

set pages 100

把这3个环境变量写入glogin.sql文件中,以后每次登录sqlplus时此三个环境变量都以glogin.sql中设置为准.

用login.sql文件指定个别用户环境变量收选项

login.sql文件是由oracle控制的另一个文件,可以设置用户自己定制的sqlplus环境,称为用户概要文件(user profile file).login.sql命令在连接sqlplus时自动执行

login.sql与glogin.sql顺序

当slqplus连接时,先执行glogin.sql然后执行login.sql在login.sql中指定的变量值覆盖glogin.sql指定的变量值也就是login.sql优先级比glogin.sql高

login.sql只适合个别用户会话,它在glogin.sql运行后自动运行

但怎么使用的实验没搞明白

STORE/START

保存当前环境变量

SQL> store set mysqlplus.sql

已创建file mysqlplus.sql

复原所有环境变量

SQL> start mysqlplus.sql

store有三个选项:create创建,replace替换,append给已有文件添加命令

SHOW命令

SHOW:可以使用show命令显示变量值.为了查找特定的变量值,可以在命令后输入特定的变量名.

如:

show user

show sga

show parameter

SQLPROMPT命令

sqlprompt命令可以将环境设置为用实例名称作为提示符的习惯,以便提醒当前会话所处的位置. SQL> set sqlprompt '_connect_identifier>'

orcl> <==表示当前使用的数据库名,本例的数据库名为orcl

connect_identifier为预定义变量

user

也可以将提示符显示为用户名称,当设置此变量后,当切换任意用户时,提示符也相应切换为当前连接的用户名

orcl>set sqlprompt '_user>'

SYS>conn scott/tiger

已连接。

SCOTT>conn erm/erm

已连接。

ERM>

set sqlprompt ''_user'@'_connect_identifier >'' <==userid@instance

DESCRIBE命令

describe(desc)命令查看表的结构,描述oracle的程序包或过程

SCOTT>desc emp;

名称是否为空? 类型

----------------------- -------- --------------

EMPNO NOT NULL NUMBER(4)

ENAME VARCHAR2(10)

JOB VARCHAR2(9)

MGR NUMBER(4)

HIREDATE DATE

SAL NUMBER(7,2)

COMM NUMBER(7,2)

DEPTNO NUMBER(2)

HOST命令

windows下使用host从sqlplus中切换到操作系统

linux下使用host/!都可以从slqplus中切换到操作系统

SPOOL命令

SPOOL命令可以将一条或多条sql语句的输出结果保存到UNIX和windows的操作系统文件中

SCOTT>spool d:\spool.lst

SCOTT>set line 130

SCOTT>select * from emp;

SCOTT>select * from tab;

SCOTT>spool off; <==会把以上sql语句的输出结果都保存在d:\spool.lst这个文件里EXECUTE命令

EXECUTE(exec)命令调用程序包或过程

例:

SQL> create procedure update_sal(

2 name varchar2,newsal number)

3 is

4 begin

5 update emp set sal=newsal

6 where lower(ename)=lower(name);

7 end;

SQL> /

过程已创建。

调用过程

SQL> exec update_sal('scott',2000)

PL/SQL 过程已成功完成。

PAUSE命令

PAUSE命令可以在输出信息满一屏后暂停显示,然后按enter(回车)键可看到下一屏的显示信息.当设置ON 后运行查询时,需要按enter键才能浏览到第一屏输出信息

show pause

PAUSE为OFF

set pause on

show pause

PAUSE 为ON 并设为" "

COLUMN命令

COLUMN(col)命令格式表中列长短

例:

col ename for a15

将SQL缓冲区内容保存到文件中SAVE

SAVE命令可以保存SQL缓冲区的内容到文件中

SYS>select username,process,sid,serial# from v$session where status='ACTIVE'

2 .

SYS>SAVE STATUS.SQL

已创建file STATUS.SQL

如果已存在覆盖使用replace如果追加到文件最后一行使用append

SYS>select username,process,sid,serial# from v$session where status='ACTIVE'

2 .

SYS>save status.sql

SP2-0540: 文件"status.sql" 已经存在。

使用"SAVE filename[.ext] REPLACE"。

SYS>save status.sql replace

已写入file status.sql

SYS>save status.sql append

已将file 附加到status.sql

预定义SQLPLUS变量

SYS>define <==使用define查看预定义的sqlplus环境变量

DEFINE _DATE = "03-1月-11" (CHAR)

DEFINE _CONNECT_IDENTIFIER = "orcl" (CHAR)

DEFINE _USER = "SYS" (CHAR)

DEFINE _PRIVILEGE = "AS SYSDBA" (CHAR)

DEFINE _SQLPLUS_RELEASE = "1002000100" (CHAR)

DEFINE _EDITOR = "Notepad" (CHAR)

DEFINE _O_VERSION = "Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options" (CHAR)

DEFINE _O_RELEASE = "1002000100" (CHAR)

DEFINE _RC = "-1" (CHAR)

oracle常用命令及格式

oracle常用命令及格式 一:关于日志管理的 1.切换日志:sql> alter system switch logfile; 2.切换checkpoints:sql> alter system checkpoint; 3.增加日志组:sql> alter database add logfile [group 4] sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size1m; 4.增加日志成员 sql> alter database add logfile member sql> '/disk3/log1b.rdo' to group 1, sql> '/disk4/log2b.rdo' to group 2; 5.改变日志文件名字或路径 sql> alter database rename file 'c:/oracle/oradata/oradb/re do01.log' sql> to 'c:/oracle/oradata/redo01.log'; (此处注意,那个文件路径的输入格式) 6.删除日志文件组:sql> alter database drop logfile group 3;

7.删除日志文件成员 sql> alter database drop logfile member 'c:/oracle/oradata/ redo01.log'; 8.清除日志文件内容 sql> alter database clear [unarchived] logfile 'c:/oracle/l og2a.rdo'; 二、关于表空间管理的 1.创建表空间 sql> create tablespace tablespace_name datafile 'c:\oracle\ oradata\file1.dbf' size100m, sql> 'c:\oracle\oradata\file2.dbf' size100mminimum extent 5 50k [logging/nologging] sql> default storage (initial 500k next 500k maxextents 500 pctinccease 0) sql> [online/offline] [permanent/temporary] [extent_managem ent_clause]

Oracle SQLPlus 常用命令及解释

Oracle SQLPlus 常用命令及解释 1.@ 执行位于指定脚本中的SQLPlus语句。可以从本地文件系统或Web服务器中调用脚本。可以为脚本中的变量传递值。在iSQL*Plus中只能从Web服务器中调用脚本。 2.@@ 执行位于指定脚本中的SQL*Plus语句。这个命令和@(“at”符号)命令功能差不多。在执行嵌套的命令文件时它很有用,因为它会在与调用它的命令文件相同的路径或url中查找指定的命令文件。在iSQL*Plus中只支持url形式。 3./ 执行保存在SQL缓冲区中的最近执行的SQL命令或PL/SQL块。在SQL*Plus命令行中,可在命令提示符或行号提示符使用斜线(/)。也可在iSQL*Plus的输入区中使用斜线(/)。斜线不会列出要执行的命令。 4.ACCEPT 可以修改既有变量,也可定义一个新变量并等待用户输入初始值,读取一行输入并保存到给出的用户变量中。ACCEPT在iSQL*Plus中不可用。 5.APPEND 把指定文本添加到SQL缓冲区中当前行的后面。如果text的最前面包含一个空格可在APPEND和text间输入两个空格。如果text的最后是一个分号,可在命令结尾输入两个分号(SQL*Plus会把单个的分号解释为一个命令结束符)。APPEND 在iSQL*Plus中不可用。 6.ARCHIVE LOG 查看和管理归档信息。启动或停止自动归档联机重做日志,手工(显示地)归档指定的重做日志,或者显示重做日志文件的信息。 7.ATTRIBUTE 为对象类型列的给定属性指定其显示特性,或者列出单个属性或所有属性的当前显示特性。 8.BREAK 分开重复列。指定报表中格式发生更改的位置和要执行的格式化动作(例如,在列值每次发生变化时跳过一行)。只输入BREAK而不包含任何子句可列出当前的BREAK定义。 9.BTITLE 在每个报表页的底部放置一个标题并对其格式化,或者列出当前BTITLE定义。

Oracle基本语法

Oracle的历史 ?Oracle 公司( 甲骨文) 创始人: Larry Ellison 32岁,公司提供数据库服务. ?公司成立于1977 年, 83 年公司更名为Oracle ,原名为”软件开发实验室”. ?Oracle 数据库适用于大型企业 ?竞争对手 –微软的SQLServer –IBM 的DB2 ?目前的版本 – 2.0~7.0 , 8.0 , 8i , 9i , 10g Oracle的服务: 我的电脑右键选择管理--服务和应用程序—服务 -----是数据库或例程的系统标识符 ------是Oracle主目录名称 这几个服务之间的关系: 启动顺序:1、OracleTNSListener必须启动 2、OracleServer必须启动 3、OracleDBConsole启动依赖于OracleServer SqlPlus SqlPlus是Oracle任何版本都自带的数据库操作工具,使用它可以完成大部分的数据库操作。 SqlPlus可以“开始→程序→Oracle”启动,也可以命令行启动(互动) 1.命令行启动sqlPlus sqlplus 用户名/密码@orcl

或 sqlplus 用户名@orcl 如果用户是管理员要在sqlplus 用户名/密码@主机字符串as sysdba “/”是用户名和密码分隔符号 “@”是密码和数据库的分隔符号 “orcl”是数据库的名称,在安装时指定 常用命令(互动) connect 切换用户 show user 显示当前用户 set linesize 1000 设置行显示长度 set pagesize 1000 设置分页长度 desc dept 查看表结构 select table_name from user_tables 查询当前用户的表 / 运行上一条SQL语句 clear screen 清除屏幕 edit 编辑 spool d:/a 保存输出结果到某个位置 spool off 保存结束 quit 退出 list 查看最后一条语句 @ 文件名.sql 运行外部文件中的SQL语句

oracle中常用函数大全

oracle中常用函数大全 1、数值型常用函数 函数返回值样例显示 ceil(n) 大于或等于数值n的最小整数select ceil(10.6) from dual; 11 floor(n) 小于等于数值n的最大整数select ceil(10.6) from dual; 10 mod(m,n) m除以n的余数,若n=0,则返回m select mod(7,5) from dual; 2 power(m,n) m的n次方select power(3,2) from dual; 9 round(n,m) 将n四舍五入,保留小数点后m位select round(1234.5678,2) from dual; 1234.57 sign(n) 若n=0,则返回0,否则,n>0,则返回1,n<0,则返回-1 select sign(12) from dual; 1 sqrt(n) n的平方根select sqrt(25) from dual ; 5 2、常用字符函数 initcap(char) 把每个字符串的第一个字符换成大写select initicap('mr.ecop') from dual; Mr.Ecop lower(char) 整个字符串换成小写select lower('MR.ecop') from dual; mr.ecop replace(char,str1,str2) 字符串中所有str1换成str2 select replace('Scott','s','Boy') from dual; Boycott substr(char,m,n) 取出从m字符开始的n个字符的子串select substr('ABCDEF',2,2) from dual; CD length(char) 求字符串的长度select length('ACD') from dual; 3 || 并置运算符select 'ABCD'||'EFGH' from dual; ABCDEFGH 3、日期型函数 sysdate当前日期和时间select sysdate from dual;

PL_SQL命令的使用大全

SQL*PLUS命令的使用大全[zt] Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。 除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。 下面就介绍一下一些常用的sql*plus命令: 1. 执行一个SQL脚本文件 SQL>start file_name SQL>@ file_name 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 2. 对当前的输入进行编辑 SQL>edit 3. 重新运行上一次运行的sql语句 SQL>/ 4. 将显示的内容输出到指定文件 SQL> SPOOL file_name 在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。 5. 关闭spool输出 SQL> SPOOL OFF 只有关闭spool输出,才会在输出文件中看到输出的内容。 6.显示一个表的结构 SQL> desc table_name 7. COL命令: 主要格式化列的显示形式。 该命令有许多选项,具体如下: COL[UMN] [{ column|expr} [ option ...]] Option选项可以是如下的子句: ALI[AS] alias CLE[AR] FOLD_A[FTER] FOLD_B[EFORE] FOR[MA T] 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] 1). 改变缺省的列标题

oracle常用命令大全和环境变量路径

Oracle 命令大全 底部为环境变量配置路径。 1 运行SQLPLUS工具 sqlplus 2 以OS的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入SQLPLUS命令提示符 sqlplus /nolog 5 在命令提示符以OS身份连接 connect / as sysdba 6 以SYSTEM的身份连接 connect system/xxxxxxx@服务名 7 显示当然用户有哪些表 select * from tab; 8 显示有用户名和帐户的状态 select username,account_status from dba_users; 9 将SCOTT帐号解锁(加锁) alter user scott account unlock(lock); 10 以SCOTT的身份连接并且查看所属表 connect scott/tiger select * from tab; 11 查看EMP的表结构及记录内容 desc emp select empno,ename from emp; 12 以OS的身份登看SGA,共享池,CACHE的信息 connect / as sysdba show sga select name,value/1024/1024 from v$sga; show parameter shared_pool_size select value/1024/1024 from v$parameter where name ='shared_pool_size';

show parameter db_cache_size select value/1024/1024 from v$parameter where name ='db_cache_size'; 13 查看所有含有SIZE的信息 show parameter size bitmap_merge_area_size integer 1048576 create_bitmap_area_size integer 8388608 db_16k_cache_size big integer 0 db_2k_cache_size big integer 0 db_32k_cache_size big integer 0 db_4k_cache_size big integer 0 db_8k_cache_size big integer 0 db_block_size integer 4096 db_cache_size big integer 33554432 db_keep_cache_size big integer 0 db_recycle_cache_size big integer 0 NAME TYPE V ALUE ------------------------------------ ----------- ------------- global_context_pool_size string hash_area_size integer 1048576 java_max_sessionspace_size integer 0 java_pool_size big integer 33554432 large_pool_size big integer 8388608 max_dump_file_size string UNLIMITED object_cache_max_size_percent integer 10 object_cache_optimal_size integer 102400 olap_page_pool_size integer 33554432 oracle_trace_collection_size integer 5242880 parallel_execution_message_size integer 2148 NAME TYPE V ALUE ------------------------------------ ----------- ------------- sga_max_size big integer 143727516 shared_pool_reserved_size big integer 2516582 shared_pool_size big integer 50331648 sort_area_retained_size integer 0 sort_area_size integer 524288 workarea_size_policy string AUTO 14 显示SGA的信息 select * from v$sgastat; POOL NAME BYTES

Oracle查询语句基本命令一

oracle查询语句大全--基本命令大全一 1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba to username;//授权grant connect,resource,dba,sysdba to username; 3.connect username/password//进入。 4.select table_name,column_name from user_tab_columns where table_name='mview_log';//查询表中的表名,字段名等等。 5. 如何执行脚本SQL文件? SQL>@PATH/filename.sql; 6.Oracle oledb 提供者在command中执行多条SQL语句与SQL SERVER有少许差别,SQL Server只需使用";"分割多条SQL语句,而Oracle需要遵守ORACLE调用规范,即除分号分割外,还需以begin /end;包围语句体. 使用C#描述应如下所示: https://www.doczj.com/doc/0e9045822.html,mandText = "begin INSERT INTO GROUP_INFO (GROUP_ID, GROUP_NAME) V ALUES (1, \'2\'); INSERT INTO GROUP_INFO(GROUP_ID, GROUP_NAME) V ALUES (2, \'2\'); end;"; 7.查询用户下的表的信息select distinct table_name from user_tab_columns; 8.如何搜索出前N条记录?Select a.*,rownum from (select * from cardkind order by cardkind ) a where rownum show user 3、查看系统拥有哪些用户SQL> select * from all_users; 4、新建用户并授权 SQL> create user a identified by a;(默认建在SYSTEM表空间下) SQL> grant connect,resource to a; 5、连接到新用户SQL> conn a/a

oracle命令大全

1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba to username;//授权 grant connect,resource,dba,sysdba to username; 3.connect username/password//进入。 4.select table_name,column_name from user_tab_columns where table_name='mview_log';//查询表中的表名,字段名等等。 5. 如何执行脚本SQL文件? SQL>@PATH/filename.sql; 6.Oracle oledb 提供者在command中执行多条SQL语句与SQL SERVER有少许差别,SQL Server 只需使用";"分割多条SQL语句,而Oracle需要遵守ORACLE调用规范,即除分号分割外,还需以begin /end;包围语句体. 使用C#描述应如下所示: https://www.doczj.com/doc/0e9045822.html,mandText = "begin INSERT INTO GROUP_INFO (GROUP_ID, GROUP_NAME) VALUES (1, \'2\'); INSERT INTO GROUP_INFO(GROUP_ID, GROUP_NAME) VALUES (2, \'2\'); end;"; 7.查询用户下的所有表 select distinct table_name from user_tab_columns; 8.如何搜索出前N条记录?Select a.*,rownum from (select * from cardkind order by cardkind ) a where rownum show user 3、查看系统拥有哪些用户 SQL> select * from all_users; 4、新建用户并授权 SQL> create user a identified by a;(默认建在SYSTEM表空间下) SQL> grant connect,resource to a; 5、连接到新用户 SQL> conn a/a 6、查询当前用户下所有对象 SQL> select * from tab; 7、建立第一个表 SQL> create table a(a number); 8、查询表结构 SQL> desc a 9、插入新记录 SQL> insert into a values(1); 10、查询记录 SQL> select * from a;

Oracle常用Dos命令

1.进入sql界面: 开始--运行--cmd:输入sqlplus 回车提示输入正确的用户名和密码 注意:用户名默认的是sys,system,密码是你安装的密码,输入正确的用户名及密码即可进入界面。 2.DOS命令下修改密码 当忘记密码时,DOS命令下 alter user system identified by 新密码; 例:修改系统密码为root alter user system identified by root; 3.切换用户操作 先退出再登录,exit退出 Sqlplus --提示输入用户名新用户名 --提示输入密码对应密码 或 不退出,直接sql操作中conn/用户名/密码切换用户 例:conn system/root 注意:登录的时候没有分号结束。 4.简单入门命令 select * from tabs;---查询当前用户下有哪些表(多查询出系统表); select table_name from user_tables; ---查询当前用户下的所有表的名称。 desc 表名---查看表有哪些列(表的结构) 5.创建用户命令

连接到用户SQL> conn system/root 创建用户: SQL> create user scott(用户名) identified by tiger(密码); 切换用户:SQL> conn scott/tiger //用户切换失败 Not logged on 备注:出现用户没有session权限的提示. 所以应当分配session权限 6.分配权限 grant 权限名to 用户名; SQL> conn system/root;//第一步切换到管理员 SQL> grant create session to scott; //为用户受权 Grant succeeded//受权成功 备注:当受权成功后,scott就可以登录,但是登录后,当用户创建表时,也会出现权限不足.然在oracle中是通过用户的角色来给用户分配权限的.详细参考9角色 7. 角色(一个角色包含多个权限) connect create session create table …… resource 对表空间使用权限 …… grant connect,resource to scott; 注意:对用用户的创建,权限的分配,只有管理员才能够操作,普通用户不能实现.

oracle DBA常用命令大全

1 运行SQLPLUS工具 sqlplus 2 以OS的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入SQLPLUS命令提示符 sqlplus /nolog 5 在命令提示符以OS身份连接 connect / as sysdba 6 以SYSTEM的身份连接 connect system/xxxxxxx@服务名 7 显示当然用户有哪些表 select * from tab; 8 显示有用户名和帐户的状态 select username,account_status from dba_users; 9 将SCOTT帐号解锁(加锁) alter user scott account unlock(lock); 10 以SCOTT的身份连接并且查看所属表 connect scott/tiger select * from tab; 11 查看EMP的表结构及记录内容 desc emp select empno,ename from emp; 12 以OS的身份登看SGA,共享池,CACHE的信息 connect / as sysdba show sga select name,value/1024/1024 from v$sga; show parameter shared_pool_size select value/1024/1024 from v$parameter where name ='shared_pool_size'; show parameter db_cache_size select value/1024/1024 from v$parameter where name ='db_cache_size';

Oracle常用命令大全

Oracle常用命令大全(很有用,做笔记) 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b、关闭ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>shutdown SVRMGR>quit 启动oracle9i数据库命令: $ sqlplus /nolog SQL*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 sysdba Connected to an idle instance. SQL> startup^C SQL> startup ORACLE instance started. 2、在双机环境下 要想启动或关闭ORACLE系统必须首先切换到root用户,如下 su - root a、启动ORACLE系统 hareg -y oracle b、关闭ORACLE系统 hareg -n oracle Oracle数据库有哪几种启动方式

说明: 有以下几种启动方式: 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 nomount alter database mount alter database open 5、startup restrict 约束方式启动 这种方式能够启动数据库,但只允许具有一定特权的用户访问 非特权用户访问时,会出现以下提示: ERROR: ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用 6、startup force 强制启动方式 当不能关闭数据库时,可以用startup force来完成数据库的关闭

oracle常用SQL语句(汇总版)

Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语句(DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’ 如果字段值里包含单引号’ 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过定义的长度会出错, 最好在插入前进行长度校验. 日期字段的字段值可以用当前数据库的系统时间SYSDATE, 精确到秒 或者用字符串转换成日期型函数TO_DATE(‘2001-08-01’,’YYYY-MM-DD’) TO_DATE()还有很多种日期格式, 可以参看ORACLE DOC. 年-月-日小时:分钟:秒的格式YYYY-MM-DD HH24:MI:SS INSERT时最大可操作的字符串长度小于等于4000个单字节, 如果要插入更长的字符串, 请考虑字段用CLOB类型, 方法借用ORACLE里自带的DBMS_LOB程序包. INSERT时如果要用到从1开始自动增长的序列号, 应该先建立一个序列号 CREATE SEQUENCE 序列号的名称(最好是表名+序列号标记) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;

其中最大的值按字段的长度来定, 如果定义的自动增长的序列号NUMBER(6) , 最大值为999999 INSERT 语句插入这个字段值为: 序列号的名称.NEXTVAL 2.DELETE (删除数据表里记录的语句) DELETE FROM表名WHERE 条件; 注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused. 如果确实要删除一个大表里的全部记录, 可以用TRUNCATE 命令, 它可以释放占用的数据块表空间 TRUNCATE TABLE 表名; 此操作不可回退. 3.UPDATE (修改数据表里记录的语句) UPDATE表名SET 字段名1=值1, 字段名2=值2, …… WHERE 条件; 如果修改的值N没有赋值或定义时, 将把原来的记录内容清为NULL, 最好在修改前进行非空校验; 值N超过定义的长度会出错, 最好在插入前进行长度校验.. 注意事项: A. 以上SQL语句对表都加上了行级锁, 确认完成后, 必须加上事物处理结束的命令COMMIT 才能正式生效, 否则改变不一定写入数据库里. 如果想撤回这些操作, 可以用命令ROLLBACK 复原.

ORACLE常用名词、概念大全

oracle常用名词解析 l数据库块(BLOCK) ORACLE数据库中的最小存储和处理单位,包含块本身的头信息数据或PL/SQL代码。 ORACLE块的大小是可以在安装时选择“自定义安装”来指定,也可以在CREATE DATABASE创建数据库实例时指定。其最小为2K,最大可达为64K。 l瓶颈(Bottleneck) 指限制系统性能的部件。 l面向对象的关系数据库 具有关系数据库的全部功能,同时又支持面向对象的数据库,称作面向对象关系数据库系统。Oracle7是一种功能完备的关系数据库系统;oracle8是一种面向对象的关系数据库系统。 l客户/服务器结构(Client/Server) 有客户机、服务器、网络三要素的结构,客户机(PC机)通过网络与服务器相连和工作。 l胖客户机(Fat Client) 一般的Client/Server结构中的客户机均为胖客户机。因为这些客户机需要配置较高的设备,如内存、硬盘、主频、CD_ROM等。 l瘦客户机(Thin Client) 也称作NC(网络计算机),是一种内存配置小(过去指一般只有4M,现无法定义),无硬盘,只有处理心片的处理机。 l数据在线分析处理(OLAP) 是一种能以快速、交互、方便的方式洞察数据情况的技术。如Oracle Express,Cognos(加拿大)的Power Play,Business Objects公司的Business Object等。 l多线程(MTS) 一个用户可以同时运行多个程序对数据库进行访问,比如Visual C/C++可以提供同时启动多个进程,而Visual Basic则不能。 l数据仓库(Data Warehouse) 支持大量数据信息存储的叫做支持数据仓储或数据仓库。当把几个小型数据库集成为一个大型数据库,并为一个较广泛的组织服务时,如果该数据库存储历史数据,提供决策支持,提供数据汇总,提供只读数据,并且实质上充当所有向它提供数据的相关成品数据库的数据接收器,那么它通常被叫做数据仓库。 l实例(Instance) 是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程。 l对象(Objects) 是实现世界实体的软件表示,如表、索引、视图、同义词、过程等。 l数据库文件(Datafile) Oracle系统中用于存放数据(应用系统数据)的文件。(<;>14中的例子不准确,容易误导读者)。 l控制文件(Control File) Oracle中存放系统用的一些数据的文件。如数据文件的路径及文件名,初始化文件路径及文件名等都存放在控制文件中。 l日志文件(Logs File)

Oracle备份常用命令

Oracle备份常用命令 Oracle也是常用的数据库之一,备份起来的话有时候是否感到棘手?保存好以下信息,相信能助你一臂之力。 一.常用的备份命令 1.list backup;列出数据库中所有的备份信息。 2.list backup of controlfile;列出所有备份的控制文件。 3.list backup of datafile ' 或者list backup of datafile 对应数据文件的ID号。数据文件全路径.dbf';列出指定的备份的数据文件。 4.list backup of archivelog all;列出所有备份的归档文件。 5.list copy of tablespace '表空间名';列出指定表空间的备份信息。 6.list expired backup;列出无效备份。 7.delete obsolete;删除过期备份。 8.delete expired backup;删除无效备份。 9.delete expired copy;删除expired副本。 10.delete backupset 备份集编号;删除指定备份集。 11.delete backup;删除所有备份集。

12.delete copy;删除所有映像副本。 13.report need backup;查看所需要的备份文件 14.report need backup tablespace 表空间名;查看指定表空间是否需要备份。 15.crosscheck archivelog all;检查归档文件是否有效 16.crosscheck backup;检查所有备份集。 RMAN相关的 list backup of database(查看数据库的全库备份,全部细节都包括) list backup of tablespace users (查看users表空间的备份) list backup of datafile 5;(5是表空间对应的文件id) list backup of controlfile(看出控制文信息的备份) list backup of datafile '+DATADG/cboms/datafile/users.264.735423243';(根据具体的数据文 件的具体位置,查看备份) list expired backup;(无效的备份) list expired archivelog all;(查看无效的archive log 日志)

oracle语法大全

Oracle数据库语句大全 一.入门部分 1.创建表空间 create tablespace schooltbs datafile ‘D:\oracle\datasource\schooltbs.dbf’ size 10M autoextend on; 2.删除表空间 drop tablespace schooltbs[including contents and datafiles]; 3.查询表空间基本信息 select *||tablespace_name from DBA_TABLESPACES; 4.创建用户 create user lihua identified by lihua default tablespace schooltbs temporary tablespace temp; 5.更改用户 alter user lihua identified by 123 default tablespace users; 6.锁定用户 alter user lihua account lock|unlock; 7.删除用户 drop user lihua cascade;--删除用户模式 8.oracle数据库中的角色 connect,dba,select_catalog_role,delete_catalog_role,execute_catalo g_role,exp_full_database,imp_full_database,resource 9.授予连接服务器的角色 grant connect to lihua; 10.授予使用表空间的角色 grant resource to lihua with grant option;--该用户也有授权的权限 11.授予操作表的权限 grant select,insert on user_tbl to scott;--当前用户 grant delete,update on https://www.doczj.com/doc/0e9045822.html,er_tbl to scott;--系统管理员 二.SQL查询和SQL函数 1.SQl支持的命令: 数据定义语言(DDL):create,alter,drop 数据操纵语言(DML):insert,delete,update,select 数据控制语言(DCL):grant,revoke 事务控制语言(TCL):commit,savepoint,rollback 2.Oracle数据类型 字符,数值,日期,RAW,LOB 字符型 char:1-2000字节的定长字符

linux与oracle常用命令汇总,绝对超值!

tail -f catalina.out 看日志 ps -ef|grep java 看进程 rm -rf zhijian 删除zhijian文件夹 control(275590805) 16:11:41 control_net@https://www.doczj.com/doc/0e9045822.html, 275590806s 试试我的 超级用户:root 111111 Oracle用户:oracle oracle 数据库实例:edu 数据库用户:sysdba sysdab 创建表空间:create tablespace cpde_data datafile '/opt/app/oracle/wdcms1.dbf' size 500m autoextend on next 100m maxsize unlimited; 创建用户:create user meige2 identified by meige2 default tablespace cpde_data; 给用户分配权限:grant connect,resource,dba to meige1; 1. linux下启动oracle su - oracle sqlplus /nolog conn /as sysdba startup exit lsnrctl start exit 2. linux下关闭oracle su - oracle sqlplus /nolog conn /as sysdba shutdown immediate exit lsnrctl stop exit 3、启动监听器 oracle@suse92:~> lsnrctl start

4、停止监听器 oracle@suse92:~> lsnrctl stop 5、查看监听器状态 oracle@suse92:~> lsnrctl LSNRCTL> status LSNRCTL> exit 1、创建表空间: 写执行脚本create_tablespace.sql create tablespace accounting_tbs datafile '/opt/ora9/oradata/KLTest/accounting_tbs.dbf' size 50M extent management local; 以sys用户权限登陆数据库执行脚本: Sql>@create_tablespace.sql 2、创建oracle用户: 写执行脚本create_user.sql create user klwy identified by “0000” default tablespace accounting_tbs quota 100M on accounting_tbs quota 500K on indx; 3、分配用户权限: 为用户授予create session系统权限: Sql>grant create session to klwy; 为用户授予connect角色:

oracle导出命令大全

1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 exp system/manager@TEST file=d:\daochu.dmp full=y 2 将数据库中system用户与sys用户的表导出 exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys) 3 将数据库中的表inner_notify、notify_staff_relat导出 exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\" 上面是常用的导出,对于压缩 ,既用winzip把dmp文件可以很好的压缩。 也可以在上面命令后面加上compress=y 来实现。 数据的导入: 1 将D:\daochu.dmp 中的数据导入TEST数据库中。 imp system/manager@TEST file=d:\daochu.dmp imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp ignore=y 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。 在后面加上ignore=y 就可以了。 2 将d:\daochu.dmp中的表table1 导入 imp system/manager@TEST file=d:\daochu.dmp tables=(table1) 基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。注意: 操作者要有足够的权限,权限不够它会提示。 数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。 附录一: 给用户增加导入数据权限的操作 第一,启动sql*puls 第二,以system/manager登陆 第三,create user 用户名IDENTIFIED BY 密码(如果已经创建过用户,这步可以省略) 第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW , DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE, DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字 第五, 运行-cmd-进入dmp文件所在的目录, imp userid=system/manager full=y file=*.dmp 或者imp userid=system/manager full=y file=filename.dmp 执行示例: F:\Work\Oracle_Data\backup>imp userid=test/test full=y file=inner_notify.dmp 屏幕显示 Import: Release 8.1.7.0.0 - Production on 星期四2月16 16:50:05 2006 (c) Copyright 2000 Oracle Corporation. All rights reserved. 连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production

相关主题
文本预览
相关文档 最新文档