开发者社区> 青夜之衫> 正文

如何彻底删除Oracle数据库,以创建相同实例名称的库

简介:
+关注继续查看

今天建库时选择了OMF方式,结果文件名称采用Oracle自动命名的方式,看不懂啊,于是乎决定删除再重建。

Oracle提供了删除数据库的指令:drop database。
需要数据库处于mount状态,然后alter system enable restricted session;,网上有帖子说还需要exclusive,由于我是VM装的,用户只有我一个,所以不用可以。由于当前处于open状态,需要改为mount,执行:

SQL> alter database close;
alter database close
*
ERROR at line 1:
ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected

原因是有个session仍连接,退出后再次执行,

SQL> alter database close;
Database altered.

SQL> select status from v$instance;
STATUS
------------
MOUNTED

SQL> alter system enable restricted session;
System altered.

SQL> select status from v$instance;
STATUS
------------
MOUNTED

SQL> drop database;
Database dropped.

此时alert.log记录信息:

Create Relation ADR_CONTROL
Create Relation ADR_INVALIDATION
Create Relation INC_METER_IMPT_DEF
Create Relation INC_METER_PK_IMPTS
USER (ospid: 8748): terminating the instance
Instance terminated by USER, pid = 8748
Deleted Oracle managed file /opt/app/ora11g/oradata/BISAL/controlfile/o1_mf_9x4fgq77_.ctl
Deleted Oracle managed file /opt/app/ora11g/flash_recovery_area/BISAL/controlfile/o1_mf_9x4fgypb_.ctl
Completed: drop database
Shutting down instance (abort)
License high water mark = 2
Fri Jul 25 19:09:26 2014
Instance shutdown complete

到oradata路径下看已经没有任何文件了,那么认为这个数据库已经被删除。
但再次执行dbca,企图创建相同实例的库时报错:

4


虽然和bisal实例关联的数据文件、日志文件等已经物理删除了,但和这实例相关的配置文件没有删除,因此不能再次创建相同实例的库。

此时需要手工删除实例相关的配置:
1、删除$ORACLE_BASE/admin/$ORACLE_SID所有目录。
2、删除$ORACLE_HOME/dbs下和SID相关的文件和参数文件,包括hc_bisal.dat,init.ora,lkBISAL,orapwbisal。
3、删除/etc/oratab中和实例相关的部分。
4、可以在$ORACLE_HOME中执行find . -name bisal,删除所有和实例相关的文件。

再次执行dbca,就可以创建相同实例名称的数据库了。

本文转自ICT时空 dbasdk博客,原文链接: 如何彻底删除Oracle数据库,以创建相同实例名称的库 ,如需转载请自行联系原博主。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Oracle 超时设置2:设置实例级参数
Oracle超时设置系列的第二篇文章,设置实例级参数
55 0
Oracle数据库 | SQL语句执行计划、语句跟踪与优化实例
Oracle数据库 | SQL语句执行计划、语句跟踪与优化实例
82 0
Oracle数据库 | Oracle备份实例
Oracle数据库 | Oracle备份实例
72 0
Oracle ---实例恢复
从Oracle数据库告警日志来看Oracle 的实例恢复
57 0
windows服务器下oracle数据库查看客户端安装位置,查看oracle数据库实例启用的端口号
windows服务器下oracle数据库查看客户端安装位置,查看oracle数据库实例启用的端口号
408 0
Oracle 数据库SQL语句查询oracle数据库表主键,查看oracle指定表的表结构实例演示
Oracle 数据库SQL语句查询oracle数据库表主键,查看oracle指定表的表结构实例演示
117 0
Oracle 数据库利用sql语句判断某个表是否是临时表实例演示,达梦数据库查询出所有临时表
Oracle 数据库利用sql语句判断某个表是否是临时表实例演示,达梦数据库查询出所有临时表
170 0
Oracle 数据库利用回收站恢复删除的表实例演示
Oracle 数据库利用回收站恢复删除的表实例演示
71 0
Oracle 数据库直接执行本地sql文件、sql脚本实例演示
Oracle 数据库直接执行本地sql文件、sql脚本实例演示
79 0
Python 技术篇-连接oracle数据库并执行sql语句实例演示,python连接oracle数据库oci详细配置方法
Python 技术篇-连接oracle数据库并执行sql语句实例演示,python连接oracle数据库oci详细配置方法
324 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
EasyDBforOracle— 基于阿里云的Oracle最佳实践
立即下载
Oracle云上最佳实践
立即下载
迁移 ORACLE 最佳实践
立即下载