曾经Oracle课堂笔记

合集下载

oracle课堂笔记

oracle课堂笔记

oracle课堂笔记星期⼀:Monday星期⼆:Tuesday星期三:Wednesday星期四:Thursday星期五:Friday星期六:Saturday星期天:Sunday数据库⽬录实例主⽬录:C:\oracle\product\10.1.0\admin实例⽬录⽂件:bdump:⽤于保存进程跟踪⽂件 cdump:⽤于保存内核放弃⽂件 create:o数据库创建⽂件 pfile:初始化参数⽂件 udump:⽤户SQL跟踪⽂件C:\oracle\product\10.1.0\oradata\orcl 数据库⽂件 .ctl 数据库控制⽂件 .log 重做⽇志⽂件 .dbf 数据⽂件Oracle注册表相关项[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\OracleCSService] Oracle服务相关项[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1] Oracle安装,运⾏环境,参数设置相关项[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Oracle in OraDb10g_home1] 与ODBC驱动相关的⼦键变量&select employee_id,last_name,salary,department_id from employees where employee_id=&请输⼊员⼯编号;select job_id, last_name, department_id, salary*12,salary from employees where job_id='&job' 中⽂字符要加单引号select employee_id,last_name,job_id,&column_name from employees;select employee_id,last_name,job_id,&column_name from employees order by &order_column;操作符优先级:(1)乘除的优先级⾼于加减。

oracle课堂笔记

oracle课堂笔记

C/S :客户端/服务器B/S: 浏览器/服务器(以后的开发,主要是基于B/S架构)关系:用来描述两个数据集之间如何联系的数学概念。

ORDBMS:对象关系型数据库管理软件,对数据的存储,安全,一致性,并发性操作负责。

数据库:用户存储、访问,操作数据的仓库,是物理的概念,由磁盘上的数据文件,控制文件和日志文件组成。

数据文件:用来存储数据库数据的文件,如表,索引等数据都是物理的存储在数据文件中日志文件:数据库的细微变化,都会记录在日志文件中,可用于恢复数据库。

控制文件:用于描述数据库的物理结构包含:1.数据库的名称及数据为唯一标识2.数据库的创建时间3.数据库文件和日志文件标识,包括名称和路径4.数据库恢复需要同步的信息。

数据库名:数据的标识符,一旦创建,不能修改。

作用:在安装库,创建新数据库,创建数据库控制文件,备份与恢复时要用到。

数据库实例:数据库服务器中运行的一个进程作用:用户来加载数据库,与数据库交互。

数据库实例名(SID):数据库实例的名字,OS与数据库交互使用的名字,一般情况下,与数据库名一致。

全局数据库名:由数据库名+域名组成,用户在internet上定位一个数据库。

数据库名==数据库实例名==全局数据库表空间:数据库可以划分为一个或多个逻辑单位,该逻辑单位称为表空间,利用表空间,可以更灵活的规则数据库结构,一个数据库可以包含多个表空间,每个表空间可以包含多个表,视图等,表空间有独立的物理文件,这使得用户可以自行决定表空间的大小和位置等。

典型应用:1.控制用户所占用的磁盘空间2.控制数据库所占用的磁盘空间3.将不同的数据放到不同的位置,以提高数据库的IO性能。

数据库是由一个或多个表空间构成,一个表空间由段、区、数据块构成(逻辑上的概念)创建表空间的语法:create tablespace表空间名datafile ‘路径+数据文件名.dbf’[size integer[K|M]] [autoextend [off|on]] next integer[K | M]删除表空间:drop tablespace 表空间名including contents and datafiles ;including contents 表示删除表空间的同时,也删除表空间内的对象datafiles 表示同时删除数据文件。

oracle 笔记

oracle 笔记

oracle 笔记Oracle是一种关系数据库管理系统,由Oracle Corporation开发。

以下是关于Oracle的一些笔记:1. 数据库架构:Oracle数据库有两个主要的架构:逻辑架构和物理架构。

逻辑架构包括了数据库对象(表、索引、视图等)以及用户和角色的定义。

物理架构指的是数据在磁盘上的存储方式。

2. 数据库对象:Oracle数据库中的主要对象包括表、索引、视图、触发器、存储过程等。

表是最基本的对象,用于存储数据。

索引用于加快表的查询速度。

视图是一种虚拟表,通过查询一个或多个表返回结果。

触发器是一种在表上定义的操作,当满足某些条件时触发。

存储过程是一段可重复使用的程序代码,用于完成特定的任务。

3. SQL语言:Oracle数据库使用SQL(Structured Query Language)进行数据库操作。

SQL语言包括数据查询语句(SELECT)、数据操作语句(INSERT、UPDATE、DELETE)以及数据定义语句(CREATE、ALTER、DROP)等。

4. 数据库管理:Oracle提供了一套完整的数据库管理工具,包括创建数据库、备份和恢复数据库、监控数据库性能等。

其中,Oracle Enterprise Manager是一个图形化界面的管理工具,可以通过它来管理和监控整个数据库系统。

5. 数据完整性:Oracle数据库通过约束条件来确保数据的完整性。

主键、外键、唯一约束、非空约束等都可以用于限制数据的输入。

此外,还可以使用触发器和存储过程来定义自定义的数据完整性规则。

6. 事务管理:Oracle数据库使用ACID(原子性、一致性、隔离性、持久性)模型来管理事务。

事务是一系列数据库操作的逻辑执行单元,要么全部执行成功,要么全部回滚。

这些只是Oracle数据库的一些基本概念和特点,还有很多其他的内容,如高可用性、性能优化、安全性等。

