今天来探讨一下怎么
手工创建数据库:
建数据库的步骤:
第一步:
设置
os
变量:
$export ORACLE_HOME=/u01/app/oracle/product/ 10.2.0 /db_1
$export ORACLE_SID=nina
$export LD_LIBRARY_PATH=$ORACLE_HOME/lib
第二步:
保证有创建数据库的权限:
SQL.>conn / as sysdba
Sys
的默认密码是
change_on_install
System
的默认密码是
manager
第三步:创建
init.ora
文件,并保存在
$ORACLE_HOME/dbs
中(
unix
版本,在
windows
版本中是
$ORACLE_HOME/database
)
此处创建
init.ora
只是为了启动实例,因此无需设置太多的初始化参数,如需设置则在创建数据库之后再去设置即可。一个很好的方法是拷贝相类似的数据库中的
init.ora
,修改
sid
等关键参数即可使用。
一旦配置了初始化文件,就做好了创建实例的准备。
第四步:启动实例
为了创建数据库,必须首先启动实例:
Rac1>sqlplus /nolog
SQL*Plus: Release 10.2.0 .1.0 - Production on
星期四
10
月
29 22:00:43 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL>connect sys as sdba
Enter password:
Connected to an idle instance
因为现在还没有控制文件可以使用,所以必须以
nomount
的方式启动实例
SQL>startup nomount
或者
SQL>startup nomount pfile=’/u01/app/oracle/product/ 10.2.0 /db_1/dbs/initnina.ora’;
这个时候实例就使用
initnina.ora
里面的参数来启动了实例,并且后台进程也都能起来了。
[oracle@localhost]$ps �Cef |grep nina
同时,实例启动的动作都记录在日志文件中
[oracle@localhost]$ more /u01/app/oracle/admin/nina/bdump/alert_nina.log
里面显示了所有后台进程启动,所有初始化参数的配置等等信息
至此,我们得到了一个运行的数据库实例。
第五步:创建数据库
一个最简单的数据库包括:
一个
system
表空间,
一个
sysaux
表空间,
一对控制文件和
redo log
文件,
一个默认的临时表空间,
一个撤销表空间。
我们可通过脚本,或语句来创建一个较复杂的数据库:
CREATE DATABASE NINA --
此句提示按照
init.ora
创建
controlfile
;如果此前也有
--
同名称的
controlfile
,则可用
controlfile reuse
USER SYS IDENTIFIED BY SYS_PASSWORD
USER SYSTEM IDENTIFIED BY SYSTEM_PASSWORD
--
设定
2
个最重要的用户的密码
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 5
--
设置日志,实例等最大值
CHARACTER SET US7ASCII --
设置字符集
NATIONAL CHARACTER SET AL16UTF16
--
设置字符集
DATAFILE ‘/U01/APP/ORACLE/ORADATA/NINA/SYSTEM01.DBF’ SIZE 500M
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE ‘/U01/APP/ORACLE/ORADATA/NINA/SYSAUX01.DBF’ SIZE 500M
DEFAULT TEMPORARY TABLESPACE TEMP01
TEMPFILE ‘/U01/APP/ORACLE/ORADATA/NINA/TEMP01.DBF’ SIZE 200M
UNDO TABLESPACE UNDOTBS_01
DATAFILE ‘/U01/APP/ORACLE/ORADATA/NINA/UNDO01.DBF’ SIZE 200M
DEFAULT TABLESPACE USERS
DATAFILE ‘/U01/APP/ORACLE/ORADATA/NINA/USERS01.DBF’ SIZE 400M
--
以上定义数据文件
LOGFILE
GROUP 1
(‘/U01/APP/ORACLE/ORADATA/NINA/REDO01.LOG’) SIZE 100M ,
GROUP 2
(‘/U01/APP/ORACLE/ORADATA/NINA/REDO02.LOG’)SIZE 100M
;
--
定义日志组
DATABASE CREATED
SQL>
创建完后仔细阅读日志文件:
Alert_nina.log
第六步:执行
2
个
oracle
脚本创建数据字典对象:
SQL>@$ORACLE_HOME/rdbms/admin/catalog.sql
SQL>@$ORACLE_HOME/rdbms/admin/catproc.sql
至此,一个基本的数据就创建成功,但是这样一个数据库是基本无法应用的;
手工创建数据库后还需要一些首尾工作要做:
1、鉴于数据库的安全,应该更改用户密码,将不需要的默认帐号禁用;
2、根据需要创建属于应用系统的表空间;
3、由于手动创建的数据库一些服务是没有起来的,例如emctl ,sqlplusctl等等,我们必须手动的启动他们:
emctl start dbconsole
sqlplusctl start
启动之后,我们就可以通过web来启动oem和sqlplus了;
注意:oem和sqlplus都是有端口限制的,如果想看本系统的端口信息,去查询$oracle_home/install/portlist/portlist.ini文件
4、修改数据库的归档模式,这个大家都应该知道怎么修改及为什么要修改了吧。
5、如果需要,创建spfile
create spfile from pfile 。。。。。。。