oracle删除databse,9_Oracle_Admin_删除数据库并使用CREATE DATABASE命令手动创建数据库...

一、删除一个已有的数据库

/*=====DBCA删除法=====*/

[oracle@localhost ~]$ cd /oracle/11g/dbs

[oracle@localhost dbs]$ lshc_DBUA0.dat init.ora  mickey_orcl.ora  orapworcl     peshm_orcl_0

hc_mcky.dat  lkMCKY    old              peshm_DBUA0_0  spfilemcky.ora

# 之前用DBCA创建了一个数据库mcky

hc_orcl.dat  lkORCL    orapwmcky        peshm_mcky_0   spfileorcl.ora

[oracle@localhost dbs]$ dbca

#启动dbca来删除数据库

70cb261de9642b721d2b4be9e879fb7c.png

2b79978332167314423f0f01c8c79f56.png

29724abe72c488e8949c538c5ec19e10.png

/*=====手动删除=====*/

这是通过DBCA删除数据库的方式,事实上,也可以使用相应的命令手动删除数据库。

由于使用DBCA创建的数据库时遵循OFA规范的,因此它的数据库文件通常会放在几个不同的地方,首先,在$ORACLE_HOME/dbs目录下带SID的文件都是该数据库相关的参数文件:

[oracle@localhost dbs]$ ls | grep mckyhc_mcky.dat

orapwmcky

peshm_mcky_0

spfilemcky.ora

第二,在$ORACLE_BASE/oradata目录下有一个以SID命名的目录,也是该数据库相关的文件,也应该删除之

[oracle@localhost dbs]$ cd /oracle/oradata

[oracle@localhost oradata]$ lltotal 8

drwxr-x---. 2 oracle oinstall 4096 Sep  9 10:35 mcky

# SID为mcky的数据库的data files

drwxr-x---. 2 oracle oinstall 4096 Aug  5 18:29 orcl

第三,在$ORACLE_BASE/admin目录下也有一个以SID命名的目录,也需要将其删除

[oracle@localhost oradata]$ cd /oracle/admin

[oracle@localhost admin]$ lltotal 8

drwxr-x---. 5 oracle oinstall 4096 Sep  9 10:33 mcky

drwxr-x---. 5 oracle oinstall 4096 Aug  5 18:24 orcl

======删除过程======

[oracle@localhost admin]$ rm -fR mcky

[oracle@localhost admin]$ cd /oracle/oradata

[oracle@localhost oradata]$ lsmcky  orcl

[oracle@localhost oradata]$ rm -fR mcky

[oracle@localhost oradata]$ cd /oracle/11g/dbs

[oracle@localhost dbs]$ lshc_DBUA0.dat init.ora  mickey_orcl.ora  orapworcl     peshm_orcl_0

hc_mcky.dat  lkMCKY    old              peshm_DBUA0_0  spfilemcky.ora

hc_orcl.dat  lkORCL    orapwmcky        peshm_mcky_0   spfileorcl.ora

[oracle@localhost dbs]$ rm -f hc_mcky.dat lkMCKY orapwmcky spfilemcky.ora

[oracle@localhost dbs]$ rm -fR peshm_mcky_0

[oracle@localhost dbs]$ lshc_DBUA0.dat init.ora  mickey_orcl.ora  orapworcl     peshm_orcl_0

hc_orcl.dat  lkORCL    old              peshm_DBUA0_0  spfileorcl.ora

到这里,就手动删除了数据库。

二、手动创建数据库的概述

使用手动方式创建数据库,可以自行定制各种参数,但难度相应较大。

6536b6871331bcd3beab265f404248a8.png

详细的创建数据库步骤可查阅联机文档:

314f2de3c2414a60c41664d0be51733c.png

16fab726874b7687954de34dfbdddd81.png

手动创建数据库的步骤大致归纳如下:

4341b382451f3159e1779ddc31f3056b.png

8e78cae1a7aa765e4151fadde9e8c02e.png

1.指定SID

2.设置环境变量

