36
3 Copyright © 2012, 软软软软软软软 12-208. Oracle Oracle 数数数 数数数 数数数数数 数数 [email protected]

Oracle 数据库

  • Upload
    elin

  • View
    129

  • Download
    0

Embed Size (px)

DESCRIPTION

Oracle 数据库. 计算机学院 王怡 [email protected]. 安装完 Oracle 11g 后. 运行 http://localhost:1158/em/. Oracle11g 的卸载与删除. 停止 oracle 各项服务(管理工具中) OUI 卸载安装 手动删除注册表和 path 环境变量. How?. 寻找一种便捷操作 oracle 的方法. Oracle 数据库. 计算机学院 王怡 [email protected]. 本节主要内容. 了解 SQL*Plus 工具的功能。 掌握 SQL*Plus 连接与断开数据库的方式。 - PowerPoint PPT Presentation

Citation preview

Page 1: Oracle 数据库

3Copyright © 2012,软件工程教研室 12-208.

OracleOracle 数据库数据库

计算机学院 王怡[email protected]

Page 2: Oracle 数据库

3-2 Copyright© 2012,Wangyi, TUST 12-208

安装完 Oracle 11g 后运行 http://localhost:1158/em/

Page 3: Oracle 数据库

3-3 Copyright© 2012,Wangyi, TUST 12-208

Oracle11g 的卸载与删除

停止 oracle 各项服务(管理工具中) OUI 卸载安装 手动删除注册表和 path 环境变量

Page 4: Oracle 数据库

3Copyright © 2012,软件工程教研室 12-208.

OracleOracle 数据库数据库

计算机学院 王怡[email protected]

How?寻找一种便捷操作 oracle 的方法

Page 5: Oracle 数据库

3-5 Copyright© 2012,Wangyi, TUST 12-208

本节主要内容

了解 SQL*Plus 工具的功能。 掌握 SQL*Plus 连接与断开数据库的方式。 熟练掌握各种命令的使用。 掌握格式化查询结果的设置。 掌握临时变量和已定义变量的使用。 掌握简单报表的创建。

Page 6: Oracle 数据库

3-6 Copyright© 2012,Wangyi, TUST 12-208

SQL*Plus

主要用于数据查询和数据处理。利用 SQL*Plus 可以将 SQL 与Oracle 专有的 PL/SQL 结合起来进行数据查询和处理。SQL*Plus 工具具备以下功能: 对数据表可以执行插入、修改、删除、查询操作,以及执行

SQL 、 PL/SQL 块。 查询结果的格式化、运算处理、保存、打印以及输出 Web 格式。 显示任何一个表的字段定义,并与终端用户交互。 连接数据库,定义变量。 完成数据库管理。 运行存储在数据库中的子程序或包。 启动 / 停止数据库实例。

Page 7: Oracle 数据库

3-7 Copyright© 2012,Wangyi, TUST 12-208

1. SQL*Plus 启动的方法( 1 )

启动 SQL*Plus ,连接到默认数据库1. 执行“开始”→“程序”→“ Oracle –

OraDb11g_home1” →“Application Development”→“SQL Plus” 命令,打开 SQL Plus 窗口,显示登录界面。

2. 在登录界面根据提示输入相应的用户名和口令 ( 例如 sys和 system) 后按 Enter 键, SQL*Plus 将连接到默认数据库。

3. 连接到数据库之后,显示 SQL> 提示符,可以输入相应的SQL 命令。例如执行 SELECT name FROM V$DATABASE; 语句,查看当前数据库名称。

Page 8: Oracle 数据库

3-8 Copyright© 2012,Wangyi, TUST 12-208

SQL*Plus 启动的方法( 2 )

1. 开始 -> 运行中中敲入 CMD

2. 在盘符下敲入 sqlplus ,出现 sql> 提示符3. 在提示符下根据提示输入用户名和口令

Sql>conn sys/orclSql>conn system/orclSql>conn scott/tigerSql>conn sys as sysdba

Page 9: Oracle 数据库

3-9 Copyright© 2012,Wangyi, TUST 12-208

如何使 SQL*PLUS 更高效?

SQL*Plus 是与 Oracle 进行交互的客户端工具。 SQL*Plus 命令和 SQL*Plus 语句保存在一个被称为

SQL BUFFER 的内存区域中,但是只能保存一条最近执行的 SQL 语句。

Page 10: Oracle 数据库

3-10 Copyright© 2012,Wangyi, TUST 12-208

当不知道命令怎么使用怎么办?

Help !

Page 11: Oracle 数据库

3-11 Copyright© 2012,Wangyi, TUST 12-208

2. 常用的 SQL*PLUS 命令

Show Describe Edit Save Get Start Spool

Page 12: Oracle 数据库

3-12 Copyright© 2012,Wangyi, TUST 12-208

2.0 show

显示当前环境变量 Show all 全部 68个系统变量 Show user Show release Show SGA Show parameters Show errors

Page 13: Oracle 数据库

3-13 Copyright© 2012,Wangyi, TUST 12-208

2.1 describe

