如何手动创建oracle数据库

如何手动创建oracle数据库,第1张

创建数据库前,要做的工作:

1收集要设置的ORACLE_HOME路径 ORACLE_SID

2创建数据库需要的目录

按照下面的步骤创建:(以AIX系统为例,Linux差不多,但有些文件的路径和文件名不一样)

1编辑系统参数文件(AIX系统参数文件:profile) :vi profile文件 若是以前已添加过数据库的,则只需修改下ORACLE_SID=sg186fx(以我创建的数据库名为例);若是没有添加过关于数据的参数,则需要添加ORACLE_HOME,ORACLE_BASE等的路径。

我的“profile”文件中设置的路径:

ORACLE_BASE=/oracle;export ORACLE_BASE

ORACLE_HOME=/oracle/product/1020/db_1; export ORACLE_HOME

#ORA_CRS_HOME=/oracle/product/1020/crs; export ORA_CRS_HOME

SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$SHLIB_PATH

export SHLIB_PATH

LIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$LIBPATH

export LIBPATH

PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH:/oradata/quest/splex/bin; export PATH

export ORACLE_SID=sg186fx(这是在创建多个数据库,启动不同数据实例时需要修改的地方)

2修改完系统参数文件,可以退出登录,重新登录进来就可以生效了,或者使用“export ORACLE_SID=sg186fx”在当前会话中生效。

3创建数据库需要的目录

创建目录脚本

su – oracle

cd /oradata

rm –rf sg186fx

mkdir sg186fx

cd /oracle/admin

rm –rf sg186fx

mkdir sg186fx

cd sg186fx

mkdir adump bdump cdump dpdump udump pfile

这个脚本可以不断进行测试创建数据库目录的时候使用。

4创建oracle的启动参数文件——pfile或spfile

db_cache_size=4026531840

java_pool_size=16777216

large_pool_size=16777216

shared_pool_size=855638016

streams_pool_size=0

audit_file_dest='/oracle/admin/sg186fx/adump'

background_dump_dest='/oracle/admin/sg186fx/bdump'

compatible='102020'

control_files='/oradata/sg186fx/control01ctl','/oradata/sg186fx/control02ctl','/oradata/sg186fx/control03ctl'

core_dump_dest='/oracle/admin/sg186fx/cdump'

db_block_size=8192

db_domain=''

db_file_multiblock_read_count=16

db_name='sg186fx'

dispatchers='(PROTOCOL=TCP) (SERVICE=sg186fxdb)'

job_queue_processes=10

open_cursors=300

pga_aggregate_target=1639972864

processes=250

remote_login_passwordfile='EXCLUSIVE'

sessions=280

sga_target=4920967168

undo_management='AUTO'

undo_tablespace='UNDOTBS1'

user_dump_dest='/oracle/admin/sg186fx/udump'

使用上面设置的参数文件创建pfile的文件名问initsg186fxora

5创建密码文件

orapwd file=’orapwd$ORACLE_SID’ password=sys entries=20 force=y

file的参数需要指定路径的,他的创建位置应该在$ORACLE_HOME/dbs中,若是在当前目录下创建就不需要写上路径了。

password设置是数据库的sys用户的密码。

entries:DBA和 *** 作员的最大用户数

force=y 等号中间不能有空格的,这是表示存在该文件则进行强制重写。

6编写创建数据库脚本(非常重要的一步)

创建脚本请看脚本代码

查看创建数据库的必备的参数模板

在这个创建数据库脚本编写中可能会出现需要错误,将会在下篇重点分析,我在创建的过程中,出现过很多错误。

7使用命令登录:

sqlplus /nolog

connect / as sysdba(注意:在这一步连接的时候,数据库要创建一些跟踪文件:alert文件等,若是在第三步创建目录的时候使用的不是oracle用户角色创建的用户,则在这一步登录的时候,由于权限不够会出现错误:ORA-09925:Unable to create audit trail file,此时需要去检查下手动创建的目录的权限对不对)

startup nomount pfile=’$ORACLE_HOME/dbs/initsg186fxora’ 这一步启动数据库只加载启动参数文件的状态,并没有装载控制文件和数据文件