3.确定DBA的认证方法(操作系统;基于口令的认证)

4.创建初始化参数文件

5.创建实例(仅针对Windows)

6.连接Instance

7.创建服务器参数文件

8.启动实例

9.运行CREATEDATABASE的指令

10.创建额外的表空间

11.建立数据字典

----------后面都是可选项----------

12.安装可选项

13.备份数据库

14.允许数据库实例自启动

三、手动创建一个数据库

a5730815e870ae7acc037b524e0d077a.png

ed5fac51783f1ee0bca51ca4c208551c.png

74d1009dba59045c94c4e4e87d99252a.png

[oracle@localhost ~]$ iduid=500(oracle) gid=500(oinstall)groups=500(oinstall),501(dba)

# 当前操作系统用户为oracle,属于dba组

context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[oracle@localhost dbs]$ env | grep ORAORACLE_SID=orcl

ORACLE_BASE=/oracle

ORACLE_HOME=/oracle/11g

# 当前的环境变量

======创建一个环境配置文件=========

[oracle@localhost dbs]$ vim wly.env

ORACLE_BASE=/oracle

ORACLE_HOME=$ORACLE_BASE/11g

ORACLE_SID=wly

ORACLE_NLS33=$ORACLE_HOME/nls/data

PATH=$ORACLE_HOME/bin:$PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_NLS33 PATHLD_LIBRARY_PATH

[oracle@localhost dbs]$ chmod +x wly.env

[oracle@localhost dbs]$ . ./wly.env

#执行环境变量,注意是两个点

[oracle@localhost dbs]$ env | grep ORAORACLE_NLS33=/oracle/11g/nls/data

ORACLE_SID=wly

ORACLE_BASE=/oracle

ORACLE_HOME=/oracle/11g

# 环境变量已经生效了

997977fcca994d94cfae9e5e91ea4e5a.png

=======创建初始化文件======

[oracle@localhost dbs]$ vim initwly.oradb_name='wly'

# 创建数据库需要大量的参数,这些参数的含义会在后文中介绍

# 这里只设置最简单的数据库名字,其他的参数都是以缺省值。

ed79be5917f0de521a8dc1ee45966234.png

这一步针对的是Windows平台,和本机环境不符,故略过。

b3dd6f18ea10dcca97fcc7c7769b194e.png

[oracle@localhost dbs]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Tue Sep 912:27:29 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn / as sysdbaConnected to an idle instance.

3cfa6c3d909b1a6b72c7dcaaac295deb.png

=======根据PFILE创建SPFILE========

SQL> create spfile from pfile;File created.

[oracle@localhost dbs]$ lshc_DBUA0.dat initwly.ora  mickey_orcl.ora  peshm_DBUA0_0   spfileorcl.ora

old  spfilewly.ora  hc_orcl.dat   lkORCL   peshm_orcl_0   wly.env

init.ora  orapworcl

b3b41fa3af2ad32285b669beed74545e.png

由于PFILE除了数据库名,没有设置任何参数,因此需要创建SPFILE,否则无法启动数据库

bdf379756c4e847d7276e6974cadf979.png

以NOMOUNT模式启动数据库,读取SPFILE

SQL> startup nomountORACLE instance started.

Total System Global Area 146472960 bytes

Fixed Size                 1335080 bytes

Variable Size             92274904 bytes

Database Buffers          50331648 bytes

Redo Buffers               2531328 bytes

[oracle@localhost dbs]$ ps -ef | grep oracleoracle    1276  1275  012:35 pts/0    00:00:00 -bash

root      1516     1  0Sep08 ?        00:00:00 login --oracle

oracle    9716  1276  012:42 pts/0    00:00:00 sqlplus

oracle   11437     1  001:37 ?        00:00:04/oracle/11g/bin/tnslsnr LISTENER -inherit

oracle   13117     1  012:51 ?        00:00:00 ora_pmon_wly

...

oracle   13145     1  012:51 ?        00:00:00 ora_mmon_wly

oracle   13147     1  012:51 ?        00:00:00 ora_mmnl_wly