返回数据库中所存储的对象的描述。对于表和视图等对象来说, DESCRIBE 命令可以列出各个列以及各个列的属性,除此之外,该命令还可以输出过程、函数和程序包的规范。

DESC { [ schema. ] object [ @connect_identifier ] }

Page 14: Oracle 数据库

3-14 Copyright© 2012,Wangyi, TUST 12-208

2.2 edit

使用 EDIT 命令,可以将 SQL*Plus 缓冲区的内容复制到一个名为 afiedt.buf 的文件中,然后启动操作系统中默认的编辑器打开这个文件,并且对于文件内容能够进行编辑。在 Windows 操作系统中,默认的编辑器是Notepad( 记事本 ) 。– ED[IT] [ file_name ]

file_name 默认为 afiedt.buf ,也可以指定一个其他的文件。

Page 15: Oracle 数据库

3-15 Copyright© 2012,Wangyi, TUST 12-208

2.3 Save

将当前缓冲区的内容保存到文件中,这样,即使缓冲区中的内容被覆盖,也保留有前面的执行语句。语法如下:SAV[E] [ FILE ] file_name [ CRE[ATE] | REP[LACE] | SAV[E] [ FILE ] file_name [ CRE[ATE] | REP[LACE] |

APP[END] ]APP[END] ]

语法说明如下。– file_name :表示将 SQL*Plus 缓冲区的内容保存到由

file_name 指定的文件中。– CREATE :表示创建一个 file_name 文件,并将缓冲区中的

内容保存到该文件。该选项为默认值。– APPEND :如果 file_name 文件已经存在,则将缓冲区中

的内容追加到 file_name 文件的内容之后;如果该文件不存在,则创建该文件。

– REPLACE :如果 file_name 文件已经存在,则覆盖file_name 文件的内容;如果该文件不存在,则创建该文件。

Page 16: Oracle 数据库

3-16 Copyright© 2012,Wangyi, TUST 12-208

2.4 Get

使用 GET 命令的语法如下:GET [ FILE ] file_name [ LIST | NOLIST ]

语法如下:– file_name :表示一个指定文件,将该文件的内容读

入 SQL*Plus 缓冲区中。– LIST :列出缓冲区中的语句。– NOLIST :不列出缓冲区中的语句。

Page 17: Oracle 数据库

3-17 Copyright© 2012,Wangyi, TUST 12-208

2.5 Start

读取文件中的内容到缓冲区中,然后在 SQL*Plus 中运行这些内容。语法如下:STA[RT] { url | file_name }

语法说明如下。– url :用来指定一个 URL地址,例如 http://

host.domain/script.sql 。– file_name :指定一个文件。该命令将 file_name 文件

的内容读入 SQL*Plus 缓冲区中,然后运行缓冲区中的内容。

Page 18: Oracle 数据库

3-18 Copyright© 2012,Wangyi, TUST 12-208

2.6 Spool

将 SQL*Plus 中的输出结果复制到一个指定的文件中,或者把查询结果发送到打印机中,直到使用 SPOOL OFF 命令为止。 SPOOL 命令的语法如下:SPO[OL] [ file_name [ CRE[ATE] | REP[LACE] |

APP[END]] | OFF | OUT ]语法说明如下。

– file_name :指定一个操作系统文件。– CREATE :创建一个指定的 file_name 文件。– REPLACE :如果指定的文件已经存在,则替换该文件。– APPEND :将内容附加到一个已经存在的文件中。– OFF :停止将 SQL*Plus 中的输出结果复制到 file_name 文件

中,并关闭该文件。– OUT :启动该功能,将 SQL*Plus 中的输出结果复制到

file_name 指定的文件中。

Page 19: Oracle 数据库

3-19 Copyright© 2012,Wangyi, TUST 12-208

3. 格式化显示

Column Pagesize Linesize TTitle Btitle

Page 20: Oracle 数据库

3-20 Copyright© 2012,Wangyi, TUST 12-208

3.1 Column

COLUMN 命令可对列的显示效果 ( 包括列标题和列数据 ) 进行格式化。语法如下:COL[UMN] [ { column_name |ALI[AS] alias}

[options ] ]语法说明如下。

– column_name :指定列名。– ALIAS alias :指定要格式化的列的别名。– Options :指定用于格式化列或别名的一个或者多个选项。

Page 21: Oracle 数据库

3-21 Copyright© 2012,Wangyi, TUST 12-208

3.2 Pagesize

使用 PAGESIZE 命令,可以设置每一页的大小,从而控制每一页显示的数据量。语法如下:SET PAGESIZE n

– 其中,参数 n 表示每一页大小的正整数,最大值可以为 50000 ,默认值为 14 。

Page 22: Oracle 数据库

3-22 Copyright© 2012,Wangyi, TUST 12-208

3.3 Linesize

设置一行数据可以容纳的字符数量,默认数量为 80 。如果LINESIZE 的值比较小,那么表中一行数据,有可能在屏幕上需要分多行显示;如果 LINESIZE 的值设置大一些,一行数据就可以在屏幕的一行中进行显示了。语法如下:SET LINESIZE n

– 其中, n 表示屏幕上一行数据可以容纳的字符数量,有效范围是 1~32767 。

