文档库 最新最全的文档下载
当前位置:文档库 › 实验八 PLSQL基础

实验八 PLSQL基础

实验八  PLSQL基础
实验八  PLSQL基础

实验八PL/SQL编程基础

开发语言及实现平台或实验环境

Oracle 10g

实践目的

(1) 掌握PL/SQL块结构、PL/SQL的基本语法、PL/SQL的控制结构。

(2) 掌握PL/SQL块中使用复合数据类型和游标的方法。

(3) 掌握PL/SQL异常处理技术。

实践要求

(1) 记录执行命令和操作过程中遇到的问题及解决方法,注意从原理上解释原因。

(2) 记录利用SQL*Plus或iSQL*Plus编写、执行PL/SQL程序的命令。

实践内容

1、使用if …end if语句判断两个数的大小。

set serveroutput on

declare

a number;

b number;

begin

a:=3;b:=4;

if a>b then

dbms_output.put_line(a||'>'||b);

end if;

dbms_output.put_line(a||'<='||b);

end;

2、if…else…end if语句

declare

a number;

b number;

begin

a:=3;b:=4;

if a>b then

dbms_output.put_line(a||'>'||b);

else dbms_output.put_line(a||'<='||b);

end if;

end;

3、If …elsif…else… end if语句

declare

score number;

begin

score:=85;

if score>90 then

dbms_output.put_line('优秀!');

elsif score>80 then

dbms_output.put_line('良好!');

elsif score>=60 then

dbms_output.put_line('及格!');

else dbms_output.put_line('不及格!');

end if;

end;

4、在一个三人组中根据学生姓名查找学号。declare

tname varchar2(20):='李斯';

tid number;

begin

tid:=case tname

when '张丹' then 10901

when '李斯' then 10902

when '王武' then 10903

else 00000

end;

dbms_output.put_line(tid);

end;

5、输出1~10的平方数。

declare

i number:=1;

begin

loop

dbms_output.put_line(i||'的平方数为'||i*i);

i:=i+1;

exit when i>10;

end loop;

end;

6、计算100以内能被3整除的整数之和。declare

i number:=1;

sum_num number:=0;

begin

while i<100 loop

if MOD(i,3)=0 then

sum_num:=sum_num+i;

end if;

i:=i+1;

end loop;

dbms_output.put_line(sum_num);

end;

7、计算100以内整数之和。

declare

sum_num number:=0;

begin

for i in 1..100 loop

sum_num:=sum_num+i;

end loop;

dbms_output.put_line(sum_num); end;

PLSQL学习简易快速入门

PLSQL学习简易快速入门 课程一 PL/SQL 基本查询与排序 本课重点: 1、写SELECT语句进行数据库查询 2、进行数学运算 3、处理空值 4、使用别名ALIASES 5、连接列 6、在SQL PLUS中编辑缓冲,修改SQL SCRIPTS 7、ORDER BY进行排序输出。 8、使用WHERE 字段。 一、写SQL 命令: 不区分大小写。 SQL 语句用数字分行,在SQL PLUS中被称为缓冲区。 最后以;或 / 结束语句。 也可以用RUN来执行语句 二、例1:SQL> SELECT dept_id, last_name, manager_id FROM s_emp; 2:SQL> SELECT last_name, salary * 12, commission_pct FROM s_emp; 对于数值或日期型的字段,可以进行相应的四则运算,优先级与标准的高级语言相同。 SQL> SELECT last_name, salary, 12 * (salary + 100) FROM s_emp; 三、列的别名ALIASES: 计算的时候特别有用; 紧跟着列名,或在列名与别名之间加“AS”; 如果别名中含有SPACE,特殊字符,或大小写,要用双引号引起。 例(因字体原因,读者请记住:引号为英文双引号Double Quotation): SQL> SELECT last_name, salary, 12 * (salary + 100) ”Annual Salary” FROM s_emp;

四、连接符号:|| 连接不同的列或连接字符串 使结果成为一个有意义的短语: SQL> SELECT first_name || ’’ || last_name || ’, ’|| title ”Employees” FROM s_emp SQL> select divid ||' '|| divname from pub_t_division_test where superid='001' 效果如下图: 五、管理NULL值: SQL> SELECT last_name, title, salary * NVL(commission_pct,0)/100 COMM FROM s_emp; 此函数使NULL转化为有意义的一个值,相当于替换NULL。 select divid,divname,NVL(addr,0) from pub_t_division_test where superid='001' 效果如下图: 六、SQL PLUS的基本内容,请参考 七、ORDER BY 操作: 与其他SQL92标准数据库相似,排序如: SELECT expr FROM table[ORDER BY {column,expr} [ASC|DESC]]; 从Oracle7 release 7.0.16开始,ORDER BY 可以用别名。 另:通过位置判断排序: SQL> SELECT last_name, salary*12 FROM s_emp ORDER BY 2; select * from pub_t_division_test where superid='001'order by3 这样就避免了再写一次很长的表达式。 另:多列排序: SQL> SELECT last name, dept_id, salary FROM s_emp ORDER BY dept_id, salary DESC; SQL>select * from pub_t_division_test where superid='001' order by 1,3 desc

