创建数据库前,要做的工作:
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 数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)