如果想要深入了解Oracle数据库,可以参考相关的文档和教程。

oracle 笔记

oracle 笔记

oracle 笔记摘要:一、Oracle 简介1.Oracle 的发展历程2.Oracle 的产品和服务二、Oracle 数据库的基本概念1.数据库管理系统2.关系型数据库3.Oracle 数据库的结构三、Oracle 数据库的安装与配置1.安装Oracle 数据库的前提条件2.安装过程及注意事项3.配置Oracle 数据库四、Oracle 数据库的管理1.数据库的启动与关闭2.数据库的备份与恢复3.用户与权限管理五、SQL 语言基础1.SQL 简介2.SELECT 查询语句3.INSERT、UPDATE 和DELETE 操作语句六、PL/SQL 编程1.PL/SQL简介2.存储过程与函数3.触发器与异常处理七、Oracle 数据库的应用1.Oracle 数据库在企业级应用中的优势2.Oracle 数据库在典型行业的应用案例正文:一、Oracle 简介Oracle(甲骨文)公司成立于1977 年,总部位于美国加州,是全球著名的数据库软件及解决方案供应商。

Oracle 的产品和服务涵盖了数据库、应用软件、中间件、云计算等领域,广泛应用于企业、政府、金融、医疗等各个行业。

二、Oracle 数据库的基本概念1.数据库管理系统:数据库管理系统(DBMS)是一种用于存储、检索和管理数据的计算机软件。

它提供了对数据的高效组织、存储、检索、更新和维护功能。

2.关系型数据库:关系型数据库是基于关系模型的数据库,采用表格形式存储数据,并通过SQL(结构化查询语言)进行操作。

Oracle 数据库是一种关系型数据库,具有强大的数据管理功能和高度的数据安全性。

3.Oracle 数据库的结构:Oracle 数据库由物理结构和逻辑结构组成。

物理结构包括数据库文件、数据块、表空间等;逻辑结构包括表、视图、索引等。

三、Oracle 数据库的安装与配置1.安装Oracle 数据库的前提条件:首先,需要确保计算机硬件满足Oracle 数据库的最低要求;其次,需要获取Oracle 数据库的安装文件,这些文件通常可以从Oracle 官网下载。

oracle课堂笔记5

oracle课堂笔记5

range分区表:
create table tab_range (
id number(4),
n number(2) check (n >= 1 and n <= 12)
) partition by range (n) (
partition p1 values less than (2),
partition p2, ;
partition p3,
partition p4
)
;
特点:
数据不连续——无规则
增删查找不确定放在哪区,最大优点是将数据平均到每个分区
list分区表:
2012-04-23
am-1
//
oracle 文档
视图总结
索引
存储数据:字段+rowid
index
建立索引
create index idx_tab1_id on tab1 (id);
删除索引
drop index idx_tab1_id;
select segment_name,bytes from user_segments where segment_name='IDX_TAB1_ID';
) partition by hash (n) ( ) partition by hash (n) (
partition p1, partitions 4
)
;
特点:
数据不连续——有规则
用于存放区分各类型的数据
位图索引——节省空间——只索引开始和结尾——不适用于频繁insert/delete操作——最适合count函数

oracle第一章课堂笔记

oracle第一章课堂笔记
4)删除用户:drop user 用户名 cascade;
5)删除表空间:drop tablespace 表空间名
[include contents and datafiles]
oracle Sql查询
*********************
FROM itemfile;
主外键列:列 类型 primary key
列 类型 references 主表(主键)
主外键约束:
alter table 表名 add constraint 约束名 primary key(主键);
2)后台进程:服务器进程。每一个进程在数据库中执行不同的任务。
补充:SGA:由共享池、数据缓冲区、日志缓冲区三部分组成。
共享池:PL/SQL进行分析、编译的内存区域。
数据缓冲区:数据修改时,首先从数据文件取出,存储在数据缓冲区中;修改,插入的数据也存储在这里。最后被写入文件。
日志缓冲区:日志信息产生于日志缓冲区中。当日志达到一定数量时,由LGWR写入日志文件。
第一章 oracle体系结构
一、oracle服务器组成
1.oracle实例:包含内存结构和后台进程
1)内存结构:
(1)PGA:程序全局区。一个用户有一个。不共享。当用户结束回话时释放。(program global area)
(2)SGA:系统全局区。只有一个。共享。实例启动时创建。服务停掉时释放。(system global area)
alter table 表名 add constraint 约束名 foreign key(外键) references 主表(主键);
alter table 表名 drop constraint 约束名;

Oracle学习笔记

Oracle学习笔记

Oracle 入门学习笔记
4.3 分析函数 .................................................................................................... 17 第三章 分区表与锁 ................................................................................................ 17 1. 分区表的分类 ....................................................................................................... 17 2. 分区表的使用 ....................................................................................................... 17 3. 分区表的维护 ....................................................................................................... 20 4. 锁 ........................................................................................................................ 21 第四章 数据对象..............................................................................

oracle笔记第一讲

oracle笔记第一讲

