表空间

Master Note for Transportable Tablespaces (TTS) -- Common Questions and Issues (Doc ID 1166564.1)

你离开我真会死。 提交于 2019-12-21 12:14:23
APPLIES TO: Oracle Database Cloud Exadata Service - Version N/A and later Oracle Database Cloud Service - Version N/A and later Oracle Database - Enterprise Edition - Version 9.2.0.1 and later Oracle Database - Standard Edition - Version 9.2.0.1 and later Oracle Database Cloud Schema Service - Version N/A and later Information in this document applies to any platform. PURPOSE This note gives you a single reference point from which to quickly find answers to common questions and issues for Transportable Tablespaces (TTS) from versions 9i through 12c. 本说明为您提供了一个参考点

Oracle备份恢复之热备份恢复及异机恢复

落花浮王杯 提交于 2019-12-21 09:00:17
原理: 数据库必须运行在归档模式下,否则备份没有意义。备份前冻结块头,使scn号不变化,然后cp物理文件,最后解冻块头。此过程dml语句可以正常执行,动作被写在日志文件里面,当解冻scn号后,日志文件中内容会自动写入数据文件。 流程: 1、全库备份: 1)alter database begin backup; 2)cp物理文件 3)alter database end backup; 脚本: spool /u01/oracle/jiaoben/bf2.sql select 'ho cp '||name||' /u01/oracle/rebei/' from v$datafile; spool off alter database backup controlfile to '/u01/oracle/rebei/control.ctl'; create pfile='/u01/oracle/rebei/initorcl.ora' from spfile; alter database begin backup; @/u01/oracle/jiaoben/bf2.sql alter database end backup; 2、表空间级备份: 1)alter tablespace <tablespace_name> begin backup; 2)cp表空间下数据文件 3)alter

ORA-01652:unable to extend temp segment by num in tablespace name

混江龙づ霸主 提交于 2019-12-21 07:13:08
ORA-01652:unable to extend temp segment by num in tablespace name  产生原因:ORACLE临时段表空间不足,因为ORACLE总是尽量分配连续空间,一但没有足够的可分配空间或者分配不连续就会出现上述的现象。      解决方法:我们知道由于ORACLE将表空间作为逻辑结构-单元,而表空间的物理结构是数据文件,数据文件在磁盘上物理地创建,表空间的所有对象也存在于磁盘上,为了给表空间增加空间,就必须增加数据文件。先查看一下指定表空间的可用空间,使用视图SYS.DBA_FREE_SPACE,视图中每条记录代表可用空间的碎片大小:       SQL>Select file_id,block_id,blocks,bytes from sys.dba_free_space where tablespace_name=’’;       返回的信息可初步确定可用空间的最大块,看一下它是否小于错误信息中提到的尺寸,再查看一下缺省的表空间参数:       SQL>SELECT INITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENTS,PCT_INCREASE FROM SYS.DBA_TABLESPACES WHERE TABLESPACE_NAME=name;      

Oracle事务和常用数据库对象

孤者浪人 提交于 2019-12-20 22:50:40
博文结构 事务的使用 索引的使用 视图的作用 序列、同义词的使用 分区表的概念 一.事务 Oracle通过事务来保证数据库中数据的一致性。 事务的含义 事务就是业务上的一个逻辑单元,它能够保证其中对数据所有的操作要么全部成功,要么全部失败 事务开始于一条可执行的SQL语句,继续执行事务主体,然后结束于以下的任意一种情况。 显式提交(commit): 当事务遇到cormmit指令时,将结束事务并永久保存所有更改的数据。 显式回滚(ollback); 当事务遇到rollback指令时,也将结束事务的执行,但是此时它回滚 所有更改的数据到事务开始时的原始值,即取消更改。 DDL语句:一旦用户执行了DDL (Data DefinitionLanguage,数据定义语言,如 CREATE. DROP 等)语句,则之前所有的DML (Data Manipulation Language,数据操作语言)操作将作为一 个事务提交.这种提交称为隐式提交。 正常结束程序:如果Oracle数据库应用程序正常结束,如使用SQL Plus工具更改了数据, 而正常退出该程序(输入"exit"), 则Oracle 自动提交事务。 非正常地结束程序:当程序崩溃或意外中止时,所有数据更改都被回滚,这种回滚称为隐 式回滚。. 事务的特点 事务的四个特性,即原子性(Atomicity). - 致性