PLSQL developer操作入门级知识讲解

P L S Q L d e v e l o p e r操 作入门级

目录 一 .登录PL/SQL Developer (3) 二 .登录后的基本设置 (4) 2.1 过滤显示 (4) 2.2登录界面的设置 (5) 三 .基本操作 (8) 2.1表的基本操作 (8) 2.1.1 SQL语句建表 (8) 2.1.2 如何在PL\SQL Developer里执行SQL语句 (9) 2.1.3 给表设置主键 (10) 2.1.4 编辑表的字段 (14) 2.1.5 输入条件查询 (15) 2.1.6删除表 (16) 2.1.7编辑表的数据 (17) 2.2视图(View) (19) 2.2.1概念 (19) 2.2.2创建视图 (19) 2.3其它数据库对象 (19) 2.4数据库对象的导出\导入 (20) 2.4.1表的导出 (20) 2.4.2 Dmp导出参数介绍 (23) 2.4.2 表的导入 (24) 四 .其它操作 (27) 1.SQL美化 (27)

一 .登录PL/SQL Developer 1.1 登录PL/SQL Devel oper (1)登录4要素 a. 用户名(username) b. 密码(password) c. 数据库服务名(Database) d. 连接身份(Connect as) (2)要素说明 ●用户名(username)和密码(password):即数据库登录用户和登录密码,由 数据库管理员提供 ●数据库服务名(Database):数据库服务名可在下拉列表中选择(由 tnsnames.ora文件中描述的名字来确定),前提是通过Net Configuration Assistant来配置,或者直接修改tnsnames.ora文件。 ●连接身份(Connect as):若为一般用户,默认为normal即可;若为sys或

实验1 ORACLE基本操作-使用SQL DEVELOPER

实验1 ORACLE 基本操作 实验目的:掌握ORACLE的连接,了解ORACLE的数据库结构;熟悉PLSQL/Developer图形化管理工具的使用。 实验内容: 一、机房环境的准备工作(每次重新启动机器后必做的工作) 为了能启动ORACLE并利用图形化的管理工具PLSQL/Developer对ORACLE数据库进行操作,在机房的机器中要先做如下的准备工作: 1、查看自己的机器名 方法:右击“我的电脑”→“属性”,找到并记住自己的计算机名 2、修改监听程序 方法:“开始”→“所有程序”→“Oracle-OraDb11g_home1”→“配置和移植工具”→“Net Manager”,在弹出的窗口中展开目录至最后的“LISTENER”,在右侧的窗口中将主机名改成自己的主机名→单击窗口右上角的红色叉号按钮关闭→在弹出的对话框中选择“保存”。

3、启动服务 右击“我的电脑”→“管理”→“服务和应用程序”→“服务” 找到并按顺序启动如下两个服务: 。 启动顺序:先启动,再启动 启动方法:右击服务名选择“启动” 注:当在自己的机器上使用时,这两个服务若显示已启动则不用重新再启动。 二、运行SQL Developer,建立与ORACLE数据库的连接 1、运行Oracle自带的SQL Developer软件 方法:“开始”→“所有程序”→“Oracle-OraDb11g_home1”→“应用程序开发”→“SQL Developer” 2、以system用户建立与数据库的连接 在SQL Developer窗口中选中“连接”→点击“新建”按钮,

在窗口中输入以下信息,使其以system用户与数据库进行连接 注: 连接名:可以随便起 用户名:system,若以其他用户身份登录,可以在这里更改用户名 密码:123456 SID:orcl 点击“测试”按钮,若成功则在左下角显示“状态:成功”,若有错误,则会出现红色的提示信息,按信息进行问题查找。 最后点击“连接”按钮进行连接

windows 系统应用与维护

