oracle表空间

oracle中rownum的理解

倾然丶 夕夏残阳落幕 提交于 2019-12-04 04:35:57
ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<、<=、!=),并非说用>,>=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来,其实您只要理解好了这个 rownum 伪列的意义就不应该感到惊奇,同样是伪列,rownum 与 rowid 可有些不一样,下面以例子说明 假设某个表 t1(c1) 有 20 条记录 如果用 select rownum,c1 from t1 where rownum < 10, 只要是用小于号,查出来的结果很容易地与一般理解在概念上能达成一致,应该不会有任何疑问的。 可如果用 select rownum,c1 from t1 where rownum > 10 (如果写下这样的查询语句,这时候在您的头脑中应该是想得到表中后面10条记录),你就会发现,显示出来的结果要让您失望了,也许您还会怀疑是不谁删了一些记录,然后查看记录数,仍然是 20 条啊?那问题是出在哪呢? 先好好理解 rownum 的意义吧。因为ROWNUM是对结果集加的一个伪列,即先查到结果集之后再加上去的一个列 (强调:先要有结果集)。简单的说 rownum 是对符合条件结果的序列号。它总是从1开始排起的

oracle rownum 用法

天涯浪子 提交于 2019-12-04 04:35:43
对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<、<=、!=),并非说用>,>=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来,其实您只要理解好了这个 rownum 伪列的意义就不应该感到惊奇,同样是伪列,rownum 与 rowid 可有些不一样,下面以例子说明 假设某个表 t1(c1) 有 20 条记录 如果用 select rownum,c1 from t1 where rownum < 10, 只要是用小于号,查出来的结果很容易地与一般理解在概念上能达成一致,应该不会有任何疑问的。 可如果用 select rownum,c1 from t1 where rownum > 10 (如果写下这样的查询语句,这时候在您的头脑中应该是想得到表中后面10条记录),你就会发现,显示出来的结果要让您失望了,也许您还会怀疑是不谁删了一些记录,然后查看记录数,仍然是 20 条啊?那问题是出在哪呢? 先好好理解 rownum 的意义吧。因为ROWNUM是对结果集加的一个伪列,即先查到结果集之后再加上去的一个列 (强调:先要有结果集)。简单的说 rownum 是对符合条件结果的序列号。它总是从1开始排起的。所以你选出的结果不可能没有1,而有其他大于1的值

Oracle的rownum原理和使用(分页相关)

五迷三道 提交于 2019-12-04 04:35:28
整理和学习了一下网上高手关于rownum的帖子: 参考资料: http://tech.ddvip.com/2008-10/122490439383296.html 和 http://tenn.javaeye.com/blog/99339 对于Oracle的rownum问题,很多资料都说不支持>,>=,=,between……and,只能用以上符号(<、& lt;=、!=),并非说用>,>=,=,between……and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来,其实您只要理解好了这个rownum伪列的意义就不应该感到惊 奇,同样是伪列,rownum与rowid可有些不一样,下面以例子说明:   假设某个表t1(c1)有20条记录。   如果用select rownum,c1 from t1 where rownum < 10,只要是用小于号,查出来的结果很容易地与一般理解在概念上能达成一致,应该不会有任何疑问的。    可如果用select rownum,c1 from t1 where rownum > 10(如果写下这样的查询语句,这时候在您的头脑中应该是想得到表中后面10条记录),你就会发现,显示出来的结果要让您失望了,也许您还会怀疑是不谁删 了一些记录,然后查看记录数,仍然是20条啊?那问题是出在哪呢?  

Oracle11g RAC+DG搭建

