1.PL/SQL——准备工作和实验环境简介

一、准备工作

本机采用的是CentOS6.5的操作系统,安装的是Oracle 11g的数据库,安装过程并不复杂,可上网搜索。成功安装数据库之后,使用oracle用户登陆系统,然后在命令行输入以下命令:

[[email protected]~]$ cd $ORACLE_HOME/bin

# 进入/home/oracle/bin目录

[[email protected]]$ lsnrctl start

 -- 打开监听(如果监听已经开启了,则忽略此步骤)
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 06-AUG-201415:28:48
 
Copyright (c) 1991, 2009, Oracle. All rights reserved.
 
Starting /oracle/11g/bin/tnslsnr: please wait...
 
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
System parameter file is /oracle/11g/network/admin/listener.ora
Log messages written to/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNRfor Linux: Version 11.2.0.1.0 - Production
Start Date               06-AUG-2014 15:28:48
Uptime                    0 days 0hr. 0 min. 0 sec
Trace Level               off
Security                  ON: LocalOS Authentication
SNMP                      OFF
Listener Parameter File  /oracle/11g/network/admin/listener.ora
Listener Log File        /oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
The listener supports no services
The command completed successfully

[[email protected]~]$ sqlplus /nolog

 -- 打开sqlplus工具,以nolog的形式登陆
SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 6 15:21:00 2014
 
Copyright (c) 1982, 2009, Oracle. All rights reserved.

SQL>conn / as sysdba

-- 以sysdba连接
Connected to an idle instance.

SQL>startup

-- 启动数据库
ORACLE instance started.
 
Total System Global Area  422670336bytes
Fixed Size                  1336960bytes
Variable Size             310380928bytes
Database Buffers          104857600bytes
Redo Buffers                6094848bytes
Database mounted.
Database opened.

(如果要关闭数据库,可以使用以下命令)

SQL>shutdown immediate

Database closed.
Database dismounted.
ORACLE instance shut down.

下面建一个表来检测当前数据库是否工作正常:

SQL>create table testbl (id integer, name char(10));

Table created.
 -- 创建一个名为testbl的表

SQL>insert into testbl values(0,‘Mickey‘);

1 row created.
-- 插入一行新数据

SQL>commit;

Commit complete.

SQL>select * from testbl;

 -- 能成功查询到表testbl中的数据,说明数据库工作正常
        ID NAME
---------- ----------
         0 Mickey

二、实验环境介绍

后文中使用是Oracle 11g默认安装的数据库,主要以HR这schema为例。以下是HR这个schema的关系表:

由于刚刚新建的数据库,很多用户是锁住的状态,如果要正常使用,需要先为HR用户解锁,下面来演示一下如何为HR用户解锁:

SQL> desc dba_users

Name                                     Null?    Type
 ------------------------------------------------- -----------------------
 USERNAME                                  NOT NULLVARCHAR2(30)
 USER_ID                                   NOT NULLNUMBER
 PASSWORD                                          VARCHAR2(30)
 ACCOUNT_STATUS                            NOT NULLVARCHAR2(32)
 LOCK_DATE                                          DATE
 EXPIRY_DATE                                        DATE
 DEFAULT_TABLESPACE                        NOT NULL VARCHAR2(30)
 TEMPORARY_TABLESPACE                      NOT NULL VARCHAR2(30)
 CREATED                                   NOT NULL DATE
 PROFILE                                   NOT NULLVARCHAR2(30)
 INITIAL_RSRC_CONSUMER_GROUP                        VARCHAR2(30)
 EXTERNAL_NAME                                     VARCHAR2(4000)
 PASSWORD_VERSIONS                                  VARCHAR2(8)
 EDITIONS_ENABLED                                   VARCHAR2(1)
 AUTHENTICATION_TYPE                                VARCHAR2(8)

SQL> select username, account_status

  2  from dba_users

  3  order by username;

 USERNAME                       ACCOUNT_STATUS
--------------------------------------------------------------
ANONYMOUS                      EXPIRED & LOCKED
APEX_030200                    EXPIRED & LOCKED
EXFSYS                         EXPIRED & LOCKED
FLOWS_FILES                    EXPIRED & LOCKED
HR                             EXPIRED & LOCKED
-- 这里会看到HR 用户被锁住了,且密码已过期,因此需要用管理员身份先为该用户解锁,并设置密码;

SQL> alter user hr identified by *******;

User altered.
-- 使用alter命令为HR 用户设置密码

SQL> select username, account_status from dba_users;

USERNAME                       ACCOUNT_STATUS
--------------------------------------------------------------
MGMT_VIEW                      OPEN
SYS                            OPEN
SYSTEM                         OPEN
DBSNMP                         OPEN
SYSMAN                         OPEN
HR                             LOCKED
-- HR 用户有了密码,但还是被锁住了

SQL> alter user hr account unlock;

 User altered.

SQL> select username, account_status from dba_users;

 USERNAME                       ACCOUNT_STATUS
--------------------------------------------------------------
MGMT_VIEW                      OPEN
SYS                            OPEN
SYSTEM                         OPEN
DBSNMP                         OPEN
SYSMAN                         OPEN
HR                             OPEN
-- HR 用户已经解锁了,可以以HR用户正常登陆。