# wly数据库的进程已经启动了

oracle   13148  9716  012:51 ?        00:00:00 oraclewly(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

oracle   13153  9716  012:52 pts/0    00:00:00 /bin/bash

oracle   1317213153  2 12:52 pts/0    00:00:00 ps -ef

[oracle@localhost dbs]$ ipcs# ipcs资源已经分配了

------ Shared Memory Segments --------

key        shmid      owner     perms      bytes      nattch    status

0x00000000 851968    oracle     600        393216     2         dest

------ Semaphore Arrays --------

key        semid      owner     perms      nsems

0x1ce603a0 3604482   oracle     660        104

------ Message Queues --------

key        msqid      owner     perms      used-bytes   messages

33353112dee2e9470303ee382839f5a2.png

SQL> create database wly;-- 这一步需要一定的时间,来创建一个几十,甚至上百兆的数据库

Database created.

至此,数据库就创建好了,可以查看到这个新建的数据库:

[oracle@localhost dbs]$ lltotal 240416

-rw-r-----. 1 oracle oinstall  7847936 Sep 9 12:57 cntrlwly.dbf

-rw-r-----. 1 oracle oinstall 81928192 Sep  9 12:56 dbs1wly.dbf

#  dbs1wly.dbf即为新创建的数据库相关文件

-rw-r-----. 1 oracle oinstall 10493952 Sep  9 12:56 dbu1wly.dbf

-rw-r-----. 1 oracle oinstall 40968192 Sep  9 12:56 dbx1wly.dbf

-rw-rw----. 1 oracle oinstall     1544 Sep 9 12:46 hc_DBUA0.dat

-rw-rw----. 1 oracle oinstall     1544 Sep 9 08:51 hc_orcl.dat

-rw-rw----. 1 oracle oinstall     1544 Sep 9 12:56 hc_wly.dat

-rw-r--r--. 1 oracle oinstall     2851 May 15  2009 init.ora

-rw-r--r--. 1 oracle oinstall       14 Sep 9 12:40 initwly.ora

-rw-r-----. 1 oracle oinstall       24 Aug 5 18:28 lkORCL

-rw-r-----. 1 oracle oinstall       24 Sep 9 12:56 lkWLY

-rw-r-----. 1 oracle oinstall 52429312 Sep  9 12:56 log1wly.dbf

-rw-r-----. 1 oracle oinstall 52429312 Sep  9 12:56 log2wly.dbf

-rw-r--r--. 1 oracle oinstall      723 Sep 9 07:37 mickey_orcl.ora

drwxr-xr-x. 2 oracle oinstall     4096 Sep 9 03:48 old

-rw-r-----. 1 oracle oinstall     1536 Sep 9 06:25 orapworcl

drwx------. 2 oracle oinstall     4096 Sep 9 10:19 peshm_DBUA0_0

drwx------. 2 oracle oinstall     4096 Aug 5 18:25 peshm_orcl_0

drwx------. 2 oracle oinstall     4096 Sep 9 12:51 peshm_wly_0

-rw-r-----. 1 oracle oinstall     2560 Sep 9 07:46 spfileorcl.ora

-rw-r-----. 1 oracle oinstall     1536 Sep 9 12:51 spfilewly.ora

-rwxr-xr-x. 1 oracle oinstall      255 Sep 9 12:39 wly.env

[oracle@localhost dbs]$ cd /oracle/oradata

[oracle@localhost oradata]$ lltotal 4

drwxr-x---. 2 oracle oinstall 4096 Aug  5 18:29 orcl

# 这里只有一个orcl目录,而没有创建wly目录,是因为初始化参数太简陋了,并没有遵循OFA规范。

91805d8421089a8a1339d4b4087d73f5.png

手动创建数据库的过程到这里就结束了,尽管这个数据库由于参数过于简单而无法应用于实际生产环境中,但更复杂更完善的数据库也就是在上述过程的基础上增加参数和命令选项完成的,这需要对数据库有更为深刻的认识,后文中将陆续介绍各种参数的设置方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值