Sys用户(超级用户权限最大)System用户(管理员用户,其权限仅次于sys)Scott用户(普通用户)10g(g是Grid的缩写):支持网格,支持自动管理9i与10g的区别:1.增加了网格计算2.安装简单3.增加了浏览器管理在默认的情况,scott用户是锁定状态(lock user)不能使用我们要启用他登录:如果你安装的时候忘记对某个用户解锁,比如scott,我们可以通过system来对该用户解锁解锁步骤:(1)先使用system登录(密码为oraclesls)(2)然后alter user account unlockOracle企业管理器:(一般情况下不启用该服务)登录方式:http://localhost:1158/emShow user:显示当前用户名是什么?conn[ect] 用户名/密码:该命令经常用于切换当前用户,因为建议使用普通用户conn user systemdisc[onnect]:该命令用于断开和oracle连接,但是不退出sqlplus窗口exit该命令用于断开和oracle连接,但是退出sqlplus窗口Passw[ord]该命令用于修改密码基本用法:Password 用户名:如果给自己修改密码,则可以不带用户名,如果给别人密码,则需要带用户名。

(前者是sys 用户或system用户)&:交互式命令Set linesize 140创建sql文件(编辑文本)edit d:/aa.sqlspool需求如下:把屏幕上显示的记录,保存到文件中Spool on基本用法:(1)spool 文件路径(spool d:/bak.sql)(2)执行操作(select * from emp;)(3)Spool off(1)set linesize字符数用于控制每行显示多少个字符,默认80字符基本用法:set linesize字符数(2)pagesize用于每页显示多少行,默认显示14行基本用法:set pagesize每页显示的行数oracle的用户管理需求:假设你是oracle管理员,当你一个同时入职,你需要给他分配一个帐号①建用户(需要有dba权限的用户)基本语法Create user用户名identified by密码举例创建一个普通用户xiaomingCreate user xiaoming identified by m123(oracle要求用户名密码不能以数字开头)为什么创建的用户无法登录?这是因为oracle刚刚创建的用户是没有任何权限需要管理员给其授权才能够登录Shunping create session②如何给用户分配权限grant create session to xiaoming;表空间:什么是表空间?就是表存在的空间,一个表空间是指向具体的数据文件得到③创建用户的细节方法create user sunlinsong identified by m123defaulttablespace userstemporarytablespace tempquota 3m on user;(说明:quota是限制配额的意思,也就是说此处创建的用户只拥有3m的空间)角色:1.预定义角色dba,connect,resource2.自定义角色Revoke:回收权限回收要用system身份登录回收Revoke connect from xiaohongRevoke resource from xiaohong删除用户:Drop user xiaohong [cascade] 注:cascade,级联Oracle里的表用number来表示创建表:Create table users (id number);方案(schema):需求:给xiaohong能够查看scott的emp表的权限(1)conn scott/tiger(2)赋权限grant select[update/delete/insert/all] on emp to xiaohong; 查询scott的emp表:select * from scott.emp;系统权限:with admin option对象权限:with grant optionProfile管理用户口令Create profile 文件名limit failed_login_attempts 3 password _lock_time 2; 分配文件alter user 用户名profile文件名如何给一个用户解锁Alter user 用户名account unlock终止口令需求:说一个帐号,最多10天,宽限期为2天,到时候必须重置密码基本用法:Create profile 文件名limit password_life_time 10 password_grace_time 2; 分配文件:Alter user 用户名profile 文件名解锁:Alter user 用户名account unlock口令历史:1)建立profileSql>create profile password_history limit password_life_time 10 password_grace_time2 password_reuse_time 1;Password_reuse_time //指定口令可重用时间即10天后就需要修改2)分配给某个用户alter user tea profile myprofile删除profiledrop profile profile文件名oracle启动流程----Windows下1)lsnrctl start(启动监听)2)oradim–startup-sid数据库实例名(orclsls)3)sqlplus sys/change_on_install as sysdba(以sysdba身份登录,在oracle10g后可以这样写)sqlplus /nologconn sys/change_on_install as sysdba3)startup普通用户与特权用户普通用户:connscott/tiger特权用户:conn scott/*** as sysdba-- 以sysdba身份登录(sys),不用验证密码密码恢复:小知识:查看Windows运行了多长时间用Systeminfo命令使用profile文件对口令进行管理需求:只允许某个用户最多尝试登录三次,如果三次没有成功,则锁定两天,两天后才能重新登录。

oracle 笔记

oracle 笔记

关于Oracle的学习笔记,可能包括以下几个重要部分:数据库创建和管理:创建用户和表空间。

以超级管理员的身份登录,创建表空间,创建用户,给用户授权,使用新用户进行查询测试。

数据定义语言(DDL)用于建立、修改、删除数据库对象,包括创建语句(CREATE)、修改语句(ALTER)、删除语句(DROP)。

例如,使用CREATE TABLE创建表,使用ALTER TABLE修改表,使用DROP TABLE删除表等。

数据库查询:数据查询语言(DQL)用于查询所需要的数据。

排序查询结果。

例如,使用SELECT语句查询员工信息,并按升序排序。

排序可使用NULLS FIRST和NULLS LAST来选择空的信息的位置。

字符串拼接。

通过“||”实现字符串的拼接。

例如,查询所有员工姓名并在后面加一个“a”。

当字符串拼接遇到空的时候,空会自动变成一个空字符串。

数据库数据操作:数据操作语言(DML)用于改变数据库数据,包括INSERT、UPDATE、DELETE三条语句。

使用DISTINCT去重。

例如,SELECT DISTINCT name, id FROM A,作用于多列。

数据库高级特性:使用PARTITION BY在保留全部数据的基础上,只对其中某些字段做分组排序。

虚拟表DUAL是一个虚表,虚拟表,是用来构成SELECT的语法规则,Oracle保证DUAL里面永远只有一条记录。

数据库控制和管理:数据控制语言(DCL)用于数据库的控制和管理。

事务控制语言(TCL)用于数据库事务的控制。