oracle运行机制

不问归期 提交于 2019-12-20 18:18:51
我们从一个用户请求开始讲,ORACLE的完整的工作机制是怎样的,首先一个用户进程发出一个连接请求,如果使用的是主机命名或者是本地服务命中的主机名使用的是机器名(非IP地址),那么这个请求都会通过DNS服务器或HOST文件的服务名解析然后传送到ORACLE监听进程,监听进程接收到用户请求后会采取两种方式来处理这个用户请求,下面我们分专用服务器和共享服务器分别采用这两种方式时的情况来讲: 专用服务器模式下: 一种方式是监听进程接收到用户进程请求后,产生一个新的专用服务器进程,并且将对用户进程的所有控制信息传给此服务器进程,也就是说新建的服务器进程继承了监听进程的信息,然后服务器进程给用户进程发一个RESEND包,通知用户进程可以开始给它发信息了,用户进程给这个新建的服务器进程发一个CONNECT包,服务器进程再以ACCEPT包回应用户进程,致此,用户进程正式与服务器进程确定连接。我们把这种连接叫做HAND-OFF连接,也叫转换连接。 另一种方式是监听进程接收到用户进程的请求后产生一个新的专用服务器进程,这个服务器进程选用一个TCP/IP端口来控制与用户进程的交互,然后将此信息回传给监听进程,监听进程再将此信息传给用户进程,用户进程使用这个端口给服务器进程发送一个CONNECT包,服务器进程再给用户进程发送一个ACCEPT包,致此,用户进程可以正式向服务器进程发送信息了

ORACLE ORA-01653: unable to extend table 的错误

[亡魂溺海] 提交于 2019-12-20 11:30:39
ORACLE ORA-01653: unable to extend table 的错误 今天用PL SQL Developer往oracle数据库中导入数据时,突然报错,只能终止,错误的具体内容如下: ORA-01653: unable to extend table MSMS.DA_ALARM_DN_DETAIL by 128 in tablespace MSMS 大概意思是说MSMS表空间不足了,于是google了一下,大概有了些眉目。出现这种表空间不足的问题一般有两种情况:一种是表空间的自动扩展功能没有开;另一种是空间确实不够用了,已经达到了自动扩展的上限。 所以我们解决问题的步骤就是先查看Oracle数据库表空间大小,然后看一下表空间下的所有的数据文件的自动扩展功能是否打开;若确实是表空间不够用了,那么我们就需要扩大表空间了。 具体步骤如下: 在PL SQL Developer中执行如下SQL语句 SELECT a.tablespace_name "表空间名", a.bytes / 1024 / 1024 "表空间大小(M)", (a.bytes - b.bytes) / 1024 / 1024 "已使用空间(M)", b.bytes / 1024 / 1024 "空闲空间(M)", round(((a.bytes - b.bytes) / a.bytes) * 100,

oracle备份与恢复

笑着哭i 提交于 2019-12-20 07:24:54
Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 导出/导入(Export/Import)   利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。 1、 简单导出数据(Export)和导入数据(Import)   Oracle支持三种方式类型的输出:   (1)、表方式(T方式),将指定表的数据导出。   (2)、用户方式(U方式),将指定用户的所有对象及数据导出。   (3)、全库方式(Full方式),瘵数据库中的所有对象导出。   数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。 2、 增量导出/导入   增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。   增量导出包括三种类型:   (1)、“完全”增量导出(Complete)   即备份三个数据库,比如:   exp system/manager inctype=complete file

oracle之检查点(Checkpoint)

不羁的心 提交于 2019-12-20 02:16:57
检查点是一个数据库事件,它把修改数据从高速缓存写入磁盘,并更新控制文件和数据文件。 检查点分为三类: 1)局部检查点:单个实例执行数据库所有数据文件的一个检查点操作,属于此实例的全部脏缓存区写入数据文件。 触发命令: svmrgrl>alter system checkpoint local; 这条命令显示的触发一个局部检查点。 2)全局检查点:所有实例(对应并行数据服务器)执行数据库所有所有数据文件的一个检查点操作,属于此实例的全部脏缓存区写入数据文件。 触发命令 svrmgrl>alter system checkpoint global; 这条命令显示的触发一个全局检查点。 3)文件检查点:所有实例需要执行数据文件集的一个检查点操作,如使用热备份命令alter tablespace USERS begin backup,或表空间脱机命令alter tablespace USERS offline,将执行属于USERS表空间的所有数据文件的一个检查点操作。 检查点处理步骤: 1)获取实例状态队列:实例状态队列是在实例状态转变时获得,ORACLE获得此队列以保证检查点执行期间,数据库处于打开状态; 2)获取当前检查点信息:获取检查点记录信息的结构,此结构包括当前检查点时间、活动线程、进行检查点处理的当前线程、日志文件中恢复截止点的地址信息; 3)缓存区标识:标识所有脏缓存区