SQL> conn hr/******

Connected.

HR用户成功登陆,至此,可以开始使用ORACLE数据库进行PL/SQL的学习了

1.PL/SQL——准备工作和实验环境简介

时间: 2024-08-25 12:24:50

1.PL/SQL——准备工作和实验环境简介的相关文章

PL/SQL Developer工具的使用简介

一.登录页面 当打开PL/SQL Developer时,直接在"登录"对话框中输入用户名.密码.数据库(本地网络服务名)和连接为的身份(除了sys用户需要选择连接为sysdba之外,其他用户都选择标准). 二.用户 1.Orcal数据库自带用户 未完待续......

win7 64位系统 Oracle32bit + PL/SQL访问Orale服务,Oracle 11g的安装,中文乱码问题的解决

前几天因为装了个Oracle32bit客户端 + PL/SQL连接不上oracle遭到组长鄙视,问我用过PL/SQL没有,我安装完打开PL/SQL登录界面跟他的都不一样,没有那个连接为Normal.SYSDBA的选项,还问我为什么有了PL/SQL还装Oracle客户端,当时我也答不出来,后来在网上还是找到了答案,心里也鄙视了他一把,自己搞不太清楚欺负新人吗?水平好像也不咋滴.要装ORacle客户端的原因是oci.dll是64位的,32位应用程序PLSQL Developer无法加载. 为了省事就

oracle PL/SQL高级编程

PL/SQL高级编程 实验目的: 1.掌握PL/SQL的数据结构和编程结构,掌握应用PL/SQL编写简单程序的方法 2.理解存储过程的概念,掌握编写存储过程的方法 3.理解函数的概念,掌握编写存储过程的方法实验内容:一.PL/SQL编程基础1.pl/sql的组成:声明块.执行块.异常处理块2.编制代码实现1+2+...+100的计算declare n int; result int;begin n:=0; result:=0; while n<=100 loop result:=result+n

[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)

原文:[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下) [推荐]ORACLE PL/SQL编程详解之一: PL/SQL 程序设计简介(千里之行,始于足下) ——通过知识共享树立个人品牌. 继上六篇: [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆) [推荐]ORACLE PL/SQL编程之四:把游标说透(

PL/SQL 程序设计简介

 ①PL/SQL 程序设计简介 PL/SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问.由于该语言集成于数据库服务器中, 所以PL/SQL代码可以对数据进行快速高效的处理 在PL/SQL中可以使用的SQL语句有: INSERT,UPDATE,DELETE,SELECT -INTO,COMMIT,ROLLBACK,SAVEPOINT. 提示:在PL/SQL中只能用SQL语句中的DML 部分,不能用DDL 部分,如果要在PL/SQL中使用DDL(如CRE

Oracle中PL/SQL简介、基本语法以及数据类型

Oracle中PL/SQL简介.基本语法以及数据类型 一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控制为一体的强大语言,PL/SQL不但支持更多的数据类型,拥有自身的变量申明,赋值语句,而且还有条件,循环等流程控制语句.过程控制结构与SQL数据处理能力无缝的结合形成了强大的编程语言,可以创建过程和函数以及程序包. PL/SQL是一种块结构的语言,它将一组语句放在一个块中,一次性的发送给服务器,由服

2015/8/17笔记整理 第12章 PL/SQL编程简介1 块 过程 函数

Oracle数据库中包含一种过程化编程语言PL/SQL,PL/SQL是ORACLE对标准数据库语言的扩展. 一.PL/SQL的优点 PL/SQL 不是一个独立的产品,他是一个整合到ORACLE服务器和ORACLE工具中的技术,可以把PL/SQL看作ORACLE服务器内的一个引擎,sql语句执行者处理单个的sql语句,PL/SQL引擎处理PL/SQL程序块.当PL/SQL程序块在PL/SQL引擎处理时,ORACLE服务器中的SQL语句执行器处理pl/sql程序块中的SQL语句. PL/SQL语句—

6 关于 Oracle NULL栏位和PL./SQL执行实验

今日有针对NULL值有了相关实验. 对NULL 值插入的讨论. 1, PL/SQL 中可以执行插入''或者NULL 的操作, 前提是栏位允许为空. 2, 可以对NULL进行一系列数据库运算. 如: SELECT ROUND(TO_NUMBER(MAX(A.IN_STATION_TIME)-SYSDATE))*24 FROM SFISM4.R_WIP_TRACKING_T A WHERE A.IN_STATION_TIME IS NULL 总结: 相应TO_NUMBER(NULL)也是可行, MA

PL/SQL简介

本节要点: 什么是PL/SQL PL/SQL简介 PL/SQL 的优点 PL/SQL 的体系结构 PL/SQL 块简介 PL/SQL中的变量和常量 变量和常量的定义 PL/SQL 支持的数据类型 表达式 数值表达式 关系表达式 逻辑表达式 异常处理 处理异常的语法 预定义异常 预定义异常 自定义异常 1         什么是PL/SQL 1.1         PL/SQL简介 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言,是对