首页 >>  正文

oracle修改表结构有数据

来源:baiyundou.net   日期:2024-09-23

服务器数据恢复环境:

一台IBM某型号服务器,4块SAS磁盘组建了一组RAID5磁盘阵列。服务器安装的windows server操作系统,上面运行了一个Oracle单节点,数据存储为文件系统,无归档。该oracle数据库的数据量不大,只有一个用户,使用默认的users表空间,users空间下只有一个不大的数据文件。

北亚企安数据恢复——RAID5数据恢复

服务器故障:

由于服务器超负荷运行,RAID5磁盘阵列出现问题。为了保证服务器能正常稳定运行,工作人员做了重建RAID的操作,在重建RAID过程中由于RAID中的一块磁盘出现故障,RAID初始化中止,少量数据被同步而破坏,但是RAID5磁盘阵列已经可以访问。

服务器操作系统虽然出现错误,但还能正常启动。oracle数据库所在D盘分区报错无法打开,工作人员做了chkdsk后能正常打开D盘分区,但oracle数据库无法启动。工作人员在D盘上重装了oracle数据库并导入了以前备份的dmp文件,但数据和出故障前的oracle数据库数据相差太多。

北亚企安数据恢复——RAID5数据恢复

服务器数据恢复过程:

1、将故障服务器中所有磁盘编号后取出,以只读方式进行全盘镜像备份,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。

2、基于镜像文件分析RAID。因为重建RAID会给数据造成严重的破坏,但经过对底层数据的分析发现重建的RAID的块大小、盘序都和原来的RAID一致。在初始化过程中仅同步了前面部分的少量数据,RAID数据损坏不大,数据库还没被破坏。

3、Chkdsk并不会破坏用户数据区,chkdsk只对文件系统元数据区进行修改。执行chkdsk操作后oracle数据库文件没有被破坏,最多只是文件的MFT或目录项被破坏。真正对数据破坏严重的操作是重装Oracle数据库和导入dmp文件,这一系列操作不仅对文件系统元数据区造成了破坏,还将用户数据区进行了覆盖。

4、基于镜像文件分析D盘的NTFS文件系统,发现所有原oracle数据文件的MFT均被覆盖,NTFS日志也被轮回覆盖,从NTFS元数据区找不到可利用信息。数据恢复工程师只能使用北亚企安自主研发的Oracle恢复程序对整个D盘分区进行恢复。

5、经过程序的扫描,发现Oracle实例为ANSORA,扫描出一个原始完整的控制文件和一个原始完整的undotbs表空间数据文件。重要的system和users表空间数据文件都被不同程度的破坏:其中system表空间的数据文件仅剩中后部的十多MB,原始文件应该约有几百MB;users表空间的数据文件有部分被覆盖,仅剩几

MB。提取出找到的数据,然后对损坏严重的数据库进行修复。

6、由于system表空间不可用,无法得到数据字典。经过沟通,用户方确认了有重要的三张表,从imp回去的数据库中获取到这三张表的结构,再从恢复users表空间的数据文件中找到对应的segment。但有一张表无法对应上,再次沟通得知这一张表有过更改字段的操作,北亚企安数据恢复工程师只能重新构建新的表结构对应上users表空间数据文件中segment,然后通过dul工具提取这三张表的数据。

7、提取完成数据后由用户方工程师进行验证,经过反复验证,用户方工程师确认恢复出来的数据有效。本次数据恢复工作完成。

北亚企安数据恢复

","gnid":"98dafbe6689685b57","img_data":[{"flag":2,"img":[{"desc":"","height":"350","title":"","url":"https://p0.ssl.img.360kuai.com/t01fea2ebb3e1b43579.jpg","width":"704"},{"desc":"","height":"710","title":"","url":"https://p0.ssl.img.360kuai.com/t0129e2d4ad62fed952.jpg","width":"1068"},{"desc":"","height":"436","title":"","url":"https://p0.ssl.img.360kuai.com/t011ba972394a7f6a59.jpg","width":"800"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"hbase","pub_time":1688708340000,"pure":"","rawurl":"http://zm.news.so.com/8db45d14098360f2712b600ea9cd6f04","redirect":0,"rptid":"0e727461b35aefc0","rss_ext":[],"s":"t","src":"数据恢复资讯","tag":[],"title":"windows server系统服务器RAID5数据恢复案例

柏须婕1373怎么建oracle的表格 -
宓店学13488846585 ______ 1.创建表: 创建表使用CREATE TABLE命令.执行这个命令时,必须有CREATE TABLE的系统权限.如果想在其他用户的方案下创建表,必须被赋予CREATE ANY TABLE的系统权限.创建表的语法如下: CREATE TABLE [schema.]table_...

柏须婕1373如何定义SQL主键 -
宓店学13488846585 ______ 建立SQL主键有两种方法:一种是在数据库提供的GUI环境中抄建立,另一种是通过SQL语句执行建立,下面分别介绍. 1.在数据库提供的GUI环境中建立(以SQL7为例)知. 输入表信息后按Ctrl键同时选中多行源码天空 ,然后点上面的主键按钮就行了. 2.通过SQL语句执行建立.又分两种,一是在建表道语句中直接写,二是建表之后更改表结构. 在建表语句中直接写: CreateTable表名(字段名1IntNotNull, 字段名2nvarchar(13)NotNullPrimaryKey(字段名1,字段名2), 字段名3字段名N) 建表之后更改表结构:

柏须婕1373Oracle中复合主键怎么写?有没有复合外键?
宓店学13488846585 ______ 复合主键写法:constraints PK_relation primary key(dept_id,staff_id) 复合外键写法:constraints FK_c_r_a_composite foreign key(dept_id,staff_id) references t_relation(dept_id,staff_id) 同意2楼说法,一般不这样写,除非有特殊的业务需求 ...

柏须婕1373用oracle创建一个表 -
宓店学13488846585 ______ 创建表语句 -- Create table create table CAPITAL_ADJUST ( CAPITAL_ID VARCHAR2(10), CAPITAL_NAME VARCHAR2(50), TYPE VARCHAR2(10), BELONG VARCHAR2(50), IN_DEP VARCHAR2(50), ID VARCHAR2(10) not null, IN_DEP...

柏须婕1373怎样更改oracle指定数据库文件位置 -
宓店学13488846585 ______ Oracle更改数据文件位置 方法一:offline表空间1、offline表空间:alter tablespace tablespace_name offline;2、复制数据文件到新的目录;3、rename修改表空间,并修改控制文件;4、online表空间;1、offline表空间zerone SQL> select name ...

柏须婕1373oracle和mysql数据库和用户的区别 -
宓店学13488846585 ______ 区别如下:一、并发性 并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定.mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据.虽然...

柏须婕1373查询oracle 数据库里有哪些表锁死 -
宓店学13488846585 ______ 用如下语句查询锁死的表:select p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username, b.os_user_name from v$process p, v$session a, v$locked_object b, all_objects c where p.addr = a.paddr and a.process = b.process and c.object_id = b.object_id;其中object_name就是被锁的表名,如图:

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024