@/createdatabasesql 执行创建数据库脚本。

这一步很容易出错,出现最多的是:

2

alert日志显示的错误信息:

3

这个错误提示看不出有什么错误,因为他只是说脚本有错误,导致实例强制被终止。虽然报这个错误,但其他的文件将会正常的被创建,数据库还是不能运行的。所以要排除这个错误,重新创建数据库。必须去看alert日志来看哪个地方出现的错误。(我建议,在执行创建脚本的时候,重新打开一个窗口来监控alert日志,跟踪创建过程,很容易发现哪句话出现的错误。)

8创建 user表空间和索引表空间

9 若创建没有出现错误,则可以执行rdbms里面的一些创建数据字典的脚本

@/rdbms/admin/catalogsql

@/rdbms/admin/catprocsql

@/rdbms/admin/catexpsql

10重启数据库。

到此,数据库的基本创建工作完成。

简单的数据库建成后,如果需要使用全文检索功能,则还需要执行几个脚本。

请查看:全文检索配置方法

若想了解各种oracle自带的脚本,根据需要执行哪些脚本,请查看:oralce自带脚本说明

oracle手动创建数据库步骤如下所示:

1编写初始化参数文件

2设置 *** 作系统环境变量

3创建实例

4以管理员身份连接数据库

5启动实例

6create

database

创建数据库

7运行数据字典脚本

8Oracle的网络配置

(客户端连接到服务端)

初始化参数文件

从%ORACLE_HOME%\admin\sample\pfile从复制initsmplora文件,并黏贴到$ORACLE_HOME%\database目录下,改名为init<sid>假设改为initzhouytora(init为文本文件)

对initzhouytora内容进行修改

新增参数

instance_name=zhouyt

db_domain=hdueducn

修改参数

db_name=zhouyt

db_block_size=8192(8kM)

remote_login_passwordfile=exclusive

*** 作系统环境变量

设置 *** 作系统环境变量oracle_sid指向数据库实例的名称

set

oracle_sid=zhouyt

该命令在window

dos窗口下只对当前有效,当关闭窗口则失效,想要一直有效,则需要在系统环境变量中修改

创建实例

实用工具oradim使用

在DOS窗口输入命令

oradim

-new

-sid

zhouyt

-intpwd

sys123(sys的密码,sys是管理员)

-startmode

auto

sid是Oracle在 *** 作系统中的“身份z号码”

管理员身份连接数据库

sqlplus实用工具登录数据库

在DOS命令输入sqlplus/nolog

只是登录状态

以数据库管理员身份连接数据库

在上面的基础上输入命令

connect

sys/sys123

as

sysdba

因为以

数据库管理员身份

登录可以

安装数据库

启动实例

将文本初始化参数文件pfile转化为二进制初始化参数文件spfile

因为数据库启动需要找到配置文件,默认寻找二进制文件,也可以手动启动文本文件,那这一步就不需要了

输入命令

create

spfile

from

pfile;

(将会报错,因为文本文件比较老相对于Oracle

10g),

这个时候我们需要修改配置文件initzhouytora

这个时候在%ORACLE_HOME%\database文件下会生成SPFILEZHOUYTora文件

以nomount形式启动实例

命令

startup

nomount,将会出现错误,当我们按照提示修改文本文件以后,如果我们还是按照startup

nomount来启动的话,我们要生成相应的二进制文件来覆盖旧的二进制文件

并注释%seed_control%

create

databae

创建数据库

创建数据库脚本

三个文件

控制文件

数据文件

重做日志文件

create

database

zhouyt

datafile

'C:\oracle\product\1020\db_2\zhouyt\system_01dbf'

size

100m

Autoextend

on

next

10m

maxsize

unlimited

sysaux

datafile

'C:\oracle\product\1020\db_2\zhouyt\systemaux_01dbf'

size

60m

Autoextend

on

next

10m

maxsize

unlimited

logfile

group

1

('C:\oracle\product\1020\db_2\zhouyt\log_1_01rdo')

size

10m,

group

2

('C:\oracle\product\1020\db_2\zhouyt\log_2_01rdo')

size

10m

character

set

zhs16gbk;

需要确保目录文件"db_2\zhouyt"存在

生成两个数据文件和两个重做日志文件,那么控制文件呢?

运行数据字典脚本

__数据库创建后,系统会生成两个管理员用户sys和system

运行3个数据字典脚本

catalogsql

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

(sys登录);

catprocsql

建立PL/SQL功能的使用环境,还创建几个PL/SQL包用于扩展RDBMS功能

(sys登录);

pupbldsql

使用SQLPLUS环境时需要

(system登录)

在命令行输入@

加脚本文件的绝对路径

第二个脚本过程和第一个一样

执行第三个脚本需要切换到system用户

connect

system/manager

@

C:\oracle\product\1020\db_2\sqlplus\admin\pupbldsql

创建scott模式

@

C:\oracle\product\1020\db_2\RDBMS\ADMIN\scottsql

第一步 填写网络服务名填一个对自己能够起到标示的就可以,换言之随便起吧,只要自己记得住就可以。

第二步 选择TCP/IP协议然后next

第三步 填写主机名,这个主机名就填写自己本地电脑的主机名也就是你自己电脑的计算机名称。端口就选择默认的1521。

第四步 填写服务名,这个填写自己刚建立的数据库的名称。

第五步 测试,点击测试,d出测试窗口。在测试窗口,点击更改登录,用户名填写system口令就是你在建立数据库的时候填写的那个口令。然后确定在测试,填写正确的话,就会看到测试成功的消息。

第六步 点击完成。

手工建库须要经几步骤每步骤都非关键包括: 一、 创建必要相关目录 二、 创建初始化参数文件 三、 设置环境变量Oracle_sid 四、 创建实例 5、 创建口令文件 陆、 启数据库nomount(实例)状态 漆、 执行建库脚本 吧、 执行catalog脚步本创建数据字典 9、 执行catPRoc创建package包 一0、 执行pupbld 一一、 由初始化参数文件创建spfile文件 一二、 执行scott脚本创建scott模式

手动创建oracle10g数据库

以创建名为“MYNEWDB”为例

1 创建必须的文件和文件夹

(1)在D:\oracle\product\1020\admin下建MYNEWDB文件夹

在D:\oracle\product\1020\admin\MYNEWDB下建adump,bdump,cdump,udump文件夹

(2)在D:\oracle\product\1020\oradata下建MYNEWDB文件夹

(3)在D:\oracle\product\1020\db_1\database下建initMYNEWDBora文件,内容如下

MYNEWDB__db_cache_size=356515840

MYNEWDB__java_pool_size=4194304

MYNEWDB__large_pool_size=4194304

MYNEWDB__shared_pool_size=209715200

MYNEWDB__streams_pool_size=0

audit_file_dest='D:\oracle\product\1020/admin/MYNEWDB/adump'

background_dump_dest='D:\oracle\product\1020/admin/MYNEWDB/bdump'

compatible='102010'

control_files='D:\oracle\product\1020/oradata/MYNEWDB/\control01ctl','D:\oracle\product\1020/oradata/MYNEWDB/\control02ctl','D:\oracle\product\1020/oradata/MYNEWDB/\control03ctl'

core_dump_dest='D:\oracle\product\1020/admin/MYNEWDB/cdump'

db_block_size=8192

db_domain=''

db_file_multiblock_read_count=16

db_name='MYNEWDB'

db_recovery_file_dest='D:\oracle\product\1020/flash_recovery_area'

db_recovery_file_dest_size=2147483648

dispatchers='(PROTOCOL=TCP) (SERVICE=MYNEWDBXDB)'

job_queue_processes=10

open_cursors=300

pga_aggregate_target=192937984

processes=150

remote_login_passwordfile='EXCLUSIVE'

sga_target=579862528

undo_management='AUTO'

undo_tablespace='UNDOTBS1'

user_dump_dest='D:\oracle\product\1020/admin/MYNEWDB/udump'

2建议设置下ORACLE_HOME=D:\oracle\product\1020\db_1,因为下面在执行创建数据库时会自动执行$ORACLE_HOME\rdbms\admin\sqlbsq的脚本,不设怕找不到

3 创建实例

选择“程序-->运行”,输入“cmd”命令,打开DOS界面

