1. 首页 > Oracle教程 > 正文

Oracle教程FG382-PDB初始化参数

本文档风哥主要介绍Oracle数据库PDB初始化参数相关知识,包括PDB初始化参数的概念、方法、要求、规划、配置、验证等内容,由风哥教程参考Oracle官方文档Multitenant内容编写,适合DBA人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。

Part01-基础概念与理论知识

1.1 PDB初始化参数的概念

Oracle数据库PDB初始化参数是指在多租户容器数据库(CDB)中对PDB级别的初始化参数进行配置和管理,包括参数设置、参数修改、参数继承、参数覆盖等。PDB初始化参数可以实现PDB级别的参数管理,提高系统灵活性。PDB初始化参数包括参数设置、参数修改、参数继承、参数覆盖、参数监控等组件。更多视频教程www.fgedu.net.cn

PDB初始化参数的特点:

  • 支持PDB级别的参数配置
  • 支持参数设置
  • 支持参数修改
  • 支持参数继承
  • 提高系统灵活性

1.2 PDB初始化参数的方法

Oracle数据库PDB初始化参数的方法:

  • 参数设置:设置PDB参数
  • 参数修改:修改PDB参数
  • 参数继承:继承CDB参数
  • 参数覆盖:覆盖CDB参数
  • 参数监控:监控PDB参数

1.3 PDB初始化参数的要求

Oracle数据库PDB初始化参数的要求:

  • PDB架构:必须在PDB架构中配置参数
  • 系统资源:足够的CPU、内存和磁盘空间
  • 权限:需要PDB的ALTER SYSTEM权限
  • 兼容性:Oracle数据库版本必须支持PDB初始化参数
  • 配置:需要配置适当的参数和选项
风哥提示:PDB初始化参数是Oracle数据库多租户架构的核心功能,通过PDB初始化参数,可以实现PDB级别的参数管理,提高系统灵活性。

Part02-生产环境规划与建议

2.1 PDB初始化参数规划

Oracle数据库PDB初始化参数规划要点:

# PDB初始化参数规划步骤
1. 分析业务需求
2. 评估系统资源
3. 设计PDB初始化参数方案
4. 规划PDB初始化参数架构
5. 规划参数继承策略
6. 规划参数覆盖策略
7. 测试和验证

# 适用场景
– 多租户数据库
– 需要PDB级别参数配置的系统
– 需要参数继承的系统
– 需要参数覆盖的系统
– 需要提高灵活性的系统

# 不适用场景
– 单租户数据库
– PDB初始化参数需求简单的系统
– 低管理需求系统

2.2 PDB初始化参数设计

Oracle数据库PDB初始化参数设计建议:

# PDB初始化参数设计原则
– 基于业务需求设计
– 基于资源需求设计
– 最小化参数开销
– 最大化系统灵活性
– 合理配置参数

# PDB初始化参数设计策略
– 合理规划PDB初始化参数架构
– 配置适当的参数设置
– 配置适当的参数继承
– 配置适当的参数覆盖
– 配置适当的参数监控

# 设计步骤
1. 分析业务需求
2. 评估系统资源
3. 设计PDB初始化参数方案
4. 规划PDB初始化参数架构
5. 测试PDB初始化参数效果
6. 调整配置

2.3 PDB初始化参数最佳实践

Oracle数据库PDB初始化参数最佳实践:

  • 规划PDB初始化参数架构:根据业务需求规划PDB初始化参数架构,最小化参数开销
  • 配置参数设置:为PDB配置合理的参数设置
  • 监控参数使用:监控PDB参数使用,及时发现和处理问题
  • 定期调优:定期调优PDB参数,确保系统性能
  • 设置参数告警:设置参数告警,及时发现参数问题
  • 定期review:定期review参数配置,优化管理策略
生产环境建议:PDB初始化参数规划应基于业务需求和系统资源,规划PDB初始化参数架构,配置参数设置,监控参数使用,定期调优,设置参数告警,定期review,确保系统性能。学习交流加群风哥微信: itpux-com

Part03-生产环境项目实施方案

3.1 PDB初始化参数实施

3.1.1 查看PDB参数

# 查看PDB
SQL> SELECT con_id, name, open_mode FROM v$pdbs ORDER BY con_id;

CON_ID NAME OPEN_MODE
—— ——— ———-
2 PDB$SEED READ ONLY
3 SALESPDB READ WRITE
4 HRPDB READ WRITE
5 APP_ROOT READ WRITE
6 APP_PDB1 READ WRITE

# 切换到CDB
SQL> ALTER SESSION SET CONTAINER = cdb$root;

Session altered.

# 查看CDB参数
SQL> SHOW PARAMETER sga_target

NAME TYPE VALUE
———————————— ———– ——————————
sga_target big integer 8G

