手动创建一个数据库

1 要创建一个新的数据库,必须:

(1)创建一个特权用户(超越数据库),用以下两种方式之一:
a. 操作系统
b. 使用口令文件
(2)启动实例所需的充足内存
(3)有足够的磁盘空间

可以使用使用口令文件:

plaintext
1
> orapwd

oracle50

oracle50

2 创建口令文件并设值SID

sh
1
2
3
4
5
> orawpd file=d:\oracle\ora92\database\[fileName].ora password=admin entries=10;
> set oracle_sid=[userSid]
example:
> orawpd file=d:\oracle\ora92\database\pwdming.ora password=admin entries=10;
> set oracle_sid=ming

和代码内容不一致mm->ming,按照自己的文件名和SID设置即可

和代码内容不一致mm->ming,按照自己的文件名和SID设置即可

3 配置相关文件

  1. d:\oracle\ora92\admin 中的sample文件中复制到d:\oracle\admin下面,改名为[fileName],建议filename = [userSid],示例中的文件名是ming

  2. 编辑 ming文件夹下pfile\initsmple.ora,改名为 init.ora,并修改以下参数:

plaintext
1
2
3
4
5
6
7
db_name=[username] #username为上一步配置的[UserSid]
control_file=(“c:\oracle\oradate\[fileName]\control01.ctl”,”c:\oracle\oradata\[fileName]\contraol02.ctl”)
db_block_size = 8192
example:
db_name=[username] #username为上一步配置的[UserSid]
control_file=(“c:\oracle\oradate\ming\control01.ctl”,”c:\oracle\oradata\ming\contraol02.ctl”)
db_block_size = 8192

之后再注释掉以下几个属性

​ - text_enable

​ - job_queue_interval

​ - distributed_transactions.

到此属性修改完毕,保存之后复制当前文件~init.ora~

  1. 在 c:\oracle\database 创建文件夹[fileName]^我的文件名是“ming”^

  2. 把第二步复制的init.ora粘贴到 d:\oracle\ora92\database中,改名为

    initming.ora 文件名自定义,下一步会用到。

4 创建实例

sh
1
2
3
4
# [fileName]为3.4中的自定义文件名
> oradim –NEW-SID [userSid] -INTPWD admin -pfile c:\oracle\ora92\database\[fileName].ora
example:
> oradim –NEW-SID ming -INTPWD admin -pfile c:\oracle\ora92\database\initdyf.ora.

oracle52

oracle52

5 创建spfile(必须先启动实例)

win7为例启动实例在开始->控制面板->管理工具->服务,然后找到你创建的实例点击启动或重新启动即可。

sh
1
2
3
> conn sys/password as sysbdba
> shutdown immediate
> startup nomount pfile='c:\oracle\ora92\database\initming.ora'

oracle53

oracle53

plaintext
1
> create spfile='c:\oracle\ora92\database\spfileming.ora' from pfile='c:\oracle\ora92\database\initming.ora';
plaintext
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
> create database [databaseName]
Maxlogfiles 10
Maxdatafiles 1024
Maxinstances 2
Datafile ‘c:\oracle\oradata\ming\system01.dbf’size 50m
Logfile
Group 1 ’c:\oracle\oradata\ming\red001.ora’ size 10m,
Group 2 ’c:\oracle\oradata\ming\red002.ora’ size 10m;
example:
> create database ming
Maxlogfiles 10
Maxdatafiles 1024
Maxinstances 2
Datafile 'c:\oracle\oradata\ming\system01.dbf' size 50m
Logfile
Group 1 ('c:\oracle\oradata\ming\red001.ora') size 10m,
Group 2 ('c:\oracle\oradata\ming\red002.ora') size 10m;

spfile创建语句建议手打~~~直接复制很可能会报错

oracle54 同样的一句话,手打的就可以运行,复制的报错

oracle54 同样的一句话,手打的就可以运行,复制的报错

在创建数据库时尝试好几次会出现这个错误:

oracle55-错误一

oracle55-错误一

此时如果再继续创建的话,又会报如下错误:

oracle56-错误二

oracle56-错误二

如果是上图错误(错误二),则可以尝试删除C:\oracle\oradta\ming\中创建的文件再次尝试是否可以成功创建。