oracle手工创建数据库-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

oracle手工创建数据库

简介:

1.       创建必要的相关目录

2.       创建初始化参数文件

3.       设置环境变量Oracle_sid 

4.       创建实例

5.       创建口令文件

6.       启动数据库到nomount(实例)状态

7.       执行建库脚本

8.       执行catalog脚本创建数据字典

9.       执行catproc创建package包

10.      执行pupbld

11.      由初始化参数文件创建spfile文件

12.      执行scott脚本创建scott模式

13.      用命令测试数据库创建是否完成

14.      配置EM,使得能够通过浏览器管理和控制数据库

Oracle的安装路径:C  创建的数据库名称:book 

book数据库的SYS用户初始密码:bookstore

需要配置EM资料库之后,才可以通过EM访问数据库(才可以出现DBConsole服务)。

1、打开命令行工具,创建必要的相关目录 

 

C:\>mkdir C:\oracle\product\10.2.0\admin\book

C:\>mkdir C:\oracle\product\10.2.0\admin\book\adump

C:\>mkdir C:\oracle\product\10.2.0\admin\book\bdump

C:\>mkdir C:\oracle\product\10.2.0\admin\book\cdump

C:\>mkdir C:\oracle\product\10.2.0\admin\book\dpdump

C:\>mkdir C:\oracle\product\10.2.0\admin\book\udump

C:\>mkdir C:\oracle\product\10.2.0\admin\book\pfile

C:\>mkdir C:\oracle\product\10.2.0\oradata\book

 

上面创建目录的过程也可以在Windows的图形界面中去创建。其中C:\oracle\product\10.2.0\admin\book目录下的几个子目录主要用于存放数据库运行过程中的跟踪信息。最重要的两上子目录是bdump和udump目录,bdump目录存放的是数据库运行过程中的各个后台进程的跟踪信息,当中alert文件是警告文件,其文件名称为alert_book.log,当数据库出现问题时,首先就可以去查看此文件以找出原因,手工创建过程中出现的各种问题往往也可以通过查看这个文件找到原因。Udump目录存放和特定会话相关的跟踪信息。C:\oracle\product\10.2.0\oradata\book目录存放各种数据库文件,包括控制文件、数据文件、重做日志文件。 

 

2、创建初始化参数文件 

 

数据库系统启动时须要用初始化参数文件的设置分配内存、启动必要的后台进程的。因此,初始化参数文件创建的是否正确、参数设置是否正确关系着整个建库的“命运”。 

 

可以拷贝现有的初始化参数文件并将其做适当的修改,没有必要用手工去一句一句地写出来,因为初始化参数文件的结构体系基本上都是一样的。在安装Oracle的时候,系统已经安装了一个名为orcl的启动数据库,于是可以从它那里得到一份初始化参数文件。找到C:\oracle\product\10.2.0\admin\orcl\pfile\init.ora文件,拷贝一份,粘贴到C:\oracle\product\10.2.0\db_1\database目录下,将其改名为:initbook.ora。并将其中的内容做如下更改:

dispatchers="(PROTOCOL=TCP) (SERVICE=bookXDB)"

 

audit_file_dest=C:\oracle\product\10.2.0/admin/book/adump

 

db_domain="" 

 

db_name=book 

 

control_files=("C:\oracle\product\10.21.0\oradata\book\control01.ctl","C:\oracle\product\10.2.0\oradata\book\control02.ctl", "C:\oracle\product\10.2.0\oradata\book\control03.ctl")

undo_management=AUTO 

 

undo_tablespace=UNDOTBS1 ――注意此处的“UNDOTBS1”要和建库脚步本中对应 

 

background_dump_dest=C:\oracle\product\10.2.0\admin\book\bdump

 

core_dump_dest=C:\oracle\product\10.2.0\admin\book\cdump

 

user_dump_dest=C:\oracle\product\10.1.0\admin\book\udump

 

3、打开命令行,设置环境变量oracle_sid 

 

C:\>set oracle_sid=book

 

设置环境变量的目地是在默认的情况下,指定命令行中所操作的数据库实例是book。 

 

4、创建实例(即后台控制服务) 

 

C:\>oradim–new –sid book 

 

oradim是创建实例的工具程序名称,-new表明执行新建实例,-delete表明执行删掉实例,-sid指定实例的名称。 

 

5、创建口令文件 

 

C:\>orapwdfile=C:\oracle\product\10.2.0\db_1\database\pwdbook.orapassword=bookstore entries=2 

 

orapwd是创建口令文件的工具程序各称,file参数指定口令文件所在的目录和文件名称,password参数指定sys用户的口令,entries参数指定数据库拥用DBA权限的用户的个数。 

 

请注意,这里的命令要一行输入,中间不得换行,否则会出现不必要的错误。 

 

口令文件是专门存放sys用户的口令,因为sys用户要负责建库、启动数据库、关闭数据库等特殊任务,把以sys用户的口令单独存放在口令文件中,这样数据库未打开时也能进行口令验证。 

 

6、启动数据库到nomount(实例)状态 

 

C:\>sqlplus/nolog 

 

SQL*Plus:Release10.1.0.2.0 - Production on 星期三6月29 23:09:35 2005 

 

Copyright1982,2004,Oracle. All rights reserved. 

 

SQL>connectsys/bookstore as sysdba ---这里是用sys连接数据库 

 

已连接到空闲例程 

 

SQL>startupnomount 

 

ORACLE 例程已经启动。 

 

Total SystemGlobal Area 319888364bytes 

 

Fixed Size453612bytes 

 