SQL> SHOW PARAMETER pga_aggregate_target

NAME TYPE VALUE
———————————— ———– ——————————
pga_aggregate_target big integer 2G

# 验证PDB参数查看成功

3.1.2 配置PDB参数

# 切换到PDB
SQL> ALTER SESSION SET CONTAINER = fgfgfgsalespdb;

Session altered.

# 查看PDB参数
SQL> SHOW PARAMETER sga_target

NAME TYPE VALUE
———————————— ———– ——————————
sga_target big integer 8G

SQL> SHOW PARAMETER pga_aggregate_target

NAME TYPE VALUE
———————————— ———– ——————————
pga_aggregate_target big integer 2G

# 配置PDB参数
SQL> ALTER SYSTEM SET open_cursors = 500 SCOPE = BOTH;

System altered.

SQL> ALTER SYSTEM SET processes = 300 SCOPE = SPFILE;

System altered.

# 验证PDB参数配置成功

3.2 PDB初始化参数配置

3.2.1 配置参数继承

# 切换到CDB
SQL> ALTER SESSION SET CONTAINER = cdb$root;

Session altered.

# 查看CDB参数
SQL> SHOW PARAMETER optimizer_mode

NAME TYPE VALUE
———————————— ———– ——————————
optimizer_mode string ALL_ROWS

SQL> SHOW PARAMETER cursor_sharing

NAME TYPE VALUE
———————————— ———– ——————————
cursor_sharing string EXACT

# 切换到PDB
SQL> ALTER SESSION SET CONTAINER = fgfgfgsalespdb;

Session altered.

# 查看PDB参数(继承自CDB)
SQL> SHOW PARAMETER optimizer_mode

NAME TYPE VALUE
———————————— ———– ——————————
optimizer_mode string ALL_ROWS

SQL> SHOW PARAMETER cursor_sharing

NAME TYPE VALUE
———————————— ———– ——————————
cursor_sharing string EXACT

# 验证参数继承配置成功

3.2.2 配置参数覆盖

# 切换到PDB
SQL> ALTER SESSION SET CONTAINER = fgfgfgsalespdb;

Session altered.

# 查看PDB参数
SQL> SHOW PARAMETER optimizer_mode

NAME TYPE VALUE
———————————— ———– ——————————
optimizer_mode string ALL_ROWS

SQL> SHOW PARAMETER cursor_sharing

NAME TYPE VALUE
———————————— ———– ——————————
cursor_sharing string EXACT

# 配置参数覆盖
SQL> ALTER SYSTEM SET optimizer_mode = ‘FIRST_ROWS’ SCOPE = BOTH;

System altered.

SQL> ALTER SYSTEM SET cursor_sharing = ‘FORCE’ SCOPE = BOTH;

System altered.

# 查看PDB参数(覆盖CDB参数)
SQL> SHOW PARAMETER optimizer_mode

NAME TYPE VALUE
———————————— ———– ——————————
optimizer_mode string FIRST_ROWS

SQL> SHOW PARAMETER cursor_sharing

NAME TYPE VALUE
———————————— ———– ——————————
cursor_sharing string FORCE

# 验证参数覆盖配置成功

3.3 PDB初始化参数验证

3.3.1 验证参数设置

# 切换到PDB
SQL> ALTER SESSION SET CONTAINER = fgfgfgsalespdb;

Session altered.

# 查看PDB参数
SQL> SELECT name, value, isdefault, isses_modifiable, issys_modifiable, ispdb_modifiable
FROM v$parameter
WHERE name IN (‘open_cursors’, ‘processes’, ‘optimizer_mode’, ‘cursor_sharing’)
ORDER BY name;

NAME VALUE ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISPDB_MODIFIABLE
—————- ——— ——— —————– —————– —————-
cursor_sharing FORCE FALSE TRUE TRUE TRUE
open_cursors 500 FALSE FALSE TRUE TRUE
optimizer_mode FIRST_ROWS FALSE TRUE TRUE TRUE
processes 300 FALSE FALSE FALSE FALSE

# 验证参数设置成功

3.3.2 验证参数继承

# 切换到CDB
SQL> ALTER SESSION SET CONTAINER = cdb$root;

Session altered.

# 查看CDB参数
SQL> SELECT name, value, con_id
FROM v$parameter
WHERE name IN (‘optimizer_mode’, ‘cursor_sharing’)
ORDER BY con_id, name;

NAME VALUE CON_ID
—————- ——— ———-
optimizer_mode ALL_ROWS 1
cursor_sharing EXACT 1

# 切换到PDB
SQL> ALTER SESSION SET CONTAINER = fgfgfgsalespdb;

Session altered.

# 查看PDB参数(继承自CDB)
SQL> SELECT name, value, con_id
FROM v$parameter
WHERE name IN (‘optimizer_mode’, ‘cursor_sharing’)
AND con_id = 3
ORDER BY name;

