当前位置: 首页 > news >正文

Oracle 数据库多实例配置

Oracle 多实例配置操作笔记

1. Oracle 11gR2 (11204) 多实例配置

1.1 环境准备

1.1.1 系统要求检查
# 检查系统资源
free -g
df -h# 检查Oracle软件安装
echo $ORACLE_HOME
echo $ORACLE_BASE
1.1.2 创建必要的目录结构
# 创建新实例的目录
mkdir -p /u01/app/oracle/admin/ORCL2/{adump,bdump,cdump,dpdump,pfile,udump}
mkdir -p /u01/app/oracle/oradata/ORCL2
mkdir -p /u01/app/oracle/fast_recovery_area/ORCL2

1.2 创建密码文件

# 为新实例创建密码文件
cd $ORACLE_HOME/dbs
orapwd file=orapwORCL2 password=your_password entries=5

1.3 创建参数文件

1.3.1 复制并修改参数文件
# 从现有实例复制参数文件
cp $ORACLE_HOME/dbs/initORCL1.ora $ORACLE_HOME/dbs/initORCL2.ora
1.3.2 修改参数文件内容
# initORCL2.ora 内容示例
db_name='ORCL2'
instance_name='ORCL2'
db_domain=''
control_files=('/u01/app/oracle/oradata/ORCL2/control01.ctl','/u01/app/oracle/fast_recovery_area/ORCL2/control02.ctl')
db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
db_recovery_file_dest_size=2G
memory_target=1G
processes=150
audit_file_dest='/u01/app/oracle/admin/ORCL2/adump'
audit_trail='db'
db_block_size=8192
db_domain=''
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCL2XDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
compatible='11.2.0.4.0'

1.4 创建实例

1.4.1 设置环境变量
# 设置新实例的环境变量
export ORACLE_SID=ORCL2
1.4.2 启动实例到nomount状态
-- 连接到空闲实例
sqlplus / as sysdba
STARTUP NOMOUNT PFILE='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initORCL2.ora';
1.4.3 执行CREATE DATABASE命令
CREATE DATABASE ORCL2
USER SYS IDENTIFIED BY your_password
USER SYSTEM IDENTIFIED BY your_password
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/ORCL2/redo01.log') SIZE 100M,GROUP 2 ('/u01/app/oracle/oradata/ORCL2/redo02.log') SIZE 100M,GROUP 3 ('/u01/app/oracle/oradata/ORCL2/redo03.log') SIZE 100M
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXLOGHISTORY 100
MAXDATAFILES 1024
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/ORCL2/system01.dbf'SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SYSAUX DATAFILE '/u01/app/oracle/oradata/ORCL2/sysaux01.dbf'SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
DEFAULT TABLESPACE usersDATAFILE '/u01/app/oracle/oradata/ORCL2/users01.dbf'SIZE 50M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempTEMPFILE '/u01/app/oracle/oradata/ORCL2/temp01.dbf'SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
UNDO TABLESPACE undotbs1DATAFILE '/u01/app/oracle/oradata/ORCL2/undotbs01.dbf'SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED;

1.5 创建数据字典和必要对象

1.5.1 运行数据字典脚本
-- 创建数据字典视图
@?/rdbms/admin/catalog.sql-- 创建PL/SQL包
@?/rdbms/admin/catproc.sql-- 创建SQL*Plus帮助
@?/sqlplus/admin/help/hlpbld.sql helpus.sql-- 创建PUP(Product User Profile)表
@?/sqlplus/admin/pupbld.sql
1.5.2 创建SPFILE
-- 从PFILE创建SPFILE
CREATE SPFILE FROM PFILE='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initORCL2.ora';-- 重启实例使用SPFILE
SHUTDOWN IMMEDIATE
STARTUP

1.6 配置监听器

1.6.1 修改listener.ora
# 在 $ORACLE_HOME/network/admin/listener.ora 中添加
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = ORCL1)(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)(SID_NAME = ORCL1))(SID_DESC =(GLOBAL_DBNAME = ORCL2)(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)(SID_NAME = ORCL2)))
1.6.2 重启监听器
lsnrctl stop
lsnrctl start

1.7 创建网络服务名

1.7.1 修改tnsnames.ora
# 在 $ORACLE_HOME/network/admin/tnsnames.ora 中添加
ORCL2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ORCL2)))

1.8 验证多实例配置

1.8.1 检查实例状态
-- 连接到每个实例验证
sqlplus sys/your_password@ORCL1 as sysdba
SELECT instance_name, status, database_status FROM v$instance;sqlplus sys/your_password@ORCL2 as sysdba  
SELECT instance_name, status, database_status FROM v$instance;
1.8.2 检查监听器状态
lsnrctl status

2. Oracle 19c 多实例配置区别

2.1 架构变化

