oracle手动删除数据库
有时候,无法使用图形界面时,我们需要手动删除数据库,具体操作步骤如下:
一、手动删除文件系统数据库
1.停止监听,防止有新的连接产生,同时,在数据库配置了em的,也需要停止
$ lsnrctl stop listener_name
$ emctl stop dbconsole
2.获得数据文件,日志文件及控制文件的相关信息,包含归档
$ sqlplus /as sysdba
SQL>show parameter control
获取控制文件的路径
SQL>select file_name from dba_data_files;
获取数据文件的位置
SQL>select * from v$logfile;
获取日志文件的位置
SQL>archive log list;
获取归档日志的路径
SQL>shutdown immediate(abort);
关闭数据库,反正都要删除了,可以考虑用abort
3.启动到mount状态(使用exclusive restart)
SQL> startup mount exclusive restrict;
mount数据库到独占模式
SQL> show parameter instance;
查看是否是要删除的实例,这一步非常重要,。
4.修改参数为允许受限的会话模式
SQL>alter system enable restricted session;
5.使用drop database命令来清除数据库
SQL>drop database;
SQL>exit
6.手动清除相关文件
根据第2步查询的结果,删除相应的文件。
windows可以打开窗口,进入目录删除。linux可以使用rm删除
7.清除监听相关文件
11G以后,很多是动态注册的,所以不用考虑这一步。如果配置了静态监听的,需要删除listener.ora文件里的配置
8.修改oratab文件以及.bash_profile
二、清除ASM数据库
对于ASM数据库的删除与文件系统数据库的不同之处在于数据文件,控制文件,日志文件,参数文件等都是存放在ASM系统中,因此需要在ASM实例中做相应的动作来彻底清除数据库。
1.执行文件系统数据库清除步骤3-4步(先要shutdown)
2.使用drop database命令来清除数据库(该命令将清除数据文件,日志文件,temp文件)
SQL>drop database;
SQL>exit
3.连接到ASM实例
$ export ORACLE_SID=+ASM
$ sqlplus /as sysdba
4.清除残余文件
SQL>select name,file_number,group_number,file_incarnation from v$asm_alias;--查看文件,注意group_number表示位于不同的磁盘组
SQL>alter diskgroup ARCHDG1 drop directory '+ARCHDG1/asmdb/file_name'; --可以使用方式来删除需要删除的文件
SQL>alter diskgroup DATADG drop directory'+DATADG/asmdb/file_name';
SQL>select name,file_number,group_number,file_incarnation from v$asm_alias; --验证删除后的结果
也可以使用下面的方式(asmcmd命令)来删除残余文件
$ export ORACLE_SID=+ASM1
$ asmcmd
ASMCMD> ls -l
State Type Rebal Unbal Name
MOUNTED EXTERN N N ARCHDG1/
MOUNTED EXTERN N N DATADG/
ASMCMD> ls -s
Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
ARCHDG1/
DATADG/
ASMCMD> cd +ARCHDG1
ASMCMD> ls
ASMDB/
ASMCMD> rm -rf ASMDB
ASMCMD> ls
ASMCMD> cd +DATADG
ASMCMD> pwd
+DATADG
ASMCMD> ls
ASMCMD> cd +
ASMCMD> ls -s
Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
ARCHDG1/
DATADG/
对于直接位于磁盘组下的文件则同样可以使用rm命令来直接删除文件
5.清除其它文件
--$ORACLE_HOME/dbs/与该实例相关的文件;
--trace文件,这个根据版本不同,路径也不相同。11g为$ORACLE_BASE/diag/rdbms/sid_name 相关的实例目录
6.执行文件系统数据库清除步骤7-8步
转载自:datapeng原文链接:
http://blog.itpub.net/29371470/viewspace-2124984/
oracle手动删除数据库的更多相关文章
- 详解Oracle手动创建数据库几大步骤
在这里我们将介绍Oracle手动创建数据库几大步骤,包括前期的准备工作,以及具体的实施. Oracle手动创建数据库是本文介绍的重点,希望通过本文能帮助大家更好的利用Oracle.51CTO也向您推荐 ...
- ORACLE手工删除数据库
很多人习惯用ORACLE的DBCA工具创建.删除数据库,这里总结一下手工删除数据库实验的步骤,文中大量参考了乐沙弥的手动删除ORACLE数据库这篇博客的内容,当然还有Oracle官方相关文档.此处实验 ...
- 手动删除oracle数据库
--===================== -- 手动删除oracle数据库 --===================== 杀掉进程用此方法比较好,能保证杀得干净,而不是用sql 里面的语句ki ...
- oracle使用DataBase Configuration Assistant创建、删除数据库
可以使用DataBase Configuration Assistant来创建一个心得数据库.Database Configuration Assistant简称是DBCA,是创建.配置以及管理数据库 ...
- Oracle数据库管理之创建和删除数据库
转自:http://supportopensource.iteye.com/blog/678898 一.数据库管理概述 在完成Oracle软件安装后,DBA就应该对组织和管理数据库负责任,其主要任务是 ...
- Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间
Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一: 删除user drop ...
- OpenStack手动从数据库中删除实例 - ugyn109的专栏 - 博客频道 - CSDN.NET
由于某种原因我将OpenStack的一个计算节点移除了,但移除前并没有删除在其上运行的实例,后来想通过dash删除这些实例,于是N天过去了,我的dash还显示如下内容:很碍眼是不是?于是我打算手动从数 ...
- oracle删除数据库
1.确认当前数据库是否为要删除的那一个select name from v$database; 2.关闭数据库shutdown immediate; 3.以restrict方式重新打开数据库,并启动到 ...
- oracle创建、删除 数据库、建立表空间以及插入 删除 修改表
一.创建.删除数据库 oracle OraDb11g_home->配置和移植工具->Database configration Assistant->...然后可以创建或者删除数据 ...
随机推荐
- C++学习之DLL注入
#include<stdio.h> #include<Windows.h> #include<TlHelp32.h> //typedef unsigned long ...
- 你好,C++(40)7.1 一切指针都是纸老虎:彻底理解指针
第7章 C++世界的奇人异事 在武侠小说中,初入武林的毛头小子总是要遇到几位奇人,发生几件异事,经过高人的指点,经历一番磨炼,方能武功精进,从新手成长为高手.在C++世界,同样有诸多的奇人异事.在C+ ...
- 使用xshell出现乱码
用xshell链接Linux出现乱码: 解决方法: 先查看Linux支持的字符类型是否为如下类型 如果是,则找到菜单中的文件选项,并在选项中找到属性: 单击属性选项,找到终端,将编码设置为UTF-8: ...
- 跨控制器操作-thinkphp
用A函数 或者 $use=new IndexController(); A跨控制器 $data->A("Admin/Index")//admin下面的index控制器 $da ...
- WINFORM的DataGridView使用点滴
1.如果有超过一屏的数据,想通过关键字查找到相关记录,然后再定位之,做法如下:遍历所有行,把某单元格的值和关键字对比,找到后清除所有选择行,然后把当前行设为选择,然后把grid的CurrentCell ...
- Django models通过DateTimeField保存到MySQL的时间的时区问题
最近开始使用Django开发一些系统,在models.py中设置一些数据库表结构并给日期时间字段赋初值,不过在使用的过程中,遇到一点问题.问题是,我本来服务器使用的市区是“Asia/Shanghai” ...
- java 面试
115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...
- 如何删除windows服务(sc.exe删除和注册表删除两种方法)
一.什么是Windows服务 Windows服务也称为Windows Service,它是Windows操作系统和Windows网络的基础,属于系统核心的一部分,它支持着整个Windows的各种操作. ...
- 处理鼠标响应事件(最简单控件 good)
贴下代码: #ifndef MYWIDGET_H#define MYWIDGET_H #include <QWidget>#include <QtGui>#include &l ...
- linux浏览器,邮件客户端,输入法,双屏设置,应用软件,scrot -s截图,office
搜狗输入法linux版:http://pinyin.sogou.com/linux/help.php win/linux同时支持比较好用的浏览器:maxthon,firefox,maxthon,ope ...