![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle系列教程
文章平均质量分 89
李晓LOVE向阳
这个作者很懒,什么都没留下…
展开
-
Oracle Redo log 状态及工作原理解析
Redo Log简介Oracle的数据库日志称为redo log,所有数据改变都记录redo log,可以用于修复受损的数据库。大型数据库都采用日志。Redo日志是分组的,一个库至少需要两组,默认是三组。每个组内的redo日志称为成员。默认情况下,每个组只有一个成员,这样没有冗余性,可能造成online redo log的丢失,要提高数据的可靠性,应该为每个组至少配置两个成员,并将这两个成员分配到不同的磁盘上。Redo日志是轮流使用的,一个redo log满了,LGWR会切换到下一组redo log原创 2021-01-11 13:52:38 · 2497 阅读 · 0 评论 -
oracle 创建字段自增长——两种实现方式汇总
MySQL等其他数据库中有随着记录的插入而表ID自动增长的功能,而Oracle却没有这样的功能,我们有以下两种方式可以解决字段自增长的功能。 因为两种方式都需要通过创建序列来实现,这里先给出序列的创建方式。CREATE SEQUENCE 序列名[INCREMENT BY n][START WITH n][{MAXVALUE/ MINVALUE n|NOMAXVALUE}][{原创 2016-10-09 09:35:51 · 318 阅读 · 0 评论 -
Oracle索引碎片检查及定期重建常用表的索引
背景说明: 今天查阅书籍时,偶然间发现“在对某个索引行执行删除操作时,只是为该行增加了一个删除标记,这个索引行并不会释放它的存储空间,Insert产生的新的索引行也不能被插入到该位置。索引列的修改过程其实是将对应的列值删除,然后再插入新的列值(与数据行本身的修改是不一致的,这也正是我们尽量不使用修改频繁的列来创建索引的原因)。所以,无论是插入、修改、删除,都需要消耗存储空间,增大B原创 2016-09-23 13:39:43 · 1221 阅读 · 0 评论 -
二十八、oracle 视图
一、介绍视图是一张虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。(视图不是真实存在磁盘上的) 二、视图与表的区别1、表需要占用磁盘空间,视图不需要2、视图不能添加索引(所以查询速度略微慢点)3、使用视图可以简化,复杂查询原创 2016-08-31 11:49:12 · 207 阅读 · 0 评论 -
Oracle数据库备份及恢复
引言本章节内容讲述的是在日常工作中经常使用的对数据进行的备份与恢复操作。分为数据泵方式和传统的导入导出两部分进行讲解。在Oracle 10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP。下面,先对这两种方式进行一下简单的说明:(1) EXP和IMP是客户端工具程序,他们既可以在客原创 2017-01-17 15:22:47 · 483 阅读 · 0 评论 -
PLSQL Developer中的ODBC导入器将Excel表导入Oracle数据库
问题背景:甲方提供一份客户信息的Excel表格,需要将里面的数据导入Oracle数据库,对外提供接口查询数据。解决思路:使用PLSQL Developer中的ODBC导入器来导入Excel。操作步骤:pro.xls(97-2003 工作簿):中国省/直辖市列表 具体步骤如下: 1、打开并登录到PL/SQL,点击【工具】→【ODBC导入器】。 2、在打开的【ODBC导入...原创 2018-08-02 16:38:52 · 11971 阅读 · 6 评论 -
Oracle:通过oracle sql developer工具导入excel数据
问题背景:有一张Excel表格,现在需要将里面的内容导入Oracle数据库。可以使用PLSQL Developer工具,也可以使用oracle sql developer工具。工具介绍:解决步骤:Excel内容如下:需要将Excel文件保存为csv格式的文件。第一步:新建数据库连接,并找到要导入数据的表表结构如下(表事先建好的):在oracle sql ...原创 2018-08-02 17:42:37 · 12261 阅读 · 0 评论 -
Oracle数据库密码过期,修改密码并设置永久有效
一、修改Oracle数据库密码二、设置密码永不过期1.查看用户的proifle是哪个,一般是default;SELECT username,PROFILE FROM dba_users2.查看对应的概要文件(如default)的密码有效期设置(一般默认为180天)SELECT * FROM dba_profiles s WHERE s.profile='DEFAUL...原创 2019-03-07 15:02:40 · 30180 阅读 · 0 评论 -
【linux】 Oracle AWR 报告的生成和分析
* 定义:awr报告是oracle 10g下提供的一种性能收集和分析工具,它能提供一个时间段内整个系统资源使用情况的报告,通过这个报告,我们就可以了解一个系统的整个运行情况,这就像一个人全面的体检报告。如何分析:* 在看awr报告的时候,我们并不需要知道所有性能指标的含义,就可以判断出问题的所在,这些性能指标其实代表了oracle内部实现,对oracle理解的越深,在看awr报告的时候,对数据库...原创 2019-07-12 14:58:54 · 636 阅读 · 0 评论 -
Oracle表的空间释放,碎片整理记录
oracle数据库碎片是如何产生的当生成一个数据库时,它会分成称为表空间(tablespace)的多个逻辑段(segment),如系统(system)表空间,临时(temporary)表空间等。一个表空间可以包含多个数据范围(extent)和一个或多个自由范围块,即自由空间(free space)。表空间、段、范围、自由空间的逻辑关系如下:当表空间中生成一个段时,将从表空间有效自由空间中为...原创 2019-10-08 16:42:23 · 1620 阅读 · 0 评论 -
二十一、oracle pl/sql分类一 存储过程
存储过程用于执行特定的操作,当建立存储过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分;通过使用输出参数,可以将执行部分的数据传递到应用环境。在sqlplus中可以使用create procedure命令来建立过程。实例如下:1.请考虑编写一个存储过程,可以输入雇员名,新工资,用来修改雇员的工资--根据雇员名去修改原创 2016-08-26 14:23:15 · 404 阅读 · 0 评论 -
二十二、oracle pl/sql分类二 函数
函数用于返回特定的数据,当建立函数时,在函数头部必须包含return子句。而在函数体内必须包含return语句返回的数据。我们可以使用create function来建立函数。 1)、接下来通过一个案例来模拟函数的用法--输入雇员的姓名,返回该雇员的年薪CREATE FUNCTION annual_incomec(uname VARCHAR2)RETURN原创 2016-08-26 14:37:35 · 397 阅读 · 0 评论 -
二十五、oracle pl/sql进阶--控制结构(分支,循环,控制)
一、pl/sql的进阶--控制结构在任何计算机语言(c,java,pascal)都有各种控制语句(条件语句,循环结构,顺序控制结构...),在pl/sql中也存在这样的控制结构。在本部分学习完成后,希望大家达到:1.使用各种if语句2.使用循环语句3.使用控制语句——goto和null(goto语句不推荐使用); 二、条件分支语句pl/sql中提供了三种条件分支语原创 2016-08-30 13:35:32 · 626 阅读 · 0 评论 -
二十六、oracle pl/sql 分页
一、无返回值的存储过程 古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解。首先是掌握最简单的存储过程,无返回值的存储过程。 案例:现有一张表book,表结构如下:书号、书名、出版社。CREATE TABLE book( ID NUMBER(4), book_name VARCHAR2(30), publishing V原创 2016-08-30 16:58:16 · 416 阅读 · 0 评论 -
二十七、oracle 例外
一、例外分类oracle将例外分为预定义例外、非预定义例外和自定义例外三种。1)、预定义例外用于处理常见的oracle错误。2)、非预定义例外用于处理预定义例外不能处理的例外。3)、自定义例外用于处理与oracle错误无关的其它情况。下面通过一个小案例演示如果不处理例外看会出现什么情况?编写一个存储过程,可接收雇员的编号,并显示该雇员的姓名。sql代码如下:原创 2016-08-31 09:32:42 · 432 阅读 · 0 评论 -
二十九、oracle 触发器
一、触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。然后,触发器的触发条件其实在你定义的时候就已经设定好了。这里面需要说明一下,触发器可以分为语句级触发器和行级触发器。详细的介绍可以参考网上的资料,简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发。而行级触发器则是在定义的了触发的表中的行数原创 2016-08-31 15:13:00 · 267 阅读 · 0 评论 -
SQL Server , Orcale 如何查询数据库或者表中的索引
SQL Sever数据库查询索引-- 查看某個表的索引SELECT * FROM sys.sysindexesWHERE id=object_id('RelactionGraph') -- 查看整個庫的索引SELECT * FROM sys.sysindexes -- 查看所有庫的索引IF object_id('tempdb..#')IS NOT NULL DROP TAB原创 2016-09-18 13:45:56 · 10805 阅读 · 0 评论 -
二十、oracle pl/sql基础
一、pl/sql developer开发工具pl/sql developer是用于开发pl/sql块的集成开发环境(ide),它是一个独立的产品,而不是oracle的一个附带品。 二、pl/sql介绍开发人员使用pl/sql编写应用模块时,不仅需要掌握sql语句的编写方法,还要掌握pl/sql语句及语法规则。pl/sql编程可以使用变量和逻辑控制语句,从而可以编写非常有用的功能模块原创 2016-08-26 13:57:58 · 426 阅读 · 0 评论 -
十九、oracle pl/sql简介
一、pl/sql 是什么pl/sql(procedural language/sql)是oracle在标准的sql语言上的扩展。pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。 二、为什么要学pl/sql1.提高应用程序的运行性能2.模块化的设计思想(分页的过程,订单的过程,原创 2016-08-26 13:42:29 · 379 阅读 · 0 评论 -
oracle基本sql语句和函数详解
一、oracle常用数据类型 一、 数据定义语言(ddl)数据定义语言ddl(data definition language)用于改变数据库结构,包括创建、更改和删除数据库对象。用于操纵表结构的数据定义语言命令有:create tablealter tabletruncate tabledrop tableeg、--创建tb_stu表数据原创 2016-09-18 16:07:18 · 3778 阅读 · 0 评论 -
二十三、oracle pl/sql分类三 包
包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。1)、我们可以使用create package命令来创建包,如:i、创建一个包sp_packageii、声明该包有一个过程update_saliii、声明该包有一个函数annual_income--声明该包有一个存储过程和一个函数create package sp_package is procedure u原创 2016-08-26 15:27:14 · 398 阅读 · 0 评论 -
二十四、oracle pl/sql 变量
一、变量介绍在编写pl/sql程序时,可以定义变量和常量;在pl/sql程序中包括有:1)、标量类型(scalar)2)、复合类型(composite) --用于操作单条记录3)、参照类型(reference) --用于操作多条记录4)、lob(large object) 二、标量(scalar)——常用类型1)、在编写pl/sql块时,如果要使用变量,需在定义部原创 2016-08-30 09:50:30 · 417 阅读 · 0 评论