Oracle 数据库创建选项详解
Oracle 数据库创建选项详解
适用版本:Oracle Database 10g / 11g / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07
1. 概述
DBCA 创建数据库的选项详解[1]:
选项:
- 模板
- 字符集
- 内存
- 存储
- 网络
- EM
详细见:Oracle 数据库创建 DBCA。
2. 模板
2.1 通用
- General_Purpose.dbc
- 通用业务
- OLTP + DW
2.2 数据仓库
- Data_Warehouse.dbc
- 分析
- 大查询
2.3 自定义
- Custom Database.dbc
- 完全自定义
3. 数据库标识
3.1 SID
- 全局数据库名:orcl.example.com
- SID:orcl
- 实例标识
3.2 命名
- 开发:orcldev
- 测试:orcltest
- 生产:orclprd
4. CDB / PDB
4.1 CDB
- 12c+
- 容器数据库
- 多租户
4.2 PDB
- 可插拔数据库
- 业务隔离
- 资源管理
4.3 创建
dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbName orcl \
-sid orcl \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName orclpdb \
-pdbAdminPassword Oracle123
5. 存储
5.1 文件系统
- /u01/oradata
- 简单
- 单实例
5.2 ASM
- +DATA
- +FRA
- RAC 推荐
5.3 自动存储管理
- OMF(Oracle Managed Files)
- 自动命名
- 简化
6. 闪回
6.1 启用
- Flashback Database
- FRA
- 快速恢复
6.2 保留
- db_flashback_retention_target
- 默认 1440 分钟(1 天)
- 业务需要 7 天
7. 归档
7.1 模式
- ARCHIVELOG:生产
- NOARCHIVELOG:开发
7.2 目的地
- FRA
- 单独目录
详细见:Oracle 数据库归档模式配置。
8. 字符集
8.1 数据库
- AL32UTF8(推荐)
- ZHS16GBK
- WE8MSWIN1252
8.2 国家
- AL16UTF16
- UTF8
8.3 选择
- 多语言:AL32UTF8
- 中文:ZHS16GBK
- 一致性:与应用匹配
9. 内存
9.1 AMM
- memory_target
- 自动
- 简单
9.2 ASMM
- sga_target + pga_aggregate_target
- 推荐
- HugePages 兼容
9.3 手动
- 各组件手动
- 精细控制
- 复杂
详细见:Oracle 内存管理 SGA/PGA。
10. 进程
10.1 processes
- 默认 150-300
- 生产 500-2000
10.2 sessions
- 自动 (1.5 * processes)
10.3 open_cursors
- 默认 50
- 生产 500-1000
11. 块大小
11.1 标准
- db_block_size
- 默认 8K
- 创建后不可改
11.2 选择
- OLTP:8K
- DW:16K / 32K
- 通用:8K
12. SGA
12.1 大小
- 物理 50-70%
- AMM / ASMM
12.2 组件
- Buffer Cache
- Shared Pool
- Large Pool
- Java Pool
- Streams Pool
13. 网络
13.1 监听器
- 默认 LISTENER
- 端口 1521
13.2 注册
- 动态注册
- PMON/LREG
详细见:Oracle 网络配置与监听器。
14. EM
14.1 EM Express
- 免费
- 基本
- 5500 端口
14.2 OEM
- 全面
- 多库
- 集中
15. 安全
15.1 密码
- 复杂度
- 失败次数
- 过期
15.2 Audit
- 默认启用
- Unified Audit
15.3 TDE
- 加密
- Wallet
详细见:Oracle 安全深度解析。
16. 示例
16.1 静默 OLTP
dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbName orcl \
-sid orcl \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName orclpdb \
-pdbAdminPassword Oracle123 \
-sysPassword Oracle123 \
-systemPassword Oracle123 \
-storageType FS \
-datafileDestination /u01/app/oracle/oradata \
-recoveryAreaDestination /u01/app/oracle/fast_recovery_area \
-recoveryAreaSize 10240 \
-characterSet AL32UTF8 \
-nationalCharacterSet AL16UTF16 \
-listeners LISTENER \
-totalMemory 4096 \
-databaseType OLTP \
-emConfiguration NONE
16.2 ASM + RAC
dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbName orcl \
-sid orcl \
-databaseConfigType RAC \
-nodelist rac1,rac2 \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName orclpdb \
-pdbAdminPassword Oracle123 \
-sysPassword Oracle123 \
-systemPassword Oracle123 \
-storageType ASM \
-diskGroupName +DATA \
-recoveryGroupName +FRA \
-characterSet AL32UTF8 \
-totalMemory 4096
详细见:Oracle RAC 部署实战。
16.3 数据仓库
dbca -silent -createDatabase \
-templateName Data_Warehouse.dbc \
...
-databaseType DATA_WAREHOUSING
17. 验证
17.1 状态
SELECT name, open_mode, log_mode FROM v$database;
SELECT name, open_mode FROM v$pdbs;
17.2 参数
SHOW PARAMETER db_block_size
SHOW PARAMETER sga_target
SHOW PARAMETER processes
SHOW PARAMETER character
17.3 组件
SELECT comp_id, version, status FROM dba_registry;
17.4 字符集
SELECT * FROM nls_database_parameters
WHERE parameter LIKE '%CHARACTERSET';
18. 常见坑与排错
18.1 创建失败
# 日志
$ORACLE_BASE/cfgtoollogs/dbca/
18.2 内存不足
- 减小 totalMemory
- 增大物理内存
18.3 字符集
- 创建后难改
- 谨慎选择
19. 最佳实践
- General_Purpose 模板:通用
- CDB 架构:12c+
- ASM 存储:现代
- AL32UTF8:字符集
- 归档模式:生产
- Flashback:快速恢复
- ASMM:推荐
- EM Express:监控
- 密码策略:安全
- 文档化:配置
20. 参考资料
[1] Oracle Database 2 Day DBA 19c, “Creating a Database” https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/creating-and-configuring-an-oracle-database.html