以上内容只是Oracle学习笔记的一部分,实际上Oracle数据库系统的学习还包括很多其他的内容,如索引管理、视图、存储过程、触发器等高级数据库对象的管理和使用,以及数据库性能优化、安全性管理等内容。

oracle课堂笔记

oracle课堂笔记

9.数据库的备份和恢复
exp命令可以把数据从远程数据库服务器导出到本地的dmp文件
imp命令可以把dmp文件从本地导入到远处的数据库服务器中
10.表的创建
语法:
create table 表名(列名 数据类型 [default 默认值],列名2 数据类型,...);
修改表结构:
SERIALIZABLE:串行化。不允许任何并发事务问题。最严格的事务隔离性。
Oracle只支持READ COMMITTED和SERIALIZABLE。
默认为READ COMMITTED
设置一个事务的隔离级别
set transaction isolation level serializable
自动隐式提交事务:
执行一个DDL语句、执行一个DCL语句、从SQL*Plus正常退出(exit,quit)
自动隐式回滚事务:
强行退出SQL*Plus、客户端到服务器的连接异常中断MMIT;
回滚事务:ROLLBACK [TO 回滚点];
ALTER TABLE 表名
ADD [CONSTRAINT 约束名] 约束类型(要约束的列名);
ALTER TABLE 表名
ADD [CONSTRAINT 约束名]
FOREIGN KEY (要添加外键的列名)
REFERENCES 主表名(主表的某一列名);
设置事务回滚点:SAVEPOINT 回滚点;
5.事务的隔离级别
SQL标准定义了四种隔离级别:
READ UNCOMMITTED: 读未提交数据。脏读、不可重复读、幻读都可能发生。它的事务隔离性最低。
READ COMMITTED:读已提交数据。不允许脏读。

ORACLE课程第六天笔记

ORACLE课程第六天笔记

Pl/sql基础Pl/sql(procedural language/sql)是oracle在标准的sql语言上的扩展。

Pl/sql不仅允许潜入sql 语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。

1、过程、函数、触发器是pl/sql编写2、过程、函数、触发器是在oracle中3、Pl/sql是非常强大的数据库过程语言4、过程、函数可以在java程序中调用学习必要性1、提高应用程序的运行性能2、模块化的设计思想3、减少网络传输量4、提高安全性不好:移植性不好开发工具1、sqlplus开发工具2、pl/sql developer开发工具案例:编写一个存储过程,该过程可以添加表记录1、创建一个简单表Create table mytest(name varchar2(10),passwd varchar2(10));2、建过程Create or replace procedure sp_pro1isBeginInsert into mytest values(‘小金’,’m123’);End;/Replace:表示如果过程sp_pro1存在,就替换查询错误信息:show error;如何调用过程1、exec过程名(参数值);2、call过程名(参数值);exec sp_pro1;案例:Create or replace procedure sp_pro2is--执行部分Delete from mytest where name=’小金’;End;介绍开发人员使用pl/sql编写应用模块时,不仅需要掌握sql语句的编写方法,还要掌握pl/sql 语句及语法规则。

Pl/sql编程可以使用变量和逻辑控制语句,从而可以编写非常有用的功能模块。

比如:分页存储过程模块,订单处理存储过程模块,转账存储过程模块。

而且如果使用pl/sql编程,我们可以轻松的完成非常复杂的查询要求。

Oracle学习笔记

Oracle学习笔记

Oracle学习笔记Oracle学习笔记Oracle学习笔记(1) Oracle数据库编程基础文章分类:数据库这段时间出差,一直在搞需求分析和设计,每天都是写文档画UML,都有好几个月没有写代码了,只怕都快忘记了!这是我用Oracle时学习的Oracle编程做的笔记,今天也发上来与大家分享一下,一共有八章。

现在在有时间就学一下EJB3,因为在项目中会用到,等学完了把EJB3的笔记也发上来和大家分享!通过SqlPlus登录Oracle ,sqlplus 用户名/密码@数据库名建表Sql代码1.create table demo(2. id number(8),3. name varchar2(20)4.)插入数据Sql代码1.insert into demo values(1,'zhangshang');2.insert into demo values(2,'lishi');提交Sql代码/doc/fe11207420.html,mit;查询数据字典(table_name='这里的值要大写')Sql代码1.select * from dba_tab_cols a where a.table_name='DEMO';创建视图create or replace:如果该视图存在就替换,如果不存在就创建1.create or replace view myView as select id 编号,name 姓名 from demo;2.select * from myView;创建同义词(同义词相当于表的别名或逻辑名,可以通过该名称来操作相对应的物理表)在分布式Oracle数据库中,标识一个对象需要四部分:主机名、实例名、模式名、对象名。