Oracle 数据泵技术(expdp impdp)

只谈情不闲聊 提交于 2019-12-19 21:45:34
使用数据泵技术实现逻辑备份 逻辑备份概述 逻辑备份时创建数据库对象的逻辑副本,并存入一个二进制转储文件的过程。从本质上来讲逻辑备份与恢复实际就是对数据库事实数据的导入和导出。 导出: 导出就是数据库的逻辑备份,实质是读取一个数据库记录并将这个记录集写入一个文件(扩展名通常是dmp),这些记录的导出与物理位置无关 导入: 导入即数据库的逻辑恢复,实质是读取被导出的二进制转储文件并将其恢复到数据库。 使用数据泵技术导入/导出 数据泵(DATA PUMP)是一种在数据库之间或在数据库与操作系统之间高速传输数据的技术。数据泵工具运行在服务器上,数据库管理员需要指定数据库目录来保存转储的数据。 连接oracle 数据库 创建一个操作目录 授予用户操作dump_dir目录的权限 使用EXPDP命令导出数据(可以按照表导出,按照用户模式导出,按照表空间导出和全库导出),使用IMPDP命令导入数据(可以按照表导入,按照用户模式导入,按照表空间导出和全库导入)。 导出SCOTT用户下的emp和dept表 [oracle@dbserver~]$ expdp scott/oracle directory=dump_dir dumpfile=scotttab.dmp tables=emp,dept 导入emp表 [oracle@dbserver~]$ impdp scott/oracle

Oracle 高水位(HWM: High Water Mark) 说明

倾然丶 夕夏残阳落幕 提交于 2019-12-19 13:26:20
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一 . 准备知识: ORACLE 的逻辑存储管理 . ORACLE 在逻辑存储上分 4 个粒度 : 表空间 , 段 , 区 和 块 . 1.1 块 : 是 粒度最小的存储单位 , 现在标准的块大小是 8K ,ORACLE 每一次 I/O 操作也是按块来操作的 , 也就是说当 ORACLE 从数据文件读数据时 , 是读取多少个块 , 而不是多少行 . 每一个 Block 里可以包含多个 row. 1.2 区 : 由一系列相邻的块而组成 , 这也 是 ORACLE 空间分配的基本单位 , 举个例子来说 , 当我们创建一个表 Dave 时 , 首先 ORACLE 会分配一区的空间给这个表 , 随着不断的 INSERT 数据到 Dave, 原来的这个区容不下插入的数据时 ,ORACLE 是以区为单位进行扩展的 , 也就是说再分配多少个区给 Dave, 而不是多少个块 . 1.3 段 : 是 由一系列的区所组成 , 一般来说 , 当创建一个对象时 ( 表 , 索引 ), 就会分配一个段给这个对象 . 所以从某种意义上来说 , 段就是某种特定的数据 . 如 CREATE TABLE Dave, 这个段就是数据段 , 而 CREATE INDEX ON Dave(NAME), ORACLE 同样会分配一个段给这个索引 ,