(1)将环境变量ORACLE_SID设置为“MYNEWDB”

C:\SET ORACLE_SID=MYNEWDB

(2)利用ORADIM命令创建MYNEWDB数据库

C:\ORADIM -NEW -SID MYNEWDB -INTPWD MYNEWDB -STARTMODE MANUAL -PFILE D:\oracle\product\1020\db_1\database

注意:ORADMIN是Oracle提供的一个对实例进行管理的工具,可以创建、修改、删除、启动和关闭一个

4、连接并启动实例

1 C:\sqlplus /nolog

2 SQL>connect sys/mynewdb as sysdba;

3 SQL>startup nomount;

5、使用create database 语句创建数据库

1 SQL> create database MYNEWDB

2 maxlogfiles 10

3 maxlogmembers 5

4 maxdatafiles 20

5 maxloghistory 200

6 maxinstances 5

7 logfile

8 group 1 'D:\oracle\product\1020\oradata\mynewdb\redo01log' size 10m,

9 group 2 'D:\oracle\product\1020\oradata\mynewdb\redo02log' size 10m,

10 group 3 'D:\oracle\product\1020\oradata\mynewdb\redo03log' size 10m

11 datafile 'D:\oracle\product\1020\oradata\mynewdb\system01dbf' size 100m

12 sysaux datafile 'D:\oracle\product\1020\oradata\mynewdb\sysaux01dbf' size 50m

13 undo tablespace UNDOTBS1

14 datafile 'D:\oracle\product\1020\oradata\mynewdb\undo01dbf' size 40m

15 default temporary tablespace temp

16 tempfile 'D:\oracle\product\1020\oradata\mynewdb\temp01dbf' size 20m

17 extent management local uniform size 128k

18 character set ZHS16GBK

19 national character set AL16UTF16

注意:sysaux是创建10g数据库时必须的,创建9i可以不要

UNDOTBS1这个名字不能改成其他的,否则报错

在执行create database 语句的同时,自动执行$ORACLE_HOME\rdbms\admin\sqlbsq脚本,创建SYSTEM表空间和SYSTEM回退段、建立SYS和SYSTEM账号、建立数据字典基础表、建立数据字典索引、创建预定义角色等。

6、创建附加的表空间(未验证)

用create database语句创建的数据库中只有SYSTEM、UNDOTBS和TEMPTBS三个表空间,还需要创建其他

一些额外的表空间

1 SQL>create tablespace users

2 datafile 'd:\oracle\oradata\mynewdb\users01dbf' size 100M

3 reuse autoextend on next 1280K maxsize unlitited

4 extend management local;

5 SQL>create tablespace index

6 datafile 'd:\oracle\oradata\mynewdb\index01dbf' size 100M

7 reuse autoextend on next 1280K maxsize unlimited

extend management local;

8、运行脚本创建数据字典视图

执行两个脚本语句:

----用于创建数据字典视图,包括V$动态性能视图和它们的同义词,同时将授予PUBLIC角色对这些同义

词的访问权限

1 SQL>@D:\oracle\product\1020\db_1\rdbms\admin\catalogsql;

----用于建立对PL/SQL程序设计的支持

1 SQL>@D:\oracle\product\1020\db_1\rdbms\admin\catprocsql;

9、创建服务器初始化参数文件

1 SQL>create spfile from file='d:\oracle\product\1020\db_1\database\initMYNEWDBora';(未验证)

执行该语句将在$ORACLE_HOME\database 目录下创建名为spfileMYNEWDBora的服务器初始化参数文件

需要重启数据库

1 SQL>shutdown immediate;

2 SQL>connect sys/mynewdb as sysdba;

SQL>startup ;

最后注意的地方:因为我在创建数据库的时候没有提示我输入sys和system密码,所以下面我们还需要修改sys密码(就当忘设了),方法如下:

sqlplus /nolog;

connect / as sysdba

alter user sys identified by 新密码;

alter user system identified by 新密码;

以上就是关于如何手动创建oracle数据库全部的内容,包括:如何手动创建oracle数据库、oracle怎么创建数据库实例、如何创建本地的oracle 数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9385506.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存