Variable Size209715200bytes 

 

DatabaseBuffers 109051904bytes 

 

Redo Buffers667648bytes 

 

SQL> 

 

7、执行建库脚本 

 

执行建库脚本,首先要有建库的脚本。编辑好以下的内容后,将其保存为文件名任取而后缀名为(*.sql)的SQL脚本,这里保存到C盘根本录下且文件名称为book.sql。 

 

Create database book 

controlfile reuse

datafile 'c:\oracle\product\10.2.0\oradata\book\system01.dbf'size 300M reuse autoextendon next 10240K maxsize unlimited extent management local 

sysaux datafile  'c:\oracle\product\10.2.0\oradata\book\sysaux01.dbf'

size 120Mreuse autoextend on next 10240K maxsize unlimited 

default temporary tablespace temp 

tempfile 'c:\oracle\product\10.2.0\oradata\book\temp01.dbf'size 20M reuse autoextend onnext 640K maxsize unlimited 

undo tablespace "UNDOTBS1" 

datafile 'c:\oracle\product\10.2.0\oradata\book\undotbs01.dbf'size 200M reuse autoextendon next 5120K maxsize unlimited

logfile group 1  ('c:\oracle\product\10.2.0\oradata\book\redo01.log')  size 10240K, 

     group 2  ('c:\oracle\product\10.2.0\oradata\book\redo02.log')  size 10240K, 

     group 3  ('c:\oracle\product\10.2.0\oradata\book\redo03.log')  size 10240K

character set zhs16gbk;

 

接着就执行刚建的建库脚本: 

 

SQL>start C:\book.sql 

8、执行catalog脚本创建数据字典 

SQL>start C:\oracle\product\10.2.0\db_1\rdbms\admin\catalog.sql

cat*.sql 脚本

该类脚本主要用于创建数据字典视图。其中,脚本catalog.sql 和catproc.sql 是创建数据库后必须要运行的两个脚本。

脚本

脚本说明

catalog.sql

创建系统常用的数据字典视图和同义词

catproc.sql

运行服务器端所需要的PL/SQL脚本

(1) catalog.sql 

该脚本创建相对于系统基表的视图和系统动态性能视图以及他们的同义词。该脚本又同时运行创建其他对象的脚本,主要有:

基本PL/SQL环境,包括PL/SQL的声明:

- 数据类型

- 预定义例外

- 内建的过程和函数

- SQL操作等

审计

导入/导出

SQL*Loader

安装选项

(2)catproc.sql

该脚本主要用于建立PL/SQL功能的使用环境。此外,还创建几个PL/SQL包用于扩展RDBMS功能。该脚本同时还为下面的一些RDBMS功能创建另外的一些包和视图:

警告(Alerts)

管道(Pipes)

日志分析(LogMiner)

大对象(Large objects)

对象(Objects)

高级队列(Advanced queuing)

复制选项( Replication option)

其他的一些内建包和选项(Other built-ins and options)

 

9、执行catproc创建package 建表空间,回退段,数据文件等信息

 

SQL>start C:\oracle\product\10.2.0\db_1\rdbms\admin\catproc.sql

 

10、执行pupbld作用  PUPBLD.SQL的作用是为SQL*PLUS服务。当在SQL*PLUS中以普通用户身份连接和使用数据库时,工具本身需要使用PRODUCTPROFILE的表和视图,我们需要登录system用户执行该SQL。

 

在执行pupbld之前要把当前用户(sys)转换成system,以system账户连接数据库。因为此数据库是刚建的,所以system的口令是系统默认的口令,即manager。你可以在数据库建好以后再来重新设置此账户的口令。 

SQL>connect system/manager 

 

SQL>start C:\oracle\product\10.2.0\db_1\sqlplus\admin\pupbld.sql

用以下语句将用户切换到SYS

Connect sys/bookstore as sysdba

11、由初始化参数文件创建spfile文件 

SQL>create spfile from pfile; 

 

12、执行scott脚本创建scott方案 

 

SQL>start C:\oracle\product\10.2.0\db_1\rdbms\admin\scott.sql

 

13、用以下命令测试数据库创建是否完成:

SQL>select * from scott.emp;

如果能够看到雇员信息正确显示,就说明数据库建立已完成。

 

 

如果希望book数据库的文件结构和orcl一致,可以进行以下几步:

C:\oracle\product\10.2.0\db_1\database\spfilebook.ora文件移动到C:\oracle\product\10.2.0\db_1\dbs目录下;

C:\oracle\product\10.2.0\db_1\database\initbook.ora文件删除;

C:\oracle\product\10.2.0\db_1\database\initorcl.ora文件拷贝一份,粘贴到C:\oracle\product\10.2.0\db_1\database目录下,并将其改名为initbook.ora。打开该文件,把内容更改为:SPFILE='c:\oracle\product\10.2.0\db_1/dbs/spfilebook.ora'

 

14.配置EM,使得能够通过浏览器管理和控制数据库

重新配置DBCONSOLE,需要输入DBSNMP密码,但任何密码都会显示错误,需要预先修改。

sql>alter user dbsnmp identified by bookstore;

退出SQL*Plus,在DOS提示符下输入以下内容:

CDC:\oracle\product\10.2.0\db_1\bin

Setoracle_sid=book

emca –repos recreate 配置资料库,为book数据库分配portlist.ini文件中的端口号.

 

emca –config dbcontrol  db 配置数据库的 Database  Control

 

emctl status dbconsole


本文转自 chenming421  51CTO博客,原文链接:http://blog.51cto.com/wnqcmq/1093367

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

分享: