
手工创建 Oracle 数据库是一个系统化过程,需要仔细配置各项参数并遵循标准化步骤。以下是详细的建库流程,涵盖从环境准备到验证完成的各个环节。
1. 创建数据库相关目录
在创建数据库前,必须先规划并建立所需的文件目录结构。通常包括数据文件目录、后台日志目录、用户追踪目录、核心转储目录、归档日志目录和闪回区目录。例如:
mkdir -p /oradata/wwl02/data
mkdir -p /oradata/wwl02/admin/{bdump,udump,cdump}
mkdir -p /oradata/wwl02/archive
mkdir -p /oradata/wwl02/flash_back_area2. 创建密码文件
使用 orapwd工具创建密码文件,用于支持远程 sysdba 身份验证:
cd $ORACLE_HOME/dbs orapwd file=orawwl02 password=oracle entries=5 force=y
3. 准备参数文件
参数文件是数据库启动和运行的基础。可从现有模板或初始化文件复制并修改,注意根据实际环境调整以下核心参数:
db_name = wwl02 instance_name = wwl02 control_files = /oradata/wwl02/data/control01.ctl background_dump_dest = /oradata/wwl02/admin/bdump user_dump_dest = /oradata/wwl02/admin/udump core_dump_dest = /oradata/wwl02/admin/cdump undo_management = auto undo_tablespace = undotbs db_cache_size = 100M shared_pool_size = 80M pga_aggregate_target = 30M
4. 启动实例至 NOMOUNT 状态
使用刚刚创建的参数文件启动实例:
STARTUP NOMOUNT pfile='$ORACLE_HOME/dbs/initwwl02.ora';
5. 执行 CREATE DATABASE 命令
在 SQL*Plus 中执行建库语句,需明确指定数据文件、日志文件、字符集等关键信息:
CREATE DATABASE wwl02
DATAFILE '/oradata/wwl02/data/system01.dbf' SIZE 500M
SYSAUX DATAFILE '/oradata/wwl02/data/sysaux01.dbf' SIZE 300M
UNDO TABLESPACE undotbs DATAFILE '/oradata/wwl02/data/undotbs01.dbf' SIZE 200M
DEFAULT TEMPORARY TABLESPACE temp TEMPFILE '/oradata/wwl02/data/temp01.dbf' SIZE 100M
LOGFILE GROUP 1 ('/oradata/wwl02/data/redo01.log') SIZE 50M,
GROUP 2 ('/oradata/wwl02/data/redo02.log') SIZE 50M
CHARACTER SET ZHS16GBK;6. 创建数据字典与系统视图
建库后必须运行标准脚本来建立数据字典和 PL/SQL 环境:
@?/rdbms/admin/catalog.sql @?/rdbms/admin/catproc.sql
7. 验证数据库状态
确认数据库已正常打开,并检查关键组件是否就绪:
SELECT name, open_mode FROM v$database; SELECT * FROM v$instance;
8. 创建 SPFILE 并重启
将当前使用的 PFILE 转换为 SPFILE 以实现持久化参数管理:
CREATE SPFILE FROM PFILE='$ORACLE_HOME/dbs/initwwl02.ora'; SHUTDOWN IMMEDIATE; STARTUP;
9. 后续配置
根据需要创建用户表空间、配置监听、设置归档模式等,完成数据库的最终配置。
注意事项:
确保所有目录权限正确(通常属主应为 oracle:oinstall)
根据实际业务调整内存参数与文件大小
生产环境建议配置多路复用控制文件与日志组
建库前确认字符集选择符合应用要求
此手工建库方法适用于需要定制化配置的环境,完成后的数据库应进行全面功能验证。