Ⅱ戊辰B:windows 系统应用与维护(5%) 4+13+7 单选; 1.Windows将整个计算机显示屏幕看作是()。C A.工作台B.窗口C.桌面D.背景 2.Excel中的工作簿是(D)。 A.一本书 B.一种记录 C.一张表 D. 由工作表组成的文档 3.下面对E-Mail的描述中,只有(d )是正确的。 (A)不能给自己发送E-Mailb (B)一封E-Mail只能发给一个人 (C)不能将E-Mail转发给他人(D)一封E-Mail能发送给多个人 4.从E-Mail服务器中取回来的邮件,通常都保存在客户机的( b)里。 (A)发件箱(B)收件箱(C)已发送邮件箱(D)已删除邮件箱 5、我行网银系统共由多少台设备组成(B) A、30 B、66 C、64 D、13 6、我行网银系统由多少种硬件设备组成(A) A、18 B、17 C、16 D、15 7、我行网银系统网络结构共分多少个区域(C) A、4 B、5 C、7 D、6 8、我行网银系统设计最大寿命为多少年(A) A、8 B、7 C、6 D、5 9、我行网银系统防止暴力破解密码的措施为(A) A、输入5次密码错误以后,系统自动冻结账号一天

B、访问控制列表 C、将账户删除 D、无保护措施 10.以下哪个软件不是信管系统日常开发维护时的常用软件( D ) A.tomcat B.plsql C.myeclipse D.ESET 11.以下哪个是信管系统的正确地址( B ) A.http://16.3.1.75:7001/console B.http://16.3.1.75/credit C.http://16.3.1.75/ICRWeb D.http://16.3.1.75/ECRWeb 12.以下哪个是企业征信系统的正确地址( D ) A.http://16.3.1.75:7001/console B.http://16.3.1.75/credit C.http://16.3.1.75/ICRWeb D.http://16.3.1.75/ECRWeb 13.以下哪个是个人征信系统的正确地址( D ) A.http://16.3.1.75:7001/console B.http://16.3.1.75/credit C.http://16.3.1.75/ICRWeb D.http://16.3.1.75/ECRWeb 14.关于信管系统浏览器配置说法错误的是( D ) A.需要安装ActiveX控件 B.启用下载未签名的ActiveX控件项 C.禁用弹出窗口阻止程序项,并要把网址添加到可信站点中 D.以上说法都是错误的 15.Windows中安装相应的应用软件,通过控制面板中的( C )控件完成。 A、系统B、添加新硬件 C、添加/删除程序D、多媒体 16.在WINDOWSXP中,若鼠标指针变成“I”形状,则表示( D ) A、当前系统正在访问磁盘B、可以改变窗口的大小 C、可以改变窗口的位置D、鼠标指针出现处可以接收键盘的输入 17.不能利用WINDOWSXP资源管理器直接完成的任务是( C ) A、删除文件B、新建文件夹C、对硬盘分区D、复制文件 18.在WINDOWS XP中,使用软键盘可以快速的输入各种特殊符号,为了撤消弹出的软键盘,正确的操作是( A ) A、用鼠标左键单击软键盘上的ESC键 B、用鼠标右键单击软键盘上的ESC键 C、用鼠标右键单击中文输入法状态窗口中的软键盘按钮

Oracle常见死锁发生的原因以及解决方法

Oracle常见死锁发生的原因以及解决方法 Oracle常见死锁发生的原因以及解决办法 一,删除和更新之间引起的死锁 造成死锁的原因就是多个线程或进程对同一个资源的争抢或相互依赖。这里列举一个对同一个资源的争抢造成死锁的实例。 Oracle 10g, PL/SQL version 9.2 CREATE TABLE testLock( ID NUMBER, test VARCHAR(100) ) COMMIT INSERT INTO testLock VALUES(1,'test1'); INSERT INTO testLock VALUES(2,'test2'); COMMIT; SELECT * FROM testLock 1. ID TEST 2.---------- ---------------------------------- 3. 1 test1 4. 2 test2 死锁现象的重现: 1)在sql 窗口执行:SELECT * FROM testLock FOR UPDATE; -- 加行级锁并对内容进行修改, 不要提交 2)另开一个command窗口,执行:delete from testLock WHERE ID=1; 此时发生死锁(注意此时要另开一个窗口,不然会提示:POST THE CHANGE RECORD TO THE DATABASE. 点yes 后强制commit):

