APP下载

Solaris11 下Oracle12C集成部署问题

2019-11-25西安王金国解宝琦蔡桂洲

网络安全和信息化 2019年11期
关键词:插拔参数设置命令

■西安 王金国 解宝琦 蔡桂洲

随着Oracle 12C 在企业级应用环境的不断扩大和升级部署,越来越多的企业级传统应用项目开始逐步向Oracle12C 进行迁移和流动。然而,硬件及操作系统升级后也给Oracle12C 的升级迁移带来了很多技术性挑战和考验。

本文结合企业在新的Solaris11 操作系统环境下集成安装Oracle 12.2 RAC环境的问题及日常优化进行总结,希望能给企业级用户在集成过程中减少一些集成难度。

隐含参数修改

1.Oracle12C 特定I/O 共享池设置

当用户在Solaris11 环境下安装完Oracle12C 的双节点RAC 环境并进行了最新补丁升级,使用DBCA 命令创建数据库后,发现数据库并不能正常工作和使用,通过在GRID 用户下使用“scrctl status res -t“命令查看,发现其服务均正常,唯独db服务会随机性重启,导致数据库无法访问,查看Oracle的trace 文件发现如图1 所示错误。

通 过Oracle相关文档了解到,此问题可以通过在数据库参数文件中加 入“_shared_io_pool_size=”参数来进行纠正和恢复。修改过程如下:

备份并修改当前Oracle 数据库spfile 文件,登录Oracle数据库并使用命令”create pfile=‘/home/oracle’ from spfile”,用户即可在用户目录下生成一个可以启动Oracle 的pfile文件。

通过编辑器编辑该文件并加入如下内容:*._shared_io_pool_size=536870912。

其 中,“536870912”代表的值可以通过将数据库启动到nomount 状态下,使用命 令“select bytes from v$sgainfo where name like'Granule Size';”进行查看,用户可根据实际情况进行修改。

图1 Oracle 的trace 文件错误

之后用户可以通过pfile 文件重新生成spfile文件并重启数据库,数据库进入稳定运行状态。

2.Solaris11 系统shmmax参数设置

在Solaris11 下 的 参数设置有别于其他类Unix系统,安装完Oracle12C 后因为按照应用要求,需要将SGA_TARGET 参数修改为210GB 大小,而修改后启动数据库实例时出现如图2 所示错误。

手工使用pfile 参数引导系统发现同样报错,经过联系Oracle 原厂工程师,确认是系统共享内存设置不当引起的SGA 超限问题,因此需要在操作系统中设置“shmmax”参数,并要确保“shmmax”值大于SGA_TARGET 值范围。

在Solaris11 下分别以root 用户执行如图3 所示命令。

以Oracle 用户执行如图4 所示命令。

之后从新启动Oracle12C 双节点RAC 数据库,系统正常运行。

图2 启动数据库实例时显示错误

图3 在Solaris11 下以root 用户执行命令

图4 以Oracle 用户执行命令

PDB 数据库字符集修改

从Oracle 12.2 数据库开始,创建完成的同一CDB容器数据库中的各个PDB 字符集可以不同,这样可以使数据库字符集具有更好的扩展性以及更适合应用系统的多语言环境部署。

通常,创建CDB 会默认选择“AL32UTF8”字符集,之后可以通过命令方式将该字符集所包含的子集字符集修改为PDB 数据库字符集,但是修改过程需要用户进行手工完成。

以下就以将PDB 数据库字符集修改为“zhs16gbk”为例,过程如下:

1.关闭数据库并将数据库启动到mount 状态,并使用“alter system enable restricted session;”命令,将数据库设置为受限访问模式。

同时使用“alter system set job_queue_processes=0;”“altersystemsetaq_tm_processes=0;”命令,禁止数据库启动后台定时任务作业。

2.使用“alterdatabase open;”命令,将数据库在受限方式下打开。通过以上操作保证数据库对外服务禁止。

3.使用“alterpluggable database zhaq open RESTRICTED;”命令,以限制方式打开插拔数据库(本例中插拔数据库名为“zhaq”,用户应根据实际进行修改),准备进行该插拔数据库字符集修改。

4.使用“alter session set container=zhaq;”命令,将会话切换到插拔数据库中,使用“alter database character set internal_use zhs16gbk;”命令,对该插拔数据库字符集进行修改。

在完成后恢复数据库到正常模式,同时可执行以下命令:

激活后台定时任务作业,“job_queue_processes”参数值用户应根据自己系统环境进行修改。

基础优化

1.Oracle12c 安装后,在密码管理中依然延续了默认180 天失效的策略,但多数情况下,这一设置反而给用户以及应用系统带了不必要的麻烦。

用户可以通过修改密码配置文件将该参数设置为永不过期,需要注意的是在Oracle12C 中需要分别执行以下两条语句:

然后进行该参数的修改,同时分别执行以下两条语句:

2.使用“altersystemsetdb_recovery_file_dest='+data'scope=spfile;”命令,将回闪区目录指定给ASM 进行管理。

3.Oracle12C 安装完成后,默认情况下和低版本Oracle 数据库RDBMS 进行数据交互时,会出现兼容性问题。

因此生产系统中应修改Oracle12C 版本兼容参数来满足系统兼容性,通过使用“vi $ORACLE_HOME/network/admin/sqlnet.ora”命令,编辑该文件,并添加如下的内容:

操作完成后,Oracle12C即可与其他低版本Oracle数据库系统完成正常的数据交互。

结语

系统集成作为很多较大信息系统建设项目的重要组成部分,其过程具有更多的工程化的特点,系统组件间的搭配和组装,耦合部分的嵌套与装配,都需要很多耐心来打磨和仔细地调试。尤其是应用于高可靠、高可用、高安全性环境下的系统集成更是如此,在系统集成过程中更需要人们的良好协作和沟通。

猜你喜欢

插拔参数设置命令
管理Windows10的PowerShell命令行使用记录
一种新型04kV带负荷快速插拔跨接线的研制
我国有了2000米水下插拔电连接器
安装和启动Docker
浅谈电连接器接触件接触压力
移防命令下达后
逃生疏散模拟软件应用
一种基于汽车焊装线的多车型插拔平台
解析Windows10的内部命令
蚁群算法求解TSP中的参数设置