oracle被删除卸载了只剩非系统数据文件,现在重新安装了oracle11g如何恢复数据文件中数据

oracle被删除卸载了只剩非系统数据文件,现在重新安装了oracle11g如何恢复数据文件中数据,第1张

你已经说了是oracle11g,那么我就按照11g的做法来教你吧,和你确认几点东西,你前半句是想说明oracle被完全卸载了,只剩下数据库文件,dmp文件是吗?后半句是重新安装好了oracle11g,想要把数据库文件dmp文件恢复到oracle11g中,是吗?如果是这样,你可以这样做:

1,找到安装目录下的dpdump文件夹,将数据库文件dmp文件放进去。

2,运行DOS命令行,输入语句:impdp 用户名/密码@别名 dumpfile=dmp文件名dmp 回车

你先这样做,如果有报错再说吧,因为不知道你的数据库文件导出来的方式是什么方式,方式不同,语句也会有所不同。

删除表中的数据:

deletefrom表名;truncatetable表名;

删除表:

droptable表名;

删除数据库:

dropdatabase数据库名;

甲骨文股份有限公司(NASDAQ:ORCL,Oracle)是全球大型数据库软件公司。总部位于美国加州红木城的红木岸(RedwoodShores),现时首席执行官为公司创办人劳伦斯·埃里森(LawrenceJEllison)。

两种方式:

1、安装完oracle之后,所有程序里面有这样一个目录:Oracle-OraDb11g_home1

,选择其目录下的配置和移植工具,Database Configuration Assistant,调出对应的数据库配置助手,根据步骤可以创建、删除等 *** 作。

2、使用sysdba身份登录,drop database 数据库名。

1、选择“开始”—>“程序”—>Oracle-Oracle10g_home1—>配置和移植工具—>Database Configuration Assistant命令,启动DBCA,出现“欢迎使用”窗口;

2、单击“下一步”按钮,出现“ *** 作”窗口,并选择“删除数据库”;

3、单击“下一步”按钮,出现“数据库”窗口,在数据库列表中选择一个要删除的数据库,本例选择student;

4、单击“完成”按钮,出现确认是否继续窗口;

5、单击“是”按钮,出现自动删除数据库的过程窗口;

6、最后自动出现数据库删除完毕窗口,单击“是”按钮,数据库删除完毕。

以win7卸载oracle12c为例。1、关闭所有ORACLE服务。2、在安装目录下,找到 deinstallbat 文件并执行。如:D:\app\u01\product\1210\dbhome_1\deinstall 3、等待上述执行结束,重启电脑即可。

1、停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止

2、在开始菜单中,找到Universal Installer,运行Oracle Universal Installer,单击卸载产品

3、在产品清单窗口中,单击全部展开,除了OraDb11g_home1外,勾选其他项目,单击删除

 Oracle数据库卸载

方法/步骤

如果数据库配置了自动存储管理(ASM),应该先删除聚集同步服务CSS(Cluster Synchronization

Services)删除CSS服务的方法是在DOS命令行中执行如下命令: localconfig delete

在“服务”窗口中停止oracle的所有服务。

在“开始”菜单中依次选择“程序” / “Oracle-OraDb11g_home1” / "Oracle Installation Products"

/"Universal Install",打开Oracle Universal Installer(OUI)窗口。

单击“卸载产品”按钮,打开“产品清单”窗。选中要删除的Oracle产品, 单击“删除”按钮,打开“确认删除”对话框。

在“确认删除”对话框中单击“是”按钮,开始删除选择的Oracle产品。

删除自动存储管理(ASM),在DOS命令行中执行如下命令: oracle -delete -asnsid +asm

运行regedit命令,打开注册表窗口。删除注册表中与Oracle相关的内容,具体如下。★删除HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE目录。★删除HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services中所有以oracle或OraWeb为开头的键。★删除HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application中所有以oracle开头的键。★删除HKEY_CLASSES_ROOT目录下所有以Ora、Oracle、Orcl或EnumOra为前缀的键。★删除HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/

Explorer/MenuOrder/Start

Menu/Programs中所有以oracle开头的键。★删除HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINSTINI中

除Microsoft ODBC for Oracle注册表键以外的所有含有Oracle的键。其中有些注册表项可能在卸载Oracle产品的时候已经被删除。

删除环境变量中的PATH和CLASSPATH中包含Oracle的值。

删除“开始” / “程序” 中所有Oracle的组和图标。

删除所有和ORACLE相关的目录。 ★C:\app\asus\oradata ★C:\Program Files (x86)\Oracle

★C:\Users\asus\AppData\Roaming\PLSQL Developer ★ORACLE_BASE目录 ★C:DOcuments and