NAME VALUE CON_ID
—————- ——— ———-
optimizer_mode FIRST_ROWS 3
cursor_sharing FORCE 3

# 验证参数继承成功

风哥提示:验证PDB初始化参数是否成功,需要检查参数设置、参数继承、参数覆盖、参数监控等,确保数据库运行正常。学习交流加群风哥QQ113257174

Part04-生产案例与实战讲解

4.1 PDB初始化参数案例

在某企业的生产环境中,需要配置PDB初始化参数。

# 案例背景
– 数据库版本:Oracle 19c
– 系统规模:中等规模,日交易量100万
– 需求:配置PDB初始化参数

# 实施方案
1. 查看PDB
SQL> SELECT con_id, name, open_mode FROM v$pdbs ORDER BY con_id;

CON_ID NAME OPEN_MODE
—— ——— ———-
2 PDB$SEED READ ONLY
3 SALESPDB READ WRITE
4 HRPDB READ WRITE
5 APP_ROOT READ WRITE
6 APP_PDB1 READ WRITE

2. 切换到CDB
SQL> ALTER SESSION SET CONTAINER = cdb$root;

Session altered.

3. 查看CDB参数
SQL> SHOW PARAMETER optimizer_mode

NAME TYPE VALUE
———————————— ———– ——————————
optimizer_mode string ALL_ROWS

4. 切换到PDB
SQL> ALTER SESSION SET CONTAINER = fgfgfgsalespdb;

Session altered.

5. 配置PDB参数
SQL> ALTER SYSTEM SET open_cursors = 500 SCOPE = BOTH;

System altered.

SQL> ALTER SYSTEM SET processes = 300 SCOPE = SPFILE;

System altered.

6. 验证参数配置
SQL> SELECT name, value, isdefault, isses_modifiable, issys_modifiable, ispdb_modifiable
FROM v$parameter
WHERE name IN (‘open_cursors’, ‘processes’)
ORDER BY name;

NAME VALUE ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISPDB_MODIFIABLE
—————- ——— ——— —————– —————– —————-
open_cursors 500 FALSE FALSE TRUE TRUE
processes 300 FALSE FALSE FALSE FALSE

# 实施效果
– 成功配置PDB初始化参数
– 参数设置正常
– 参数继承正常
– 参数覆盖正常
– 系统灵活性提高

4.2 PDB初始化参数优化案例

在某金融机构的生产环境中,需要优化PDB初始化参数,提高系统性能。

# 案例背景
– 数据库版本:Oracle 19c
– 系统规模:大规模,日交易量1000万
– 问题:PDB初始化参数需要优化

# 优化方案
1. 查看PDB参数
SQL> SELECT name, value, isdefault, isses_modifiable, issys_modifiable, ispdb_modifiable
FROM v$parameter
WHERE name IN (‘open_cursors’, ‘processes’, ‘optimizer_mode’, ‘cursor_sharing’)
ORDER BY name;

NAME VALUE ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISPDB_MODIFIABLE
—————- ——— ——— —————– —————– —————-
cursor_sharing EXACT TRUE TRUE TRUE TRUE
open_cursors 300 FALSE FALSE TRUE TRUE
optimizer_mode ALL_ROWS TRUE TRUE TRUE TRUE
processes 200 FALSE FALSE FALSE FALSE

2. 优化参数配置
SQL> ALTER SYSTEM SET open_cursors = 1000 SCOPE = BOTH;

System altered.

SQL> ALTER SYSTEM SET processes = 500 SCOPE = SPFILE;

System altered.

SQL> ALTER SYSTEM SET optimizer_mode = ‘ALL_ROWS’ SCOPE = BOTH;

System altered.

SQL> ALTER SYSTEM SET cursor_sharing = ‘FORCE’ SCOPE = BOTH;

System altered.

3. 验证优化效果
SQL> SELECT name, value, isdefault, isses_modifiable, issys_modifiable, ispdb_modifiable
FROM v$parameter
WHERE name IN (‘open_cursors’, ‘processes’, ‘optimizer_mode’, ‘cursor_sharing’)
ORDER BY name;

NAME VALUE ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISPDB_MODIFIABLE
—————- ——— ——— —————– —————– —————-
cursor_sharing FORCE FALSE TRUE TRUE TRUE
open_cursors 1000 FALSE FALSE TRUE TRUE
optimizer_mode ALL_ROWS FALSE TRUE TRUE TRUE
processes 500 FALSE FALSE FALSE FALSE

# 优化效果
– 参数配置优化
– 参数值调整
– 系统性能提高
– 系统灵活性提高

4.3 PDB初始化参数问题处理

在某电商网站的生产环境中,PDB初始化参数出现问题,需要处理。