3)死锁查看: 1.SQL> select https://www.wendangku.net/doc/ca10610858.html,ername,l.object_id, l.session_id,s.serial#, s.lockwait,s.status,s.machine, s.program from v$session s,v$locked_object l where s.sid = l.session_id; USER NAME SESSION_ID SERIAL# LOCKWAIT STATUS MACHINE PROGRAM 2.---------- ---------- ---------- -------- -------- ---------------------- ------------ 3.SYS 146 104 INACTIVE WORKGROUP\J-THINK PLSQLDev.exe 4.SYS 144 145 20834474 ACTIVE WORKGROUP\J-THINK PLSQLDev. exe 字段说明: Username:死锁语句所用的数据库用户; SID: session identifier,session 标示符,session 是通信双方从开始通信到通信结束期间的一个上下文。 SERIAL#: sid 会重用,但是同一个sid被重用时,serial#会增加,不会重复。 Lockwait:可以通过这个字段查询出当前正在等待的锁的相关信息。 Status:用来判断session状态。Active:正执行SQL语句。Inactive:等待操作。Killed:被标注为删除。 Machine:死锁语句所在的机器。 Program:产生死锁的语句主要来自哪个应用程序。 4)查看引起死锁的语句:

Oracle PLSQL语言基础

Oracle PL/SQL语言基础 PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL/SQL程序。 PL/SQL的优点 从版本6开始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握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的优点如下: . PL/SQL是一种高性能的基于事务处理的语言,能运行在任何ORACLE环境中,支持所有数据处理命令。通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元素。 . PL/SQL支持所有SQL数据类型和所有SQL函数,同时支持所有ORACLE对象类型 . PL/SQL块可以被命名和存储在ORACLE服务器中,同时也能被其他的PL/SQL程序或SQL命令调用,任何客户/服务器工具都能访问PL/SQL程序,具有很好的可重用性。 . 可以使用ORACLE数据工具管理存储在服务器中的PL/SQL程序的安全性。可以授权或撤销数据库其他用户访问PL/SQL程序的能力。 . PL/SQL代码可以使用任何ASCII文本编辑器编写,所以对任何ORACLE能够运行的操作系统都是非常便利的 . 对于SQL,ORACLE必须在同一时间处理每一条SQL语句,在网络环境下这就意味作每一个独立的调用都必须被oracle服务器处理,这就占用大量的服务器时间,同时导致网络拥挤。而PL/SQL是以整个语句块发给服务器,这就降低了网络拥挤。 PL/SQL块结构 PL/SQL是一种块结构的语言,组成PL/SQL程序的单元是逻辑块,一个PL/SQL 程序包含了一个或多个逻辑块,每个块都可以划分为三个部分。与其他语言相同,变量在使用之前必须声明,PL/SQL提供了独立的专门用于处理异常的部分,下面描述了PL/SQL块的不同部分: 声明部分(Declaration section)

ape安装配置手册

A P E X安装简单的说,共分四步:1、安装O r a c l e D B APEX2.2要求Oracle DB版本为9.2.0.3或更高。注意APEX2.2不支持Oracle DB XE,如果你的数据库是Oracle DB XE,就要选用APEX2.1。我这里选用的数据库是Oracle 10.2.0.1,虽然不是目前最高的版本(最高的版本是10.2.0.1的patchset),但是已经包含了很多令人振奋的新特性了。建议 C S D N的朋友们也多使用一些O r a c l e产品的新版本,时刻保持对新技术的敏感度。 O r a c l e D B的免费下载网址为:h t t p://w w w.o r a c l e.c o m/t e c h n o l o g y...r a c l e10g/i n d e x.h t m l 注意:不要用下载的软件从事有任何商业目的的活动。 下载之后开始安装,步骤非常简单。你可以选择在安装的同时创建一个数据库,或者在安装结束后用DBCA 创建一个数据库,最好将数据库的字符集设为AL32UTF8(如果你想让你的数据库支持多种语言,请选用AL32UTF8;否则可以考虑使用一种native本地的字符集,比如ZHS16GBK)。这里我创建了一个service n a m e为t i n a03.c n.o r a c l e.c o m(S I D为t i n a03)的数据库。安装结束后,打开services(服务)窗口,你可以看到里面多了数个oracle的服务,其中包括我们需要的OracleServiceTINA03和OracleOraDb10gTNSListener,其他的服务都可以停掉且设为手动启动。 2、安装O r a c l e H t t p S e r v e r APEX2.2是需要部署到Oracle Http Server上的,它所以能运行主要是依赖于mod_plsql这个模块。下面这三个系列的产品可以满足需要:

PLSQL编程基础

淮海工学院计算机工程学院实验报告书 课程名:《大型数据库概论》 题目:PL/SQL编程基础 班级:********* 学号:*********** 姓名:**********

实验2 PL/SQL编程基础 实验目的 1.掌握PL/SQL基础,包括PL/SQL语句块、变量、常用数据类型、运算符和表达式。 2. 掌握PL/SQL控制结构,包括顺序、选择、NULL和循环四种结构及GOTO语句。 3. 掌握PL/SQL中游标的使用方法。 4. 掌握SQL *Plus和Worksheet开发环境的使用方法。 实验环境 局域网,windows 2003 实验学时 2学时,必做实验。 实验内容 1. 编写一个PL/SQL程序块,计算100以内的奇数和。 2. 编写PL/SQL块计算并输出S=1!+2!+…+10!。 3.编写一个PL/SQL块用于计算两个正整数的最大公约数。 4.编写一个PL/SQL程序块,使用游标对一个数据库表中的数据进行查询。 实验步骤 1、选择“开始”→“所有程序”→Oracle-OraHome92→Application Development→SQL Plus 2、系统出现“登录”对话框。输入用户名为“scott”、口令为“tiger”、主机字符串 为“school”。 3、单击“确定”按钮,出现“SQL *Plus的工作窗口”。 4、编写PL/SQL程序。 4.1、编写一个PL/SQL程序块,计算100以内的奇数和。 set serveroutput on; declare p integer; m integer; n integer; begin m:=2; n:=0; for p in 1..100 loop if p mod m<>0 then n:=n+p; end if; end loop;

PLSQL学习(一) 基础知识

PLSQL学习(一) 基础知识 很久以前自己整理的PLSQL一些基础知识,翻出来看看都是比较基础的内容,还是放上来好了。参考的资料是《PL/SQL用户指南与参考》中译版,觉得这是一部很不错的入门书,感谢把这本书翻译出来的网友。 1、乘方的不同应用: 在SQL中乘方只能使用函数Power(a,b)来计算 但在PLSQL中可直接使用a**b表示 2、赋值语句Returning: insert into t1 values(90,'SERVICE','BEIJING') Returning rowid,name into row_id,info; 注:只限insert、update、delete一条记录时进行赋值 3、自定义参数——&: 可SQL和PLSQL中均可使用自定义参数,即需要自己输入值的参数 select * from ldcom where comcode=&a andname=&b; PLSQL: declare i int := &a; n int := &b; 4、绑定变量的使用: 可使用绑定变量的办法提高SQL效率 SQL> variable x number ; SQL> exec :x := 8600 ; SQL> select * from ldcom where comcode= :x ; 注:PLSQL中的declare即隐士绑定,无需再申明

可用Print查看绑定变量 SQL> print x; 也可使用查询SQL> select :x from dual; 实际的简单应用: variable x number; declare v_date date; begin for i in1.. 10loop :x := i; select sysdate+:x into v_date from dual; dbms_output.put_line(v_date); end loop; end; / 在execute immediate中的应用: declare v_x t1.num%type; begin execute immediate'update t1 set num=8888 where id=:a returning num into :b' using2returning into v_x; dbms_output.put_line(v_x); end; 注意returning的返回值在动态SQL中的操作格式 5、%TYPE和%ROWTYPE的区别: %TYPE针对某一字段类型(数组也是单一的类型) %ROWTYPE针对某一整表的类型(游标也是整表)

Oracle11g自带的SQL developer无法打开解决方案

在安装完Oracle Database 11g Release 2数据库,想试一下Oracle自带的SQL Developer 工具,在操作系统菜单的所有程序中找到SQL Developer如下所示,并单击: 结果却提示缺少快捷方式,没找到“SQLDEVELOPER.BAT”,如下所示:

在Oracle的安装目录 D:\DataBaseInstall\Oralce_11g_r2\product\11.2.0\dbhome_1\sqldeveloper\sqldeveloper\ bin下的确也没找到sqldeveloper.bat文件。网上很多人都说重新下载SQL Developer替换掉安装Oracle时自带的那个。 重新到Oracle官网下载SQL Developer,当前最新版下载地址: https://www.wendangku.net/doc/ca10610858.html,/otn/java/sqldeveloper/sqldeveloper64-3.2.20.09.87-no-jre.zip 将下载下来的sqldeveloper64-3.2.20.09.87-no-jre.zip解压到Oracle安装目录下

这时重新单击操作系统菜单中的“SQL Developer”,看到命令窗口闪一下就消失了。看了一下SQL Developer的“readme.html”文档知道了SQL Developer 3.2支持的Java版本至少要1.6.0_04。

那就下载当前最新JDK安装,在这里我下载的是 jrockit-jdk1.6.0_37-R28.2.5-4.1.0-windows-x64.exe。下载完成后双击出现如下安装界面:

最新PLSQL+Developer工具的使用(非常详细)

PLSQL Developer工具的使用 1 2 PLSQL Developer的安装十分简单,先安装PL.SQL.Developer.exe文件,3 然后安装chinese.exe文件进行汉化。安装成功后在桌面点击PLSQL Developer 4 的快捷方式进入登录页面(如图1)。 5 6 图1 7 输入用户名和口令,选择好要连接的数据库,点击“确定”登录成功(如8 图2)。

9 10 图2 11 在成功登录后会进入到PLSQL Developer的操作界面(如图3)。 12 13 图3 14 用户可以在左边下拉菜单中选择“我的对象”,然后点击“Table”可以

15 显示出项目所涉及的数据库中所有表(如图4)。 16 17 图4 18 新建表,点击Table文件夹,然后点击鼠标右键在列表中选择“新建” 19 选项进入到创建新表的页面(如图5),用户可以根据自己的需要来创建新表,20 但一定要遵循Oracle规范 21 信息填写完毕后点击“应用”按钮创建成功。

22 23 图5 24 修改表结构,可以选中要该表后点击鼠标右键在列表中选择“编辑”选项25 进入到修改表结构的页面(如图6),这里显示的都是该表的结构信息,如要进26 行修改操作请根据实际情况慎重修改,修改后点击“应用”按钮提交修改内容。 27 28 图6

29 修改表名,可以选中要该表后点击鼠标右键在列表中选择“重新命名” 30 选项进入到重新命名的页面(如图7),这里需要注意的是表名起的一定要有意31 义。 32 33 图7 34 查询表结构,可以选中要该表后点击鼠标右键在列表中选择“查看”选项35 进入到查看表结构的页面(如图8)。

查询oracle表空间路径

ORACLE查看表空间路径、当前用户的表空间等 查看当前用户每个表占用空间的大小: Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name 查看每个表空间占用空间的大小: Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name 查看Oracle当前用户下的信息(用户,表视图,索引,表空间,同义词,存储过程函数,约束条件)0、表空间 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; 查看用户下所有的表 SQL>select * from user_tables; 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; 显示当前会话所具有的权限 SQL>select * from session_privs; 显示指定用户所具有的系统权限

PLSQL 快捷键设计以及添加快捷键

PL/SQL 快捷键 1 修改Code assistant快捷键 tools->preferences->User Interface -> Key Configuration -> tools/ code assistant 改为自己想要的快捷键 tools -> code assistant 可以查看帮助的快捷键 2 修改Sql 语句大小写 默认pl/sql 没有提供快捷键 选中sql,点击edit --> selection --> Uppercase 当然了也可以按照1来增加快捷键 tools->preferences->User Interface -> Key Configuration --> edit/selection/Uppercase 改为自己想要的快捷键 使用PL/SQL中经常性需要输入select * from 这样类似的语句。能不能配置一个快捷键,比如输入s,直接就显示select * from 呢?显然PL/SQL是支持该功能的。 在PL/SQL的安装目录下面:$:\Program Files\PLSQL Developer\PlugIns 中添加一个文本文件,比如命名为:shortcuts.txt。文本文件中填写如下内容: s = select * from 打开PL/SQL,在Tools->Perferences->Editor中Autoreplaces选择配置的shortcuts文件。如下图:

确定后重启PL/SQL就可以了。在编辑页面,输入s 就会显示select * from 附录:个人编写文件内容: s=select * from ; st = select t.* ,t.rowid from t ; sf = select a.* from a ; d = delet e from where ; u = update a set a. where a. ; w = where ; dbs=dbms_output.put_line('); 应用时,快捷键+回车就可以出现了!

oracle的TM锁、TX锁知识完全普及

oracle的TM锁、TX锁知识完全普及 锁概念基础 数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。 加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。 在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X 锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它读取和修改。加了共享锁的数据对象可以被其他事务读取,但不能修改。数据库利用这两种基本的锁类型来对数据库的事务进行并发控制。 Oracle数据库的锁类型 根据保护的对象不同,Oracle数据库锁可以分为以下几大类:DML锁(data locks,数据锁),用于保护数据的完整性;DDL锁(dictionary

locks,字典锁),用于保护数据库对象的结构,如表、索引等的结构定义;内部锁和闩(internal locks and latches),保护数据库的内部结构。 DML锁的目的在于保证并发情况下的数据完整性,。在Oracle数据库中,DML锁主要包括TM锁和TX锁,其中TM锁称为表级锁,TX锁称为事务锁或行级锁。 当Oracle 执行DML语句时,系统自动在所要操作的表上申请TM类型的锁。当TM锁获得后,系统再自动申请TX类型的锁,并将实际锁定的数据行的锁标志位进行置位。这样在事务加锁前检查TX锁相容性时就不用再逐行检查锁标志,而只需检查TM锁模式的相容性即可,大大提高了系统的效率。TM锁包括了SS、SX、S、X 等多种模式,在数据库中用0-6来表示。不同的SQL操作产生不同类型的TM锁。 在数据行上只有X锁(排他锁)。在 Oracle数据库中,当一个事务首次发起一个DML语句时就获得一个TX锁,该锁保持到事务被提交或回滚。当两个或多个会话在表的同一条记录上执行 DML语句时,第一个会话在该条记录上加锁,其他的会话处于等待状态。当第一个会话提交后,TX锁被释放,其他会话才可以加锁。 当Oracle数据库发生TX锁等待时,如果不及时处理常常会引起Oracle数据库挂起,或导致死锁的发生,产生ORA-60的错误。这些现象都会对实际应用产生极大的危害,如长时间未响应,大量事务失

一个ORACLE被重启后报ora-12514的问题

首先,也没什么,主要写给广大在现场当炮灰的实施同事们。希望有意见的提意见,有想法的提想法。ORACLE的问题,一向都是我们的弱项,希望我们一同努力,分享所知,所学,所经验…… 下面正式 --------------------------分割线---------------------------------- 问题来源:泰州惩防平台 问题描述:就在前天小季遇到了这个样的一个问题: ORACLE 服务正常重启后,发现登录不进去了,重启之前十分健康,也没做什么多余的操作,具体如图。 通过services控制台重启ORACLE 重启正常。 但是PLSQL不能登录了。报错:12514。

解决过程: 其实小季求助于我的时候,已经百度谷歌了12514的解决办法,尝试了网上的解决方案,是没有效果的。 Iteye上有报错的几个原因:Oracle-12514错误发生的几种原因 都是没有效果。 问我,也不知道该怎么办,我能先想到的是,重启服务器。心里想:既然没有动什么,是不是系统环境改了什么导致的。结果重启服务器后还是不行。 然后确定是不是客户端配置的问题,直接上服务器SQLPLUS。 结果也是12514。 该死。果真是ORACLE服务出问题了。 怎么办,既然监听有问题,就卸载了重装监听吧。我老是觉得重装比什么都好,不要管这么多了。其实我是在逃避问题。

重新配置完成。 擦!还是12514。 没办法了。难道不是监听的问题,那就是ORACLE服务的问题了。服务没有起出来吗?来吧用SQLPLUS重启下看看。 ORACLE not available是什么意思。服务没有起出来?

PLSQL语言基础

上机4 PL/SQL语言基础 上机内容 1. 程序结构 2. 流程控制 3. 异常处理 4. 开发动态SQL 上机目标 1. 掌握PL/SQL程序结构 2. 掌握PL/SQL流程控制 3. 掌握PL/SQL异常处理 4. 掌握PL/SQL中开发动态SQL的方法 阶段1 指导部分 训练内容 PL/SQL块程序结构中的数据类型 需求说明 在VALUES子句中使用记录变量插入数据是Oracle 9i新增的特征。在VALUES子句中使用记录变量插入数据时,列的顺序、个数、类型必须与记录成员的顺序、个数、类型完全匹配,如图2.4.1所示。

在VALUES子句 中使用记录变量 图2.4.1 在VALUES子句中使用记录变量 另外,从Oracle 9i开始,在SET子句中不仅可以使用记录成员,而且还可以直接使用记录变量。当在SET子句中使用记录变量更新数据时,列的顺序、个数、类型必须与记录成员的顺序、个数、类型完全匹配。现要求实现:由用户输入部门编号,通过在SET子句中使用记录变量的方式来修改指定部门信息。 实现思路 定义一个关于DEPT部门表的%ROWTYPE变量,让用户通过替换变量给其中的deptno部门编号赋值,通过UPDATE语句进行更新,如图2.4.2所示。

注意使用 ROW关键字 图2.4.2 在SET子句中使用记录变量 练习部分(一) 需求说明 索引表(TABLE)类型不仅可以在PL/SQL中直接使用,也可以作为表列的数据类型使用。在表列中使用索引表类型时,必须首先使用CREATE TYPE命令创建索引表类型。需要注意的是,当使用索引表类型作为列的数据类型时,必须为索引表列指定专用的存储表。例如,需要存储一个会员(TB_VIPInfo)信息时,需要记录该会员的联系方式,但该会员的联系方式可能有多个,因此可以考虑在记录会员联系方式的列上使用索引表。创建一个关于会员信息表,并使用索引表类型作为该表中的某列,如图2.4.3所示。

PLSQL使用方法

1.1PLSQl远程连接oracle数据库 1.1.1配置tnsnames.ora 路径:X:\XXX\PLSQL Developer 9.0.0.1601\orcl_client\tnsnames.ora tnsnames.ora配置: orcl = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521)) ) (CONNECT_DATA = (SID = orcl) ) ) 其中HOST为主机IP地址,红色字体处 PORT为oracle开放端口号 SERVICE_NAME为连接数据库名字,蓝色字体处 *此配置参数可以配置多个,也就是可以配置多个连接字符串(全局名称) 1.1.2添加连接环境变量 变量名:TNS_ADMIN 变量值:X:\XXX\PLSQL Developer 9.0.0.1601\orcl_client 1.1.3添加ORACLE的语言环境变量: 变量名:NLS_LANG 变量值:AMERICAN_AMERICA.ZHS16GBK(设置ORACLE的语言) 重新连接,即可正常显示中文。 如果想转换为UTF8字符集,可以赋予"NLS_LANG"为"AMERICAN_AMERICA.UTF8",其他编码同上