99封情书 提交于 2019-12-04 01:59:57
项目环境准备 3.1 虚拟机配置 版本选择 注意Linux操作系统。此次项目我选择的版本是Oracle Enterprise Linux 5.4 内存的设置 本人电脑物理内存8G,由于此次实验要开三台虚拟机,基于集群两台机需要的内存较大,故每台给2G,单实例做standby的给1.5G。 添加选择网卡类型 使用桥接方式容易引发IP冲突,所以我选择的是Host Only方式,避免IP冲突。 两个网卡使用分配: NAT:作Public IP Host Only:作Private IP 注意主机和虚拟机的防火墙要关闭,达到互信。 分配磁盘空间 在分配磁盘空间的时候不要立即分配,避免占用实际空间大小,可以分配给其他进程。这里我分配50G给根分区,选择将虚拟磁盘存储为单个文件,性能较好。 添加共享磁盘 添加3个共享磁盘,分别为asm1,asm2,asm3.(注意:共享磁盘不能建为本地磁盘),也就是说SCSI设置为1:n,而不是0:n。模式选择独立永久,立即分配磁盘,存储为单个文件方式。每个磁盘均给3G,用于存储数据库相关文件。 由上可知,做RAC需要一块本地硬盘,两块网卡,3个共享磁盘及OEL5.4的安装配置。 3.2 安装 OEL5.4 操作系统 这里不要全部选择,sdb,sdc,sdd三个作裸设备,格式sda即可。防止其他三个盘全部被系统占用。 主机名:rac1.example.com

Oracle 11g 使用exp命令 导出空表

眉间皱痕 提交于 2019-12-04 00:58:05
1、 Oracle 11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出。 2、设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment。 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 查看: SQL>show parameter deferred_segment_creation; 该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用。 3、可以使用手工为空表分配Extent的方式,来解决导出之前建立的空表的问题。说明如下: 3.1 使用ALLOCATE EXTENT的说明 使用ALLOCATE EXTENT可以为数据库对象分配Extent。其语法如下: ----------- ALLOCATE EXTENT { SIZE integer [K | M] | DATAFILE 'filename' | INSTANCE integer } ----------- 可以针对数据表、索引、物化视图等手工分配Extent。 ALLOCATE EXTENT使用样例: ALLOCATE EXTENT ALLOCATE EXTENT(SIZE integer [K | M])

oracle学习篇:九、性能诊断与SQL优化

戏子无情 提交于 2019-12-04 00:02:16
9.1 使用autotrace功能辅助sql优化 oracle sql*plus提供一个autotrace的功能,可以用于跟踪sql的执行计划,收集统计信息,通常被作为sql的优化工具之一而被广泛使用。 9.1.1 autotrace功能的启用 autotrace有几个常用选项,简单说明如下: set autotrace off:不生产autotrace报告,这是缺省模式; aet autotrace on explain:autotrace只显示优化器执行路径报告; set autotrace on statistics:只显示执行统计信息; set autotrace on:包含执行计划和统计信息; set autotrace traceonly:同set autotrace on,但是不显示查询输出。 9.1.2 autotrace功能的增强 9.1.3 autotrace功能的内部操作 当使用autotrace功能时,在数据库内部,oracle实际上是启动了2个session连接,一个session用于执行查询等操作,另外一个session用于记录执行计划和输出最终结果等操作。 这两个session都是由一个进程衍生。select * from v$process;一个进程在数据库中可能对应多个session。 主要的操作步骤如下: (1)执行计划的输出 (2)统计信息输出

Oracle闪回技术之一Oracle 11g 利用FlashTable (闪回表)恢复(用delete)误删的数据

ぐ巨炮叔叔 提交于 2019-12-03 18:20:58
闪回表,实际上就是将表中的数据快速恢复到过去的一个时间点或者系统改变号SCN上。实现表的闪回,需要用到撤销表空间相关的UNDO信息,通过SHOW PARAMETER UNDO命令就可以了解这些信息。用户对表的数据的修改操作,都记录在撤销表空间中,这为表的闪回提供的数据恢复的基础。 修改记录被提交到undo表空间中的默认保留时间为900秒,用户可以在这900秒的时间内对表的进行闪回操作,从而将表中的数据恢复的修改前的状态。 如上图显示的默认900秒,我们通过sql来修改这个默认时间为1200: flashtable的语法: flashback table [schema.]table_name to {[before drop [rename to new_table_name]] | [SCN | TIMESTAMP] expr [enable | desable] triggers} schema:模式名 table_name :表名 before drop 表示回复到删除之前 rename new_table_name 重新定义表名称 timestamp 时间戳,包括年月日时分秒 expr 制定一个值或表达式 enable triggers 触发器恢复后,呈启用状态 disabled triggers 触发器回复后,呈禁用状态,默认情况下为此选项。 下面演示一个示例:

Oracle 12c升级指南 【转载】

限于喜欢 提交于 2019-12-03 14:54:25
http://blog.itpub.net/26736162/viewspace-2639455/ 1. 概述 升级路线图 从18c开始,如果想要直接升级到Oracle 18c,对于源库版本要求越来越高了。Oracle已经彻底放弃了Oracle 11.2.0.3之前版本直接升级到18c。 具体升级路线,请查看下表 当前版本号 说明 12.2.0.1,12.1.0.1, 12.1.0.2 11.2.0.3, 11.2.0.4 支持直接升级到18c 11.2.0.1, 11.2.0.2 11.1.0.6, 11.1.0.7 10.2.0.2,10.2.0.3, 10.2.0.4 和10.2.0.5 10.1.0.5 9.2.0.8及更早版本 不支持直接升级到18c. 解决方法: 1) 只能先升级到支持直接升级到18c的中间版本,然后再次升级到18c 2) 使用数据泵直接将数据迁移到新版本数据库中 源库 过度版本 目标数据库版本 11.2.0.1/11.2.0.2 --> 11.2.0.3/11.2.0.4 --> 18.x 11.1.0.6/11.1.0.7 --> 11.2.0.3/11.2.0.4 --> 18.x 10.2.0.2, 10.2.0.3, 10.2.0.4, 10.2.0.5 --> 11.2.0.3/11.2.0.4/12.1.0.1/12.1.0.2 -->

Oralce 学习笔记

大憨熊 提交于 2019-12-03 11:06:50
1. Oracle 数据库文件后缀是什么格式? 数据文件是以oracle自定义的格式存储的,没有固定的后缀名,一般通用的为.dbf和.ora而默认是dbf的 2.Database Configuration Assistant 是干什么的? Database Configuration Assistant 是增删改查操作数据库的。 3.Oracle 默认账户有哪些? SYS SYSTEM DBSNMP SYSMAN 4. 全局数据库名称:LOCAL_DB 数据库配置类型:单实例 SID:LOCALDB 管理选项类型:Database Control 存储类型:文件系统 内存配置类型:自动内存管理 表空间: SYSTEM SYSAUX UNDOTBS1 TEMP 5. 数据库中表和表结构的迁移——从Oracle到MySql 原文: https://blog.csdn.net/quf2zy/article/details/79089646 来源: https://www.cnblogs.com/xingyunblog/p/11792654.html

ORACLE AUDIT

穿精又带淫゛_ 提交于 2019-12-03 05:16:19
Oracle 作者: Davis_itpub 时间:2018-06-27 16:28:39 61 0 审计(Audit)用于监视用户所执行的数据库操作,并且Oracle 会将审计跟踪结果存放到OS 文件(默认位置为$ORACLE_BASE/admin /$ORACLE_SID/adump/),或数据库(存储在system 表空间中的SYS.AUD$表中,可通过视图dba_audit_trail 查看)中。审计可以提供有用的信息,用于揭示权限的滥用和误用。当需要一定的粒度时,DBA 可以使用细粒度的审计来监控对表中某些行或列的访问,而不仅仅是是否访问表。 在oracle 11g 中,审计功能(AUDIT_TRAIL)是默认开启的。审计数据默认存放SYSTEM 表空间下的AUD$审计字典基表上。开启审计数据库会增加消耗,降低业务性能,因此,如果不是很必要,在安装好数据库后,可适当选择关闭数据库审计功能。 Oracle 公司还推荐使用基于OS 文件的审计日志记录方式(OSaudit trail files),当AUDIT_TRAIL 设置为OS 时,审计记录文件将在AUDIT_FILE_DEST 参数所指定的目录中生成。 一、审计类型 语句审计 按照语句类型审计SQL 语句,而不论访问何种特定的模式对象。也可以在数据库中指定一个或多个用户,针对特定的语句审计这些用户 权限审计