今天在机器上安装了Oracle 11g,可惜磁盘空间不够,不能安装Oracle自带的缺省数据库。于是在安装完Oracle软件后,手动创建了一个Oracle数据库。具体步骤如下:
(1)使用oradim命令创建一个实例:
C:/Documents and Settings/carlwu>oradim -new -sid oracarl -intpwd oracle
实例已创建。
其中,oracarl为新数据库的sid,sys的初始密码为oracle,不采用操作系统验证。
(2)手动创建一个Oracle启动参数文件pfile,
文件名为initOracarl.ora,内容如下:
db_name='oracarl'
instance_name='oracarl'
memory_target=320M
processes = 50
audit_file_dest='D:/app/carlwu/admin/oracarl/adump'
audit_trail ='db'
db_block_size=4096
db_domain=''
db_recovery_file_dest='D:/app/carlwu/flash_recovery_area/oracarl'
db_recovery_file_dest_size=64M
diagnostic_dest='D:/app/carlwu/'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=100
#remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files = ('C:/carl/oradata/oracarl/CONTROL01.CTL', 'D:/carl_wu/oradata/oracarl/CONTROL02.CTL')
compatible ='11.1.0'
在上面的文件中,Oracle的数据库名为oracarl,总内存将占320M,控制文件有两个,分别位于C:和D:盘上。
(3)手动写一个创建数据库的SQL文件,保存为createDB.sql,以备后用,其内容如下:
Create database oracarl
maxinstances 4
maxloghistory 1
maxlogfiles 16
maxlogmembers 3
maxdatafiles 10
logfile group 1 'C:/carl/oradata/oracarl/redo01.log' size 10M,
group 2 'C:/carl/oradata/oracarl/redo02.log' size 10M
datafile 'C:/carl/oradata/oracarl/system01.dbf' size 50M
autoextend on next 10M extent management local
sysaux datafile 'C:/carl/oradata/oracarl/sysaux01.dbf' size 50M
autoextend on next 10M
default temporary tablespace temp
tempfile 'C:/carl/oradata/oracarl/temp.dbf' size 10M autoextend on next 10M
undo tablespace UNDOTBS1 datafile 'C:/carl/oradata/oracarl/undotbs1.dbf' size 20M
character set ZHS16GBK
national character set AL16UTF16
user sys identified by sys
user system identified by system
注意上面文件中的临时表空间的名字应该和上面pfile中的名字保持一致,均为UNDOTBS1。
(4)在MS DOS中,执行下面命令创建数据库:
C:/Documents and Settings/carlwu>set ORACLE_SID=oracarl
C:/Documents and Settings/carlwu>sqlplus /nolog
SQL*Plus: Release 11.1.0.6.0 - Production on 星期三 9月 24 17:12:07 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
SQL> conn sys/oracle as sysdba
已连接到空闲例程。
SQL> startup pfile='C:/carl/oradata/oracarl/initOracarl.ora' nomount;
ORACLE 例程已经启动。
Total System Global Area 334786560 bytes
Fixed Size 1333032 bytes
Variable Size 197134552 bytes
Database Buffers 130023424 bytes
Redo Buffers 6295552 bytes
(使用pfile启动到nomount状态,下面将执行createDB.sql创建数据库)
SQL> @C:/carl/oradata/oracarl/createDB/createDB.sql;
;
数据库已创建。
(5)执行安装后脚本
执行%ORACLE_HOME%/rdbms/admin/catalog.sql脚本创建数据字典基表和数据字典视图;
运行%ORACLE_HOME%/rdbms/admin/catproc.sql脚本安装Oracle系统包;
运行ORACLE_HOME%/sqlplus/admin/pupbld.sql脚本安装PRODUCT_USER_PROFILE表。
SQL>@%ORACLE_HOME%/rdbms/admin/catalog.sql;
SQL> @%ORACLE_HOME%/rdbms/admin/catproc.sql;
SQL> @%ORACLE_HOME%/sqlplus/admin/pupbld.sql;
等这些脚本运行完成后,执行下面的SQL创建spfile,Oracle强烈建议使用spfile而不是pfile。
SQL> create spfile from pfile='C:/carl/oradata/oracarl/createDB/initOracarl.ora';
文件已创建。
这是,我们会发现%ORACLE_HOME%/database目录下(D:/app/carlwu/product/11.1.0/db_1/database)会多了一个SPFILE_SID.ORA(即SPFILEORACARL.ORA)的文件。下次启动时,Oracle会使用这个文件作为缺省启动参数文件。
(6)通过DBCA为数据库配置OEM(Oracle Enterprise Manager)
OEM是Oracle不可或缺的管理平台,在Oracle 10g和11g中,它可以让我们通过浏览器进行Oracle的远程管理。首先,在MS-Dos下键入DBCA,我们将会看到DBCA的启动界面,点击"Next"并选择配置我们刚才创建的数据库oracarl,输入用户名/口令(sys/oracle)并点击下一步。在第三步中,请选中“Enterprise Manager资料档案库",并点击下一步配置OEM。在我的机器上,Oracle提示”ORA-00838:TARGET_MEMORY不足"的错误,我选择忽略继续配置,等了好半天,Oracle终于配置完毕,最后提示DBCA配置失败。我也不理会这个错误,重新启动数据库和OEM。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 334786560 bytes
Fixed Size 1333032 bytes
Variable Size 197134552 bytes
Database Buffers 130023424 bytes
Redo Buffers 6295552 bytes
数据库装载完毕。
数据库已经打开。
SQL> host emctl stop dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.1.0.6.0
Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
https://mike:5500/em/console/aboutApplication
OracleDBConsoleoracarl 服务正在停止............
OracleDBConsoleoracarl 服务已成功停止。
SQL> host emctl start dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.1.0.6.0
Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
https://mike:5500/em/console/aboutApplication
Starting Oracle Enterprise Manager 11g Database Control ...OracleDBConsoleoracar
l 服务正在启动 ......................
OracleDBConsoleoracarl 服务已经启动成功。
(7)在Google浏览器Chrome中,输入https://mike:5500/em/console/aboutApplication地址,然后键入用户名/口令(sys/oracle)并作为sysdba登录,在接下来的页面中点击OK按钮,此时的界面如下,整个安装过程顺利结束。