1.1.4下载并安装PL.SQL.Developer,配置应用: 配置tools->preferences->connection PLSQL 设置 Oracle Home=X:\XXX\PLSQL Developer 9.0.0.1601\orcl_client OCI library=X:\XXX\PLSQL Developer 9.0.0.1601\orcl_client\oci.dll 1.1.5重启plsql 再次打开plsql则会在database中有oracledata选项输入用户名密码就可以登陆。 1.2导入基础数据 1.2.1输入用户名密码登录plsql

oracle知识点整理

╔---------------------------╗ ☆2.用户管理:☆ ╚---------------------------╝ 用dos命令打开或关闭监听服务: 启动监听:lsnrctl start 停止监听:lsnrctl stop 查看监听:lsnrctl status 创建用户(create):create user用户名identified by密码;例:create user zhangsan indentified by zhangsan 修改用户密码(alter):alter user用户名identified by密码;例:alter user zhangsan identified by zhangsan1 删除用户(drop):Drop user用户名cascade例:drop user zhangsan cascade(带cascade 的删除语句可以不管用户是否拥有模式对象,连同一起删除) 用户状态管理(alter):锁定用户:alter user用户名account lock;例:alter user zhangsan account lock 解锁用户:alter user用户名account unlock;例:alter user zhangsan account unlock 权限管理 (grand,revoke): DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库 结构。 RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数 据库结构。 CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建 实体,不可以创建数据库结构 对于普通用户:授予connect, resource权限即可。 对于DBA管理用户:授予connect,resource, dba权限 权限授予:grant connect, resource, dba to用户名1 [,用户名2]... 权限回收:Revoke connect, resource from用户名 实体权限分类:select, update, insert, alter, index, delete, all //all包括 所有权限 execute//执行存储过程权限 例:grant select, update, insert on product to 用户名; 例:grant all(所有权限) on product to 用户名; 更多见(Oracle用户、权限、角色管理.txt)文本 ╔---------------------------╗ ☆3.空间管理:☆ ╚---------------------------╝ 创建表空间(tablesapce): 表空间: Create tablesapce表空间名(rb_开头)datafile地址(如‘d:datafiles.dbf’) size 50M; size:表空间大小

系统的安装与配置说明书

HH-IVMSR型铁路综合视频监控系统安装与配置说明书 河南辉煌科技股份有限公司 2011年09月

目录 1文档介绍 (1) 2数据库与HH-IVMSR软件安装要求 (1) 2.1操作系统要求 (1) 2.2安装位置要求 (1) 2.3空间配置要求 (1) 2.4网络要求 (1) 3数据库安装与配置 (1) 3.1数据库简介 (1) 3.2数据库安装 (1) 3.2.1客户端安装 (1) 3.2.2服务端安装 (2) 3.3数据库配置 (4) 3.4导入数据模板............................................................ 错误!未定义书签。4HH-IVMSR软件安装与配置.. (9) 4.1HH-IVMSR软件简介 (9) 4.2管理终端配置 (9) 4.2.1系统管理 (10) 4.2.2设备管理 (12) 4.2.3绑定管理 (14) 4.2.4用户管理 (18) 4.2.5权限管理 (19) 4.3服务器配置 (20) 4.3.1管控服务器配置.............................................. 错误!未定义书签。 4.3.2应用服务器配置 (21) 4.3.3存储服务器配置.............................................. 错误!未定义书签。 4.3.4转发服务器配置.............................................. 错误!未定义书签。 4.3.5监控终端配置 (23) 5服务器运行 (24)

相关文档