1.创建一个实验用的表空间并在此表空间上创建表 create tablespace blocktest datafile '/u01/oradata/bys1/blocktest.dbf' size 1m; col name for a40 select file#,name from v$datafile;      FILE# NAME ---------- ----------------------------------------          1 /u01/oradata/by…
初始Oracle时很难理解其中的物理结构和逻辑结构,不明白内存中和硬盘中文件的区别和联系,我也是初学Oracle,这里就简单的谈谈我我看法. 首先,你需要明白的一点是:数据库的物理结构是由数据库的操作系统文件所决定,每一个Oracle数据库是由三种类型的文件组成:数据文件.日志文件和控制文件.数据库的文件为数据库信息提供真正的物理存储. 每一个Oracle数据库有一个或多个物理的数据文件(data file).一个数据库的数据文件包含全部数据库数据.逻辑数据库结构(如表.索引等)的数据物理地存储…
之前没有仔细想过这个问题,因为总是不会用到,也没有犯过类似错误. 顺便提一下学习方法吧. 卤肉的学习方法是:常用知识点,熟悉理论并反复做实验,深入理解:不常用的知识点,相关内容都了解大概,遇到问题时想得起来能知道去哪里查就可以:所有知识点都必须要用实验验证,否则学习效果会大打折扣,光看书或看视频是没有用的,我保证一个月之后,你忘记的干干净净的,哈哈. 比如今天这个问题,卤肉看到报错就会想到可能是数据文件大小和限制规则冲突了,因为以前了解过相关的知识点,有点印象,于是上网去google一下,果然如…
ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块  --指定文档所有部门都能查看 declare cursor TABLE_DEPT and STATUS>-; begin for c in TABLE_DEPT loop INSERT INTO G_KNOWDOCRIGHT(RID,DIRID,DOCID,USERID) VALUES(SYS_GUID(),'权限编号','文档编号',c.ID); end loop; commit;…
背景:某客户Oracle 10g 的DG由于空间不足,之前将部分数据文件迁移到其他目录,如今原目录扩容成功,要将之前迁移的数据文件再次迁移回来. 环境:Oracle 10.2.0.5 DG 单机 首先想到的是10gDG是在mount模式下应用的,在测试环境可以很容易的模拟下这个需求实现的过程: 1.查询当前DG的状态 2.停止DG应用 3.备份copy副本到新目录并切换 4.删除之前的目录并开启应用 1.查询当前DG的状态 查询当前DG的状态: Connected to: Oracle Data…
服务器系统为 windows 2008 R2 64位,由于C盘空间将满,要将C盘的oracle的DBF数据文件迁移到D盘下,步骤如下: 1.输入cmd,启动 cmd.exe窗口 2.输入 sqlplus /nolog 3.输入 conn sys/sys@orcl as sysdba 4.输入sql:select name from v$datafile; 查看相关data文件存放路径 5. shutdown immediate 关闭 6. startup mount; 7. alter data…
一.背景 系统: 主库:rhel 6.4 64bit 备库:rhel 6.4 64bit   内存:2G [oracle@dgdb1 ~]$ free -m total used free shared buffers cached Mem: 1863 1176 686 0 13 896 -/+ buffers/cache: 266 1596 Swap: 2047 78 1969   ip分配: 主库:192.168.12.50 dgdb1 备库:192.168.12.51 dgdb2   主库…
背景:          同事误删除线上数据.所以须要从备份中找回数据恢复. 真实屋漏偏逢连夜雨.船迟又遇打头风.前两天备份的磁盘坏块,如今仅仅有rman全备的.bak文件,没有控制文件和參数文件,所以如今须要考虑的是怎样依据bak文件在备份数据库上恢复数据,从中找出被误删的数据. 1 通过catalog start with''的方式来恢复 1.1手动创建控制文件 CREATE CONTROLFILE REUSE set DATABASE"powerdes" RESETLOGS AR…
1异常出现      8月30日下午2时左右,接同事电话,说数据库异常宕机了,现在启动不了. 2初步分析 我让现场把alert.log发过来,先看看是什么问题.   关于ORA-00353和ORA-00334,先查一查是什么错误:   根据上述信息可知,30日10点39分,在进行crash recovery时,REDO03.LOG文件的block=3759889处存在corruption block(坏块.属物理损坏,一般与介质异常与操作系统调用失败有关). 当发现坏块后,oracle后台进程将…
在误删除Oracle的数据文件后,如果未关闭数据库,文件句柄还没有释放,且被删除的数据文件占用的磁盘块未被复写,则可以利用句柄的方式来恢复数据文件.下面模拟恢复过程. (一)环境 OS版本:redhat 6.6 数据库版本:Oracle 11.2.0.1 (二)恢复操作 首先,模拟误删除数据库的数据文件.这里删除表空间TBS04下面的数据文件tbs04.bdf: 这个时候绝对不能关闭数据库,一旦关闭数据库,则无法恢复. 删除后查看DBWN进程,进程号为3032 进入这个进程的目录,可以看到我们删…