Setting \系统用户名\LocalSettings\Temp目录下的临时文件。

在对数据库进行 *** 作过程中我们可能会遇到这种情况 表中的数据可能重复出现 使我们对数据库的 *** 作过程中带来很多的不便 那么怎么删除这些重复没有用的数据呢?

重复数据删除技术可以提供更大的备份容量 实现更长时间的数据保留 还能实现备份数据的持续验证 提高数据恢复服务水平 方便实现数据容灾等 重复的数据可能有这样两种情况 第一种时表中只有某些字段一样 第二种是两行记录完全一样 Oracle数据库重复数据删除技术有如下优势 更大的备份容量 数据能得到持续验证 有更高的数据恢复服务水平 方便实现备份数据的容灾

一 删除部分字段重复数据

先来谈谈如何查询重复的数据吧

下面语句可以查询出那些数据是重复的

select 字段 字段 count() from 表名 group by 字段 字段 having count() >

将上面的>号改为=号就可以查询出没有重复的数据了

想要删除这些重复的数据 可以使用下面语句进行删除

delete from 表名 a where 字段 字段 in

(select 字段 字段 count() from 表名 group by 字段 字段 having count() > )

上面的语句非常简单 就是将查询到的数据删除掉 不过这种删除执行的效率非常低 对于大数据量来说 可能会将数据库吊死 所以我建议先将查询到的重复的数据插入到一个临时表中 然后对进行删除 这样 执行删除的时候就不用再进行一次查询了 如下

CREATE TABLE 临时表 AS

(select 字段 字段 count() from 表名 group by 字段 字段 having count() > )

上面这句话就是建立了临时表 并将查询到的数据插入其中

下面就可以进行这样的删除 *** 作了

delete from 表名 a where 字段 字段 in (select 字段 字段 from 临时表)

这种先建临时表再进行删除的 *** 作要比直接用一条语句进行删除要高效得多

这个时候 大家可能会跳出来说 什么?你叫我们执行这种语句 那不是把所有重复的全都删除吗?而我们想保留重复数据中最新的一条记录啊!大家不要急 下面我就讲一下如何进行这种 *** 作

在oracle中 有个隐藏了自动rowid 里面给每条记录一个唯一的rowid 我们如果想保留最新的一条记录

我们就可以利用这个字段 保留重复数据中rowid最大的一条记录就可以了

下面是查询重复数据的一个例子

select a rowid a from 表名 a where a rowid != ( select max(b rowid) from 表名 b where a 字段 = b 字段 and a 字段 = b 字段 )

下面我就来讲解一下 上面括号中的语句是查询出重复数据中rowid最大的一条记录

而外面就是查询出除了rowid最大之外的其他重复的数据了

由此 我们要删除重复数据 只保留最新的一条数据 就可以这样写了

delete from 表名 a where a rowid != ( select max(b rowid) from 表名 b where a 字段 = b 字段 and a 字段 = b 字段 )

随便说一下 上面语句的执行效率是很低的 可以考虑建立临时表 讲需要判断重复的字段 rowid插入临时表中 然后删除的时候在进行比较

create table 临时表 as select a 字段 a 字段 MAX(a ROWID) dataid from 正式表 a GROUP BY a 字段 a 字段 ; delete from 表名 a where a rowid != ( select b dataid from 临时表 b where a 字段 = b 字段 and a 字段 = b 字段 ); mit;

二 完全删除重复记录

对于表中两行记录完全一样的情况 可以用下面语句获取到去掉重复数据后的记录

select distinct from 表名

可以将查询的记录放到临时表中 然后再将原来的表记录删除 最后将临时表的数据导回原来的表中 如下

CREATE TABLE 临时表 AS (select distinct from 表名);truncate table 正式表; 注 原先由于笔误写成了drop table 正式表; 现在已经改正过来insert into 正式表 (select from 临时表);drop table 临时表;

如果想删除一个表的重复数据 可以先建一个临时表 将去掉重复数据后的数据导入到临时表 然后在从临时表将数据导入正式表中 如下

INSERT INTO t_table_bak select distinct from t_table;

三 怎样快速删除oracle数据库

最快的方法就进入注册表 在运行……里输入regedit

依次展开HKEY_LOCAL_MACHINE SOFARE

找到ORACLE节点 删除

然后删除ORACLE数据文件 安装的时候选的路径

lishixinzhi/Article/program/Oracle/201311/17162

以上就是关于oracle被删除卸载了只剩非系统数据文件,现在重新安装了oracle11g如何恢复数据文件中数据全部的内容,包括:oracle被删除卸载了只剩非系统数据文件,现在重新安装了oracle11g如何恢复数据文件中数据、oracle数据库删除命令、oracle 怎么删除数据库 drop database等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9787323.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存