Page 23: Oracle 数据库

3-23 Copyright© 2012,Wangyi, TUST 12-208

3.4 TTitle

指定出现在报表中每一个页面顶端的页眉。TTI[TLE] [ printspec [ text|variable ] ...] | [ OFF | ON ]

– printspec 的可选值有:LEFT 、 CENTER 、 RIGHT 、 BOLD 、 FORMAT

text 、 COL n 、 S[KIP] [n] 和 TAB n 。– ON选项表示启用设置; OFF选项表示取消设置。

Page 24: Oracle 数据库

3-24 Copyright© 2012,Wangyi, TUST 12-208

3.5 BTitle

BTI[TLE] [ printspec [ text|variable ] ...] | [ OFF | ON ]

指定出现在报表中每一个页面底端的页脚

Page 25: Oracle 数据库

3-25 Copyright© 2012,Wangyi, TUST 12-208

4. 临时变量

在 Oracle 数据库中,可以使用变量来编写通用的 SQL 语句,在运行SQL 语句时,为变量输入值,就会在 SQL 语句中将变量替换成这些值。1.使用 & 符号表示临时变量 在 SQL 语句中,如果在某个变量前面使用了 & 符号,那么就表示该变量是一个临时变量。执行 SQL 语句时,系统会提示用户为该变量提供一个具体的数据。

2.使用 && 符号表示临时变量 在 SQL 语句中,如果希望重新使用某个变量并且不希望重新提示输入值,那么可以使用 && 符号来定义临时变量。

Page 26: Oracle 数据库

3-26 Copyright© 2012,Wangyi, TUST 12-208

SET VERIFY 和 SET DEFINE

SET VERIFY [ ON | OFF ] :用来指定是否输出原值和新值信息。

SET DEF[INE] :用于指定一个除字符 & 之外的字符,作为定义变量的字符。

Page 27: Oracle 数据库

3-27 Copyright© 2012,Wangyi, TUST 12-208

5. 使用已定义变量

Define : DEF[INE] variable = value

Accept : ACC[EPT] variable [ data_type ] [ FOR[MAT] format ] [ DEF[AULT] default ] [ PROMPT text | NOPR[OMPT] ]

[ HIDE ]

Page 28: Oracle 数据库

3-28 Copyright© 2012,Wangyi, TUST 12-208

6. 数据库的启动和关闭

Page 29: Oracle 数据库

3-29 Copyright© 2012,Wangyi, TUST 12-208

启动 Oracle 数据库实例 : NOMOUNT 方式

OPEN

MOUNT

NOMOUNT

SHUTDOWN

Instance started

STARTUP

Page 30: Oracle 数据库

3-30 Copyright© 2012,Wangyi, TUST 12-208

启动 Oracle 数据库实例 :MOUNT 方式

OPEN

MOUNT

NOMOUNT

SHUTDOWN

Control file opened for this instance

Instance started

STARTUP

Page 31: Oracle 数据库

3-31 Copyright© 2012,Wangyi, TUST 12-208

启动 oracle 数据库实例 :OPEN 方式

OPEN

MOUNT

NOMOUNT

SHUTDOWN

All files opened as described by the control file for this instance

Control file opened for this instance

Instance started

STARTUP

Page 32: Oracle 数据库

3-32 Copyright© 2012,Wangyi, TUST 12-208

Oracle 数据库的四种启动方式 1 、 nomount   非安装启动 : 这种方式启动下可执行:重建控制文件、重建数据库、启动 instance ,即启动 SGA 和后台进程,这种启动只需要 init.ora 文件。 2 、 mount dbname   安装启动 : 这种方式启动下可执行:数据库日志归档、数据库恢复、重新命名一些数据库文件 , 如:系统表空间或日志文件。执行“ nomount” ,然后打开控制文件 3 、 open dbname   首先执行“ nomount” ,然后执行“ mount” ,再打开包括Redo log 文件在内的所有数据库文件, 这种方式下可访问数据库中的数据。 4 、 startup 等于以下三个命令    startup nomount    alter database mount    alter database open 

Page 33: Oracle 数据库

3-33 Copyright© 2012,Wangyi, TUST 12-208

关闭数据库实例

Page 34: Oracle 数据库

3-34 Copyright© 2012,Wangyi, TUST 12-208

关闭数据库模式

A

No

No

No

No

T

No

No

Yes

Yes

I

No

No

No

Yes

Shutdown Mode

Allows new connections

Waits until current sessions end

Waits until current transactions end

Forces a checkpoint and closes files

N

No

Yes

Yes

Yes

关闭模式 : A = ABORT I = IMMEDIATE T = TRANSACTIONAL N = NORMAL

Page 35: Oracle 数据库

3-35 Copyright© 2012,Wangyi, TUST 12-208

四种关闭模式

SHUTDOWN NORMAL :不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。

SHUTDOWN TRANSACTIONAL :不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。

SHUTDOWN IMMEDIATE :不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动 rollback 的。启动时不需要实例恢复。

SHUTDOWN ABORT :不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。

Page 36: Oracle 数据库

3-36 Copyright© 2012,Wangyi, TUST 12-208

上机作业