例如********************,其中模式名是SYSTEM,对象名是auths,PX.orcl是一个数据库链,它指向服务器PX上的实例orcl,我们可以为其指定一个同义词,使所有的用户都可以通过简单的同义词来访问表********************创建公有的同义词Sql代码1.create public synonym syn1 for demo;创建私有的同义词Sql代码1.create synonym syn2 for demo;创建并使用序列创建序列的完整语法:create sequence 序列名 increment by 增量种子数 start with 起始数字maxvalue 最大值;我们可以使用序列的两个属性nextval和currval,其中nextval 是返回下一个可用的序列值,而currval用于获得当前序列的值创建序列的简单方法Sql代码1.create sequence mySeq;使用创建的序列Sql代码1.insert into demo values(mySeq.nextval,'ddd');获得当前序列的值1.select mySeq.currval from dual;删除一条记录Sql代码1.delete from demo where id=2;查询所有记录Sql代码1.select * from demo;格式化日期时间Sql代码1.select to_char(sysdate,'yyyy-MM-dd hh24:mm:ss') 格式化日期 from dual;Oracle学习笔记(2) PLSQL编程基础文章分类:数据库这是第二章的学习笔记,学习完第一章的基础之后,从现在开始要学习Oracle编程了……,希望大家能多给俺一些支持啊!编程时使用的工具是PLSQL Developer 7.1.4Sql代码1.select * from Employee;2.select * from dba_tab_cols t where t.table_name='EMPLOYEE'; Sql代码1.-- 声明部分,用于定义变量2.declareconstant用于定义常量,当定义常量时必须指定它的初始值,且数据不能改变Sql代码1.n_aaa constant number(4,2) :=5.5;boolean 类型的值只能用于sqlplus语句块中,不能用在表字段的数据类型中not null 用于强制初始化变量不能为空,此时必须为变量指定值default用于指定变量或常量的默认值1.v_valid boolean not null default false;2.v_name varchar2(20);为了确保变量使用合适的数据类型和长度,可以使用%type属性定义变量,它会按照数据库列或其它变量来确定新变量的类型和长度Sql代码1.v_job Employee.Job%type;将v_job2定义为与变量v_job的数据类型和长度完全一致Sql代码1.v_job2 v_job%type;复合变量:处理单行单列数据时,用标量变量;处理单行多列时,用PL/SQL 记录;处理单列多行时,用集合;处理多行多列数据时,可以结合使用PL/SQL记录和集合PL/SQL记录(RECORD):方法一:emp_recode_type 是PL/SQL记录类型并包含有三个成员(name,salary,job)Sql代码1.type emp_recode_type is record(2. name /doc/fe11207420.html,%type,3. salary employee.salary%type,4. job employee.job%type5.);emp_recode是记录变量Sql代码1.emp_recode emp_recode_type;方法二:使用表名的%rowtype 属性定义记录变量注意:用%rowtype 属性定义记录变量时,记录成员个数、名称、类型必须与表或视图的列的个数、名称和类型完全相同Sql代码1.emp_recode2 employee%rowtype;集合类型PL/SQL 表(也称索引表,下标可以为负数,下标没有上限和下限,并且元素的个数无限)Sql代码1.--这里的table 实指集合2.type name_table_type is table of /doc/fe11207420.html,%type index by bi nary_integer;3. name_table name_table_type;嵌套表:嵌套表的下标不能为负值,其元素的个数没有限制并可以使用表列的数据类型在使用嵌套表时必须先用create type 语句建立嵌套表类型嵌套表只是比PL/SQL 表少了 index by binary_integerSql代码1.type num_table_type is table of number(4);2.num_table num_table_type;varray(变长数组):varray的元素个数是有限制的,在使用其之前必须先建立varray 类型在此创建的varray只能存放20个varchar2类型的数据注意:嵌套表列数据需要存储在专门的存储表中,而varray数据则与其它列数据一起存放在表字段中Sql代码1.type v_varray_type is varray(20) of varchar2(10);2.n_empno employee.empno%type;Sql代码1.-- 程序开始2.begin执行部分,执行PL/SQL/和SQL语句可以用into将从表人查询出来的值赋给指定的变量将值赋给变量有两种方法,一是用 := ,二是用 into& 符号用于提示用户输入一个值,& 为sqlplus的替代变量Sql代码1.n_empno := &输入你要查询的员工编号:;2.select Name,Job into v_name,v_job from Employee where empno=n_empno;这里的 || 号与Java中的 + 号类似,表示要将两边的字符串连接起来dbms_output是Oracle所提供的系统包,用于输出数据或消息,而put_line是该包所包含的过程,用于输出字符串信息并换行当在CMD中使用dbms_output包时,必须要先将sqlplus 的环境变量serveroutput 设置为 onSql代码1.dbms_output.put_line('你查询的员工是:' || v_name || ' 他的工作是:' || v_job);引用记录变量的成员并赋值(赋值可以用 := 和 into 两种方法)注意:用sele ct……into 语句给记录变量赋值时,select语句中的列名列表的名称和个数、类型必须与记录变量的成员个数、名称、类型完全相同Sql代码1.dbms_output.put_line('你查询的员工是:' || v_name || ' 他的工作是:' || v_job);2.3.emp_/doc/fe11207420.html, := '钱森';4. dbms_output.put_line('引用记录变量的成员并赋值(Recode):' || emp_/doc/fe11207420.html,);5.6. select name,job into emp_/doc/fe11207420.html,,emp_recode2.jobfrom employee where empno=2;7. dbms_output.put_line('引用记录变量的成员并赋值(RowType):' || emp_/doc/fe11207420.html, || ' 的工作是:' || emp_recode2.job);8. -- 使用PL/SQL表(索引表)9. select name into name_table(-50) from employee where empno=1;10. dbms_output.put_line('雇员名:' || name_table(-50));11. -- 使用嵌套表12. -- 必须先设置嵌套表的下标,然后才能对该集合进行赋值13. num_table := num_table_type(1,2,3,4,5);14. num_table(1) := 10;15. num_table(5) := 100;16. dbms_output.put_line('使用嵌套表:' || num_table(1) || ',' || num_table(5));17.18.exception19. -- 异常处理部分20. when NO_DATA_FOUND then dbms_output.put_line('查询不到员工编号为' || n_empno || '的员工!');21. when TOO_MANY_ROWS then dbms_output.put_line('数据完整性错误,员工编号' || n_empno || '重复!');22. when OTHERS then dbms_output.put_line('PL/SQL执行错误!' || sqlerrm);23.-- 程序结束24.end;25./Oracle学习笔记(3) PLSQL程序控制结构文章分类:数据库这是第三章的学习笔记,学习完第二章的编程基础之后,从现在开始要学习Oracle编程了……,希望大家能多给俺一些支持啊!这周六总算是不用加班,可以好好出去玩一下了!今天去武大看樱花了,哈哈,不错!编程时使用的工具是PLSQL Developer 7.1.4Sql代码1.select * from employee;2.select * from dba_tab_cols t where t.table_name='EMPLOYEE';Sql代码1.declare2. n_empno employee.empno%type;3. v_name /doc/fe11207420.html,%type;4. n_salary employee.salary%type;5. v_temp varchar2(30);6. n_temp number(5) := 1;7. -- 自定义异常8. e_exception exception;exception_init 是一个编译时指令,用于将一个内部错误与异常的名称关联。

Oracle学习笔记

Oracle学习笔记

断壁残垣---Oracle学习笔记Emitter第一章关系数据库用户解锁:使用system用户登录Sql语句:SELECT username,account_status FROM dba_users;ALTER USER scott ACCOUNT_UNLOCK;//解锁ALTER UESR scott IDENTIFIED BY tiger;//设定密码CONNECT scott/tiger;SELECT * FROM emp;第二章体系结构概述体系结构Oracle数据库从存储结构上可以分为物理存储结构与逻辑存储结构,从实例结构上可以分为内存结构与进程结构。

Oracle的物理存储结构是由存储在磁盘中的操作系统文件所组成的,Oracle在运行时需要使用这些文件。

一般,Oracle数据库在物理上主要由3种类型的文件组成,分别是数据文件(*.dbf)、控制文件(*.ctl)和重做日志文件(*.log)。

数据文件数据文件(Data File)是指存储数据库数据的文件。

数据库中的所有数据最终都保存在数据文件中,例如,表中的记录和索引等。

如果数据文件中的某些数据被频繁访问,则这些数据会被存储在内存的缓冲区中。

读取数据时,Oracle系统会首先从内存的数据缓冲区中查找相关数据信息,如果找不到,则从数据库文件中把数据读取出来,存放到内存的数据缓冲区中,供查询使用;存储数据时,修改后的数据信息,也是先存放在内存的数据缓冲区中,在满足写入条件(例如执行提交操作)时,由Oracle的后台进程DBWn将数据写入数据文件。

SELECT file_name FROM dba_data_files;控制文件控制文件(Control File)是一个很小的二进制文件,用于描述和维护数据库的物理结构。

在Oracle数据库中,控制文件相当重要,它存放有数据库中数据文件和日志文件的信息。

Oracle数据库在启动时需要访问控制文件,在数据库的使用过程中,数据库需要不断更新控制文件,由此可见,一旦控制文件受损,那么数据库将无法正常工作。

oracle笔记

oracle笔记

第一章:Oracle 11g简介对象关系型的数据库管理系统(ORDBMS)在管理信息系统、企业数据处理、因特网及电子商务等领域使用非常广泛在数据安全性与数据完整性控制方面性能优越跨操作系统、跨硬件平台的数据互操作能力Oracle数据库的主要特点支持多用户、大事务量的事务处理数据安全性和完整性控制支持分布式数据处理可移植性Oracle 体系结构:由Oracle数据库和Oracle实例组成版本:1979 oracle第2版1983年3月第3版使用C编写1984年10月第4版1985年第5版首批可以在C/S在运行的数据库1988年第6版1992年6月第7版1997年6月第8版1998年9月8i 全方位支持java2001年6月9i2003年9月8日10g2007年11月11g第二章安装Oracle Database 11g安装步骤:1.选择安装方法2.选择安装类型3.选择安装路径a。

oracle的基目录b。

用于存储oracle软件文件4.检查安装环境5.选择配置选项(仅安装软件)6.安装软件配置oracle监听程序1.准备创建监听程序Net ConfigurantionAssistant2.选择配置选项3.添加监听程序4.选择TCP/IP协议的端口5.完成卸载oracle1.停止5个服务运行框中输入services.msc2.卸载oracle产品3删除注册表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE像HKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Services节点下所有HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application下oracle.VSSWriter.ORCL项4删除环境变量系统变量中ORACLE_HOME 或者CLASSPATH和PATH变量中也存在Oracle设置5 删除目录并重启第三章熟悉数据库发展史1.人工管理阶段2.文件系统阶段3.数据库系统阶段数据库模型1.层次结构模型2.网状结构模型3.关系结构模型三级模式和二级印象1.三级模式●模式对应概念级●外模式用户级●内模式物理级2.二级映像●外模式/模式映像是数据具有较高的逻辑独立性●模式/内模式映像具有较高的物理独立性相关术语1.表数据库中存放数据用的数据表2.视图数据库中的虚拟表3.存储过程由sql语句和控制语句组成的语句块4.触发器特殊的存储过程5.约束数据库中保证数据库里表中数据完整性的手段完整性1.实体完整性关键字段不能为空或者重复的值2.区域完整性保存输入到数据库中的数据在有效范围内的3.参照完整性保证数据库中相关联的表里数据的正确性第四章SQL基础语言种类1.数据定义语言(DDL)2.数据操纵语言(DML)3.数据查询语言(DQL)4.数据控制语言(DCL)常用数据类型1.字符型2.数字型3.日期型4.其它类型第五章利用SELECT检索数据1语法SELECT [ ALL | DISTINCT{ * | expression | column1_name [ , column2_name ] [ , ... ] } FROM { table1_list][ WHERE condition ][ GROUP BY expression [ ,... ] ][ HA VING condition [ ,... ] ][ ORDER BY expression [ ASC | DESC ] [ , ... ] ]DISTINCT 去重GROUP BY 分组HAVING 再次筛选ORDER BY 排序2SQL 操作符算术操作符加(+)、减(-)、乘(*)、除(/)比较操作符=、!=、<、>、<=、>=、BETWEEN…AND、IN、LIKE 和IS NULL逻辑操作符与(AND)、或(OR)和非(NOT)集合操作符UNION 返回两个查询的所有行。

Oracle基础知识学习笔记(自己整理的)

Oracle基础知识学习笔记(自己整理的)

基本概念:数据:描述事物的符号;数据库:数据存放的地方,数据库是由数据和数据库对象组成的;数据库管理系统(DBMS):用于管理数据的计算机软件,使用户能方便的定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和数据库恢复。

关系数据库(RDB):基于关系模型的数据库。

ORACLE数据库的体系结构是由一个实例和若干个数据库文件组成。

SQL语句分为:数据定义语句(DDL):create、drop、alter、truncate(不能回滚)数据操作语句(DML):insert、select、update、delete、merge数据控制语句(DCL):grant、revoke事物控制语句:commit、rollback、savepointORACLE数据库的核心组件:数据字典(DD)动态性能表(DPT)触发器PL/SQL包用户与角色:角色是一些权限的集合,分为dba、connect、resource、exp_full_database、imp_full_database。

用户分为sys、system。

用户权限包括两种:是指执行某一SQL语句或访问另一用户对象的权限。

它分为系统权限和对象权限。

(Dba_roles/dba_roles_privs/dba_sys_privs/dba_tab_pri vs/dba_col_privs/role_role_privs/role_sys_privs/role_ta b_privs)创建用户:Create user username identified by password;修改用户:Alter user username identified by newpassword; 创建角色:Create role rolename identified by password;修改角色:Alter role rolename identified by new password; ORACLE数据库的物理结构:1.数据文件:用于存放所有的数据库数据,若干个数据文件组成表空间;它包括系统数据(数据字典)、用户数据(表、索引、簇等)、undo数据等。

Oracleg体系-课堂笔记 (一)

Oracleg体系-课堂笔记 (一)

Oracleg体系-课堂笔记 (一)Oracleg公司是一家致力于数据库软件和云服务的领先企业,其数据库系统得到了广泛的应用和认可。

而在数据库系统中,我们常常会遇到一些难以预知的问题,这就需要我们学习Oracleg体系,从而解决这些问题。

一、Oracleg体系Oracleg体系主要包括Oracle 11g和Oracle 12c,其中11g是Oracle 最经典的数据库之一,其功能强大,而12c则是最新版的Oracleg数据库。

学习Oracleg体系需要具备良好的数据库知识,这样才能够更加深入地学习数据库管理和优化技巧。

二、Oracle 11g1.架构Oracle 11g分为三个基本架构:实例、数据库和存储。

实例是Oracle数据库的运行环境,数据库是用于存储数据的空间,而存储则是用于存储物理数据库文件的存储设备。

2.安装在安装Oracle 11g之前,需要先进行预安装和检查,以保证成功安装。

安装Oracle 11g时,需要注意Oracle安装程序的版本、在硬盘中安装文件的位置以及需要使用的空间等问题。

安装成功后,还需要进行配置才能让其充分发挥作用。

3.备份和还原备份和还原对于数据库管理至关重要,可以防止数据丢失或者恢复遭受损坏的数据库。

Oracle 11g有多种备份和还原技术,例如,物理备份和逻辑备份等。

三、Oracle 12c1.架构Oracle 12c引入了多租户架构,这是Oracle 12c的最重要的特性之一。

多租户架构可让多个客户共享单一的实例数据库,并使用单一的物理存储区。

多租户架构的优点是它可以减少所需的硬件和软件成本,并提高数据库管理的效率。

2.安装Oracle 12c的安装和Oracle 11g的安装类似,需要注意Oracle安装程序的版本、安装文件在硬盘中的位置和需求的空间等问题。

不同之处在于,Oracle 12c还需要在Linux或Unix服务器上定义一个单独的用户。

3.备份和还原备份和还原技术对于Oracle 12c依然非常重要,因为这样可以防止数据丢失和保证数据完整性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
grant all on scott.dept to 用户名;
conn 用户名/密码;
select * from scott.dept;
delect from scott.dept where deptno=50;
commit;
授权首先连接sys
1:grant connect to 用户;
查看数据库模式:
archive log list ;
关闭:
1:正常关闭:shutdown normal;-等待当前连接的所有用户断开与数据库的连接
2:事务处理:shutdown transactional;-在完成事务处理后断开所有用户连接
3:立即关闭:shutdown immediate;-回退活动的事务处理并断开所有用户连接
『DBWR:数据写进程
LGWR:日志写进程
CKPT:监测点(检测状态是否一致)
ARCH:归档进程』
脏数据:没有写入数据文件之前存放在数据缓冲区和日志缓冲区的文件(在内存缓冲区的数据)
2】程序全局区(Program Global Area-PGA)
B/S:浏览器—>瘦客户端(不用安装可以浏览使用)
x
数据库:
Access:多面数据库(小型)50m
sql server:中型数据库--》微软
my sql:开源版数据库(10g)(小型)
db2:(IBM公司)超大型数据库,存储量大,操作安全,面向企业
Oracle:适于中大型,大型公司
3—wallet Manager
4—IE
登录方式:
输入:cmd或sqlplus
cd\
sqlplus "sys/密码 as sysdba"
select * from scott.dept;
更换用户:
conn scott/tiger
指定数据库连接:sqlplus "sys/密码 @数据库 as sysdba"
第一章 Oracle(甲骨文)
数据库分类:1>DDL:数据定义语言
2>DML:数据操作语言
3>DCL:数据控制语言
4>事务控制
8i:internet
9g:grid(网格):特点:由表与表组成
C/S:客户端与服务器端 —>胖客户端(程序安装完以后使用)
comp count label "计数" of ename on job;
select * from emp order by job;
每个工作有多少人:
select job,count(*) from emp group by job;
distinct——去掉重复行的行
二、开启和关闭Oracle数据库
开启:
1:开启:startup『
1:打开数据库实例
2:打开控制文件
3:打开数据文件和日志文件

2:装载打开:startup mount『
1:开辟一个实例
2:打开控制文件(没有打开数据文件和日志文件)』
select user from dual;
创建用户:2种『企业管理器、代码』
temp:临时
profile:概要
grant :授权(grant + 权限+ to+用户)
创建用户:
create user 用户名 id限:all
4:进程存储:
1:用户进程:当用户运行一个应用程序时,就建立一个用户进程
2:服务器进程:处理用户进程的请求
处理过程:分析SQL命令并生成执行方案,从数据缓冲区存储区中读取数据,将执行结果返回给用户
3:后台进程:为所有数据库用户异步完成各种任务
『主要的后台进程有:DBWR:数据库写进程;
2.再生缓冲区:当需要的情况下,放入内存,不需要是,则释放掉
3.默认缓冲区:支持oracle一些默认数据(时间、日期)
2>共享池:『1.库缓存{sql区:sql执行版本和各种语法规则
/ PL/SQL区:PL/SQL执行版本、语法规则和存储过程、函数、包和触发器的代码 法规则}
break---去掉重复项
select distinct job from emp;
排序:order by (desc:降序,arc:升序)
select linesize 100
select * from emp order by job;
分组:group by
select job.count(*) from emp group by job;
一、支持命令:help index(查看您命令)
?帮助
? set
* 没有打开
无* 打开
sqlblankline :空行
:set sqlblankline on
list:罗列、清单(list)
del:删除(del)
append:追加(a from dept;)
/或run:运行
save:保存
edit:编辑
例如:保存文件:save + 路径;(save c:123.txt)
查看保存的代码:get+路径
运行:@+路径
编辑:edit+路径
select * from dept where deptno=&a;
入 a 的值: 20:节省内存和执行速度(用变量代替数值)
2.字典缓存:数据字典(dictionary)
数据字典:描述数据的信息,存放表和视图(所有用户、所有数据、所有对象的信息)』
(Mback:回滚、commit:提交)
3>日志缓冲区:存放对数据缓冲区操作数据的记录(必须提交:commit )
vF:小型数据库
数据库鼻祖:拉里.艾利森
Administrator:用户
assistant:助手
documentation:文件
manager:管理
console:控制台
application:应用程序
SQL plus:编程工具
p-procedrual的缩写
系统用户:1:sys(sysdba:包括sysoper的所有权限和创建数据库的权限
4:中止:shutdown abort;-立即关闭,中断数据库例程
第四章 用户管理—安全
SQL操作系统的安全性:用户、组
Oracle操作系统的安全性:用户、角色
查看当前用户:select user from dual(当前用户);
conn scott/tiger as sysdba
5:查看:archive log list;查看数据库模式

3:不装载打开:startup nomount
『实例-启动』
4:强迫打开:startup force(强迫)

1:打开数据库实例
2:打开控制文件
3:打开数据文件和日志文件

sysoper:不能创建数据库)
2:system(normal:普通用户
sysdba:身份)
3:scott:密码:tiger(普通用户)
localhost:本地
连接:http://localhost/isqlplus
编写代码(4种):1—命令行
2—sqlplus
2:grant select on scott.dept to 用户;
insert
update
delete
3:grant all on scott.dept to 用户;
quota:额度+单位
程序步骤:
1:cd\
2:sqlplus "sys/limeng as sysdba"
LGWR:日志写进程;
CKPT:检查点写进程,
SMON:系统监控进程;
PMON:进程监控进程;
ARCH:归档进程;
RECO:回复进程;
LCKN:封锁进程』
第三章 基本命令
用浏览器登录:
http://localhost:7778/isqplus
http://localhost/isqlplus
第二章
体系结构:(物理存储、逻辑存储、内存存储、进程存储)
1:物理存储(看的到的)
包括:控制文件(ctl)、数据文件(dbf)、日志文件(log)、参数文件(ora);
1:实例:oracle启动时,在内存当中开辟一个空间,并把所有进程启动
2:内存结构:
1】系统全局区(System Global Area--SGA)
包括:共享池、数据缓冲区、日志缓冲区、大共享池、Java池
1>数据缓冲区:1.保持缓冲区:当打开oracle实例直到关闭期间不能释放的信息或数据
装载过程:『
1:关闭数据:shutdown immediate;首先关闭数据库
2:用装载模式开启:startup mount;用装载模式打开数据库
3:更改:alter database archivelog;-将归档模式更改未存档模式
4:打开更改:alter database open;打开更改后的数据库
1>控制文件:控制和管理数据文件和日志文件的-ctl
2>数据文件:存储数据的文件-dbf
3>日志文件:记录对数据文件操作的记录-log
{联机日志(重做日志)
相关文档
最新文档