2.1.1 多租户架构
-- 19c默认使用CDB架构,创建CDB而非非CDB
CREATE DATABASE ORCL2
USER SYS IDENTIFIED BY your_password
USER SYSTEM IDENTIFIED BY your_password
ENABLE PLUGGABLE DATABASE
SEED
SYSTEM TABLESPACE SYSTEM DATAFILE '/u01/app/oracle/oradata/ORCL2/seed_system01.dbf' SIZE 325M REUSE AUTOEXTEND ON
SYSAUX DATAFILE '/u01/app/oracle/oradata/ORCL2/seed_sysaux01.dbf' SIZE 550M REUSE AUTOEXTEND ON
UNDO TABLESPACE undotbs1 DATAFILE '/u01/app/oracle/oradata/ORCL2/seed_undotbs01.dbf' SIZE 125M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp TEMPFILE '/u01/app/oracle/oradata/ORCL2/seed_temp01.dbf' SIZE 20M REUSE AUTOEXTEND ON
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/ORCL2/redo01.log') SIZE 200M,GROUP 2 ('/u01/app/oracle/oradata/ORCL2/redo02.log') SIZE 200M,GROUP 3 ('/u01/app/oracle/oradata/ORCL2/redo03.log') SIZE 200M
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/ORCL2/system01.dbf'SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SYSAUX DATAFILE '/u01/app/oracle/oradata/ORCL2/sysaux01.dbf'SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
DEFAULT TABLESPACE usersDATAFILE '/u01/app/oracle/oradata/ORCL2/users01.dbf'SIZE 50M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempTEMPFILE '/u01/app/oracle/oradata/ORCL2/temp01.dbf'SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
UNDO TABLESPACE undotbs1DATAFILE '/u01/app/oracle/oradata/ORCL2/undotbs01.dbf'SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED;

2.2 参数文件差异

2.2.1 19c特定参数
# initORCL2.ora 19c版本示例
db_name='ORCL2'
db_unique_name='ORCL2'
enable_pluggable_database=true
pdb_name='ORCL2_PDB1'

2.3 创建PDB

2.3.1 在CDB中创建PDB
-- 连接到CDB
ALTER SESSION SET CONTAINER = CDB$ROOT;-- 创建PDB
CREATE PLUGGABLE DATABASE ORCL2_PDB1
ADMIN USER pdbadmin IDENTIFIED BY password
FILE_NAME_CONVERT=('/u01/app/oracle/oradata/ORCL2/pdbseed/','/u01/app/oracle/oradata/ORCL2/ORCL2_PDB1/');-- 打开PDB
ALTER PLUGGABLE DATABASE ORCL2_PDB1 OPEN;

2.4 服务注册差异

2.4.1 19c服务注册
-- 19c中服务自动注册到监听器
-- 检查服务注册
SELECT name, pdb FROM v$services;

2.5 内存管理改进

2.5.1 19c内存参数
-- 19c推荐使用MEMORY_TARGET或AUTO_MEMORY_MANAGEMENT
memory_target=2G
sga_target=0
pga_aggregate_target=0

2.6 配置差异总结

特性Oracle 11gR2Oracle 19c
数据库架构非CDBCDB+PDB(默认)
实例创建CREATE DATABASECREATE DATABASE + CREATE PLUGGABLE DATABASE
内存管理SGA_TARGET + PGA_AGGREGATE_TARGETMEMORY_TARGET(推荐)
服务注册手动配置监听器自动服务注册
参数文件基本相同,新增CDB相关参数新增CDB/PDB相关参数
目录结构传统目录结构支持PDB文件隔离

3. 常见问题排查

3.1 连接问题

# 检查监听器状态
lsnrctl status# 检查TNS配置
tnsping ORCL2# 检查防火墙
iptables -L

3.2 实例启动问题

-- 检查alert日志
SELECT value FROM v$diag_info WHERE name = 'Diag Trace';-- 检查实例状态
SELECT instance_name, status FROM v$instance;

3.3 权限问题

-- 检查目录权限
SELECT * FROM dba_directories;-- 检查用户权限
SELECT * FROM dba_sys_privs WHERE grantee = 'SYSTEM';

4. 维护操作

4.1 备份策略

# RMAN备份示例
rman target /
BACKUP DATABASE PLUS ARCHIVELOG;

4.2 监控脚本

-- 监控多实例状态
SELECT inst_id, instance_name, host_name, status, database_status 
FROM gv$instance;
http://www.dtcms.com/a/465745.html

相关文章:

  • 任天堂3DS模拟器最新版 Azahar Emulator 2123.3 开源游戏模拟器
  • 深圳福田网站建设公司共享ip网站 排名影响
  • 【AI安全】Anthropic推出AI安全工具Petri:通过自主Agent研究大模型行为
  • 云南做网站哪家便宜wordpress单页下载
  • 深度掌握 Git 分支体系:从基础操作到高级策略
  • CTF — ZIP 文件密码恢复
  • AI编程 | 基于即梦AI-Seedream 4.0模型,搭建人脸生成系统
  • 找设计案例的网站网站 设计
  • 医院项目:IBMS 集成系统 + 楼宇自控系统 + 智能照明系统协同解决方案
  • JavaEE初阶5.0
  • 一个企业做网站推广的优势手机网站怎么制作内容
  • 有代码怎么做网站做网站用源码
  • linux 环境下mysql 数据库自动备份和清库 通过crontab 创建定时任务实现mysql数据库备份
  • 每天一个设计模式——开闭原则
  • C++协程版本网络框架:快速构建一个高效极致简洁的HTTP服务器
  • 福州台江区网站建设网页怎么做链接
  • 单片机图形化编程:课程目录介绍 总纲
  • Redis-集合(Set)类型
  • 软件定义的理想硬件平台:Qotom Q30900SE/UE系列在AIO服务器与边缘网关中的实践
  • MS7126 24位立体音频DAC
  • 引领网站手机网站建设的整体流程
  • 计算机网络【第四章-网络层】
  • 响应式网站建设特征wordpress网站不显示系列
  • Fiddler抓包工具使用教程,代理设置与调试方法实战解析(含配置技巧)
  • linux系统中如何在root用户中将某个文件夹目录的权限赋值给其它用户(主要说的是 方法 1)
  • 手机网站引导页wordpress 动漫主题
  • 科技服务公司网站模版如何做视频类网站
  • 最小覆盖子串
  • 算法4.0
  • 云网智安一体:中国电信数字安全创新的技术破局与生态构建