# 问题现象
– PDB参数设置失败
– 参数继承不正确
– 参数覆盖不生效

# 分析步骤
1. 查看PDB参数
SQL> SELECT name, value, isdefault, isses_modifiable, issys_modifiable, ispdb_modifiable
FROM v$parameter
WHERE name IN (‘open_cursors’, ‘processes’, ‘optimizer_mode’, ‘cursor_sharing’)
ORDER BY name;

NAME VALUE ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISPDB_MODIFIABLE
—————- ——— ——— —————– —————– —————-
cursor_sharing EXACT TRUE TRUE TRUE TRUE
open_cursors 300 FALSE FALSE TRUE TRUE
optimizer_mode ALL_ROWS TRUE TRUE TRUE TRUE
processes 200 FALSE FALSE FALSE FALSE

2. 尝试设置参数
SQL> ALTER SYSTEM SET processes = 500 SCOPE = BOTH;

ALTER SYSTEM SET processes = 500 SCOPE = BOTH
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

3. 查看参数可修改性
SQL> SELECT name, isses_modifiable, issys_modifiable, ispdb_modifiable
FROM v$parameter
WHERE name = ‘processes’;

NAME ISSES_MODIFIABLE ISSYS_MODIFIABLE ISPDB_MODIFIABLE
—————- —————– —————– —————-
processes FALSE FALSE FALSE

# 问题原因
– processes参数不能在PDB级别修改
– processes参数只能在CDB级别修改
– 参数可修改性限制

# 解决方案
1. 切换到CDB
SQL> ALTER SESSION SET CONTAINER = cdb$root;

Session altered.

2. 修改CDB参数
SQL> ALTER SYSTEM SET processes = 500 SCOPE = SPFILE;

System altered.

3. 重启数据库
SQL> SHUTDOWN IMMEDIATE;

Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> STARTUP;

ORACLE instance started.

Total System Global Area 8388608000 bytes
Fixed Size 8905240 bytes
Variable Size 2516582400 bytes
Database Buffers 5850068992 bytes
Redo Buffers 18655168 bytes
Database mounted.
Database opened.

4. 验证解决效果
SQL> SELECT name, value
FROM v$parameter
WHERE name = ‘processes’;

NAME VALUE
—————- ———-
processes 500

# 解决效果
– CDB参数修改成功
– PDB参数继承成功
– 参数限制解决
– 系统性能恢复

生产环境建议:配置PDB初始化参数前,需要分析业务需求和系统资源,确保参数配置合理。更多学习教程公众号风哥教程itpux_com

Part05-风哥经验总结与分享

5.1 PDB初始化参数经验

Oracle数据库PDB初始化参数经验:

  • 规划PDB初始化参数架构:根据业务需求规划PDB初始化参数架构,最小化参数开销
  • 配置参数设置:为PDB配置合理的参数设置
  • 监控参数使用:监控PDB参数使用,及时发现和处理问题
  • 定期调优:定期调优PDB参数,确保系统性能
  • 设置参数告警:设置参数告警,及时发现参数问题
  • 定期review:定期review参数配置,优化管理策略
风哥提示:PDB初始化参数是Oracle数据库多租户架构的核心功能,通过规划PDB初始化参数架构,配置参数设置,监控参数使用,定期调优,设置参数告警,定期review,可以显著提高系统灵活性和数据库管理效率。from oracle:www.itpux.com

5.2 PDB初始化参数检查清单

# PDB初始化参数检查清单
– [ ] 检查系统资源
– [ ] 检查PDB架构
– [ ] 检查参数需求
– [ ] 检查参数配置
– [ ] 检查参数继承
– [ ] 检查参数覆盖
– [ ] 规划PDB初始化参数架构
– [ ] 配置参数设置
– [ ] 配置参数继承
– [ ] 验证参数功能

# PDB初始化参数问题处理流程
1. 检查系统资源
2. 检查PDB架构
3. 检查参数需求
4. 规划PDB初始化参数架构
5. 配置参数设置
6. 配置参数继承
7. 验证参数功能
8. 处理参数问题
9. 优化配置
10. 监控参数使用情况

5.3 PDB初始化参数工具

Oracle数据库PDB初始化参数常用工具:

  • SQL*Plus:SQL命令行工具,用于执行SQL命令
  • Oracle Enterprise Manager:图形化管理工具,用于监控和管理数据库
  • SQL Developer:SQL开发工具,用于开发和调试SQL
  • v$parameter:参数视图,用于查看参数信息
  • v$system_parameter:系统参数视图,用于查看系统参数
  • ALTER SYSTEM:SQL命令,用于修改参数
持续改进:PDB初始化参数是一个持续的过程,需要定期review和优化。建议建立PDB初始化参数的规范和流程,不断改进系统灵活性和数据库管理效率。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息