ORACLE实验一-三
警告: 创建的触发器带有编译错误。
SQL> show error;
TRIGGER TRG_SCORE_AFT_ROW 出现错误:
LINE/COL ERROR
-------- -----------------------------------------------------------------
2/1 PL/SQL: SQL Statement ignored
2/13 PL/SQL: ORA-00942: 表或视图不存在
"show error;"可以显示错误。
创建新用户,并赋予创建表、视图的权限
SQL> create user wayne identified by wayne
2 / 用户已创建。 SQL> connect wayne/wayne
ERROR:
ORA-01045: user WAYNE lacks CREATE SESSION privilege; logon denied SQL> conn
请输入用户名: system
输入口令:
已连接。
SQL> grant connect, resource to wayne; 授权成功。 SQL> grant create session to wayne; 授权成功。 SQL> connect wayne/wayne
已连接。 SQL> connect sys / as sysdba;
输入口令:
已连接。
SQL> grant create any view to wayne; --创建视图的权限 授权成功。 SQL> connect wayne/wayne;
已连接。
实验一
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 11月 16 15:38:24 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved. 请输入用户名: system
输入口令:
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> connect / as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 3373858816 bytes
Fixed Size 2180424 bytes
Variable Size 1845496504 bytes
Database Buffers 1509949440 bytes
Redo Buffers 16232448 bytes
数据库装载完毕。
数据库已经打开。
SQL> conn sys / as sysdba
输入口令:
已连接。 SQL> CREATE TABLESPACE ORATESTTBS1 DATAFILE
2 'C:\Oracle11g\oradata\oratest\ORATESTTBS1_1.DBF' SIZE 50M
3 SEGMENT SPACE MANAGEMENT MANUAL;
表空间已创建。
SQL> CREATE USER user_test IDENTIFIED BY user_test
2 DEFAULT TABLESPACE ORATESTTBS1 QUOTA 10M ON USERS
3 ACCOUNT LOCK;
用户已创建。
SQL> ALTER USER user_test
2 IDENTIFIED BY USERTEST ACCOUNT UNLOCK;
用户已更改。
SQL> SELECT OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS
2 WHERE OWNER = 'DAMIR';
未选定行
SQL> DROP USER user_test CASCADE
2 ;
用户已删除。
SQL>
实验二
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 11月 16 19:55:07 2016 Copyright (c) 1982, 2010, Oracle. All rights reserved. 请输入用户名: system
输入口令: 连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> connect / as sysdba
已连接。
SQL> desc DBA_TABLESPACES
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
TABLESPACE_NAME NOT NULL VARCHAR2(30)
BLOCK_SIZE NOT NULL NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENTS NOT NULL NUMBER
MAX_EXTENTS NUMBER
MAX_SIZE NUMBER
PCT_INCREASE NUMBER
MIN_EXTLEN NUMBER
STATUS VARCHAR2(9)
CONTENTS VARCHAR2(9)
LOGGING VARCHAR2(9)
FORCE_LOGGING VARCHAR2(3)
EXTENT_MANAGEMENT VARCHAR2(10)
ALLOCATION_TYPE VARCHAR2(9)
PLUGGED_IN VARCHAR2(3)
SEGMENT_SPACE_MANAGEMENT VARCHAR2(6)
DEF_TAB_COMPRESSION VARCHAR2(8)
RETENTION VARCHAR2(11)
BIGFILE VARCHAR2(3)
PREDICATE_EVALUATION VARCHAR2(7)
ENCRYPTED VARCHAR2(3)
COMPRESS_FOR VARCHAR2(12) SQL> SELECT DISTINCT owner
2 #desc dba_data_files
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
FILE_NAME VARCHAR2(513)
FILE_ID NUMBER
TABLESPACE_NAME VARCHAR2(30)
BYTES NUMBER
BLOCKS NUMBER
STATUS VARCHAR2(9)
RELATIVE_FNO NUMBER
AUTOEXTENSIBLE VARCHAR2(3)
MAXBYTES NUMBER
MAXBLOCKS NUMBER
INCREMENT_BY NUMBER
USER_BYTES NUMBER
USER_BLOCKS NUMBER
ONLINE_STATUS VARCHAR2(7) 2 from dba_objects
3 / OWNER
------------------------------
OWBSYS_AUDIT
MDSYS
PUBLIC
OUTLN
CTXSYS
OLAPSYS
FLOWS_FILES
OWBSYS
HR
SYSTEM
ORACLE_OCM OWNER
------------------------------
EXFSYS
APEX_030200
SCOTT
SH
PM
DBSNMP
ORDSYS
ORDPLUGINS
SYSMAN
OE
IX OWNER
------------------------------
APPQOSSYS
XDB
ORDDATA
BI
SYS
WMSYS
SI_INFORMTN_SCHEMA 已选择29行。 SQL> desc dba_data_files;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
FILE_NAME VARCHAR2(513)
FILE_ID NUMBER
TABLESPACE_NAME VARCHAR2(30)
BYTES NUMBER
BLOCKS NUMBER
STATUS VARCHAR2(9)
RELATIVE_FNO NUMBER
AUTOEXTENSIBLE VARCHAR2(3)
MAXBYTES NUMBER
MAXBLOCKS NUMBER
INCREMENT_BY NUMBER
USER_BYTES NUMBER
USER_BLOCKS NUMBER
ONLINE_STATUS VARCHAR2(7)
SQL> get 'C:\DISK1\test.txt'
1 desc DBA_TABLESPACES;
2* desc dba_data_files;
SQL> save 'C:\DISK1\sav'
已创建 file C:\DISK1\sav.sql
SQL> EDIT
已写入 file afiedt.buf
1 desc DBA_TABLESPACES;
2* desc dba_data_files;
SQL> start 'C:\DISK1\sav.sql'
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
TABLESPACE_NAME NOT NULL VARCHAR2(30)
BLOCK_SIZE NOT NULL NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENTS NOT NULL NUMBER
MAX_EXTENTS NUMBER
MAX_SIZE NUMBER
PCT_INCREASE NUMBER
MIN_EXTLEN NUMBER
STATUS VARCHAR2(9)
CONTENTS VARCHAR2(9)
LOGGING VARCHAR2(9)
FORCE_LOGGING VARCHAR2(3)
EXTENT_MANAGEMENT VARCHAR2(10)
ALLOCATION_TYPE VARCHAR2(9)
PLUGGED_IN VARCHAR2(3)
SEGMENT_SPACE_MANAGEMENT VARCHAR2(6)
DEF_TAB_COMPRESSION VARCHAR2(8)
RETENTION VARCHAR2(11)
BIGFILE VARCHAR2(3)
PREDICATE_EVALUATION VARCHAR2(7)
ENCRYPTED VARCHAR2(3)
COMPRESS_FOR VARCHAR2(12)
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
FILE_NAME VARCHAR2(513)
FILE_ID NUMBER
TABLESPACE_NAME VARCHAR2(30)
BYTES NUMBER
BLOCKS NUMBER
STATUS VARCHAR2(9)
RELATIVE_FNO NUMBER
AUTOEXTENSIBLE VARCHAR2(3)
MAXBYTES NUMBER
MAXBLOCKS NUMBER
INCREMENT_BY NUMBER
USER_BYTES NUMBER
USER_BLOCKS NUMBER
ONLINE_STATUS VARCHAR2(7)
desc DBA_TABLESPACES;
*
第 1 行出现错误:
ORA-00900: 无效 SQL 语句
SQL> SPOOL
当前未假脱机
SQL> SPOOL 'C:\DISK1\result.lst'
SQL> SPOOL
当前正假脱机至 C:\DISK1\result.lst
SQL> SPOOL OFF
SQL> CONNECT
请输入用户名: system
输入口令:
已连接。
SQL> DISCONNECT
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
实验三
Copyright (c) 1982, 2010, Oracle. All rights reserved. 请输入用户名: system
输入口令: 连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> connect / as sysdba
已连接。
SQL> create table t_student(
2 Sno Varchar2(10) NOT NULL,
3 Sname Varchar(10) NOT NULL,
4 ssex Number(1),
5 sbirthday date); 表已创建。 SQL> create table t_score(
2 Sno Varchar2(10) NOT NULL,
3 Sub_no Varchar2(10) NOT NULL,
4 score Number); 表已创建。 SQL>
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 11月 16 20:44:50 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
请输入用户名: system
输入口令:
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> connect / as sysdba
已连接。
SQL> create table t_student(
2 Sno Varchar2(10) NOT NULL,
3 Sname Varchar(10) NOT NULL,
4 ssex Number(1),
5 sbirthday date);
表已创建。
SQL> create table t_score(
2 Sno Varchar2(10) NOT NULL,
3 Sub_no Varchar2(10) NOT NULL,
4 score Number);
表已创建。
SQL> insert into t_student values(20100001,'刘浩',1,'12-10月-1991');
已创建 1 行。
SQL> insert into t_student values(20100002,'张杰',1,TO_DATE('1992-01-03','YYYY-MM-DD'));
已创建 1 行。
SQL> insert into t_student values(20100003,'李娟',0,TO_DATE('1992-06-14','YYYY-MM-DD'));
已创建 1 行。
SQL> insert into t_student(Sno,Sname,ssex) values(20110001,'王强',1);
已创建 1 行。
SQL> insert into t_student(Sno,Sname,sbirthday) values(20110002,'马力',TO_DATE('1991-02-21','YYYY-MM-DD'));
已创建 1 行。
SQL> insert into t_score values(20100001,001,90);
已创建 1 行。
SQL> insert into t_score values(20100002,001,87);
已创建 1 行。
SQL> insert into t_score values(20100003,001,88)
2 /
已创建 1 行。
SQL> insert into t_score values(20100001,002,84);
已创建 1 行。
SQL> insert into t_score values(20100003,002,85);
已创建 1 行。
SQL> insert into t_score(sno,Sub_no) values(20110001,002);
已创建 1 行。
SQL> insert into t_score(sno,Sub_no) values(20110002,002);
已创建 1 行。
SQL> delete from t_student where sno=20100001;
已删除 1 行。
SQL> update t_score
2 set score = 95
3 where sno = 20100001 and Sub_no = 002
4 /
已更新 1 行。
SQL> select sname as 姓名 from t_student;
姓名
----------
张杰
李娟
王强
马力
SQL> select floor(MONTHS_BETWEEN(sysdate,sbirthday)/12) as 年龄 from t_student;
年龄
----------
24
24
25
SQL> select sname as 姓名,
2 floor(months_between(sysdate,sbirthday)/12) as 年龄
3 from t_student;
姓名 年龄
---------- ----------
张杰 24
李娟 24
王强
马力 25
SQL> select *
2 from t_student
3 where sbirthday = (select min(sbirthday) from t_student);
SNO SNAME SSEX SBIRTHDAY
---------- ---------- ---------- --------------
20110002 马力 21-2月 -91
SQL> select concat(sno,sname) from t_student;
CONCAT(SNO,SNAME)
--------------------
20100002张杰
20100003李娟
20110001王强
20110002马力
SQL> select substr(sno,0,4) as 入学年份 from t_student
2 /
入学年份
--------
2010
2010
2011
2011
SQL> select TO_CHAR(last_day(sysdate),'YYYY-MM-DD') as 本月最后一天 from dual;
本月最后一
----------
2016-11-30
SQL> select sname,
2 TO_CHAR(sbirthday,'YYYY-MM-DD')
3 from t_student;
SNAME TO_CHAR(SB
---------- ----------
张杰 1992-01-03
李娟 1992-06-14
王强
马力 1991-02-21
SQL> select sname,Sub_no,score
2 from t_student,t_score
3 where t_student.sno = t_score.sno and Sub_no=001
4 order by score desc;
SNAME SUB_NO SCORE
---------- ---------- ----------
李娟 1 88
张杰 1 87
SQL> select sno,sname
2 from t_student
3 where sno in(
4 select sno
5 from t_score
6 group by sno
7 having count(*) > 1);
SNO SNAME
---------- ----------
20100003 李娟
SQL>
打开SQL Plus的时候报了如下的错
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does notexist
解决方法是,在cmd(Windows)中
sqlplus/nolog
connect / as sysdba
startup force
用到pl/sql时,第一为了能输出,要设置参数
set serveroutput on
第二:为了能用到缓冲区,要用管理员身份打开 "SQL Plus"。当输入错误时,在程序块结束时,输入"edit;",可以在缓冲区修改代码;修改后保存,在命令行输入"/"就可以执行了
第三:要从键盘输入
v_no := &str;
ORACLE实验一-三的更多相关文章
- ORACLE 实验一
实验一:数据定义 实验学时:4学时 实验类型:综合型 实验要求:必修 一.实验目的 1.熟悉Oracle的client配置: 2.掌握SQL Plus的使用: 3.掌握SQL模式定义语句,定义相关的表 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- 旧书重温:0day2【2】 实验:三种获取kernel32.dll基址的方法
0x01 找kernel32基地址的方法一般有三种: 暴力搜索法.异常处理链表搜索法.PEB法. 0x02 基本原理 暴力搜索法是最早的动态查找kernel32基地址的方法.它的原理是几乎所有的win ...
- 怎样让oracle实验本在不做实验时性能提升——win7下举例
怎样让oracle实验本在不做实验时性能提升--win7下举例 型号:ThinkPad E431 系统:WIN7 实验使用的笔记本不使用数据库时.建议将oracle关闭,使其释放占用的资源. orac ...
- 20135231 JAVA实验报告三:敏捷开发与XP实践
---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...
- PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释
PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora原理解释 oracle网络配置三个配置文件 lis ...
- 20145221 《Java程序设计》实验报告三:敏捷开发与XP实践
20145221 <Java程序设计>实验报告三:敏捷开发与XP实践 实验要求 以结对编程的方式编写一个软件,Blog中要给出结对同学的Blog网址 记录TDD和重构的过程,测试代码不要少 ...
- Java连接Oracle数据库的三种连接方式
背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...
- 第五周总结&实验报告三
第五周总结&实验报告三 实验报告 1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码.结果截图.) ① 统计该字符串中字母s ...
随机推荐
- Senna.js – 速度极快的单页应用程序引擎
Senna.js 是一个速度超快的单页应用程序引擎,提供了几个低级别的 API,可以帮助你打造现代化的基于 Web 的应用程序.更重要的是,搜索引擎蜘蛛应该能够索引相同的内容. 通过使用 HTML5 ...
- jQuery 购物车鼠标经过出现下拉框的做法
这一段时间在学习web前端,最近学了jQuery库,深感其强大,下面通过写购物车的下拉框做法,把自己的理解和大家交流一下,欢迎各位大神指点指正,废话不多说,开始正题: 购物车html: <!-- ...
- Xcode计算缓存文件大小和清除缓存
//获得缓存路径 self.cachesPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, ...
- Petya勒索木马
同事小学妹神好奇心,在陌生群里下载了个软件,接下来就是自动重启无法开机. 找我一看,凭我专业帮妹纸装系统多年的经验,起初也不觉得有啥困难,兼容模式下重启,接下来出现这个: 按下any key后: 试了 ...
- JVM-内存管理
都说搞C的牛叉,那是因为C解决问题,全靠程序员自己,他们对自己的程序在内存中是什么样了如指掌.而Java呢不需要有太多操作系统的知识,不用时刻注意内存的问题,但这不代表我们就不用去了解它背后的原理.J ...
- 安装Visual Studio的插件AnkhSvn
安装Visual Studio的插件AnkhSvn 安装AnkhSvn(VS插件).下载地址:http://download.csdn.net/detail/luqingfei/4538807 Ank ...
- Loadrunner代理录制设置
使用LR代理录制原理 启用LR代理服务器监听设置好的端口号是否有请求信息发送给服务器,有请求时,代理服务器接收带请求,并转发给对应的系统服务器,LR从而获取到请求的信息与数据,生成脚本. 使用代理的前 ...
- Migrate Instance 操作详解 - 每天5分钟玩转 OpenStack(40)
Migrate 操作的作用是将 instance 从当前的计算节点迁移到其他节点上. Migrate 不要求源和目标节点必须共享存储,当然共享存储也是可以的. Migrate 前必须满足一个条件:计算 ...
- web服务器选择Apache还是Nginx
首先我们来谈谈老朋友Apache,Apache HTTP Server(简称Apache)是世界使用排名第一的Web服务器软件,音译为阿帕奇,是Apache软件基金会的一个开放源码Web服务器,可以运 ...
- Python简单练习
#coding=UTF-8 a=10; b=2; c=a+b; print (c); score=90; if score>=80: print ("很好"); elif s ...