在openPower服务器上安装Oracle 19C
1.创建用户与组
1.1.创建组(在各个主机上执行)
mkgroup -'A' id='501' adms='root' oinstall mkgroup -'A' id='502' adms='root' asmdba mkgroup -'A' id='503' adms='root' asmoper mkgroup -'A' id='504' adms='root' dba mkgroup -'A' id='505' adms='root' oper mkgroup -'A' id='506' adms='root' backdba mkgroup -'A' id='507' adms='root' dgdba mkgroup -'A' id='508' adms='root' racdba mkgroup -'A' id='509' adms='root' kmdba
1.2.创建用户(在各个主机上执行)
mkuser id=601 pgrp=oinstall groups=dba,asmdba,oper,asmoper,backdba,dgdba,racdba,kmdba home=/home/oracle oracle
创建安装目录
mkdir -p /u01/app/oraInventory mkdir -p /u01/app/oracle/product/19.3/db mkdir -p /u01/temp chown -R oracle:oinstall /u01 chmod -R 775 /u01
2.设置用户环境变量(用oracle用户来编辑.profile)
umask 022 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/19.3/db export ORACLE_SID=hxsy export ORACLE_UNQNAME=hxsy export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss" export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin export ORACLE_PATH=${PATH}:$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin export ORACLE_TERM=xterm export TNS_ADMIN=$ORACLE_HOME/network/admin export LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export CLASSPATH=$ORACLE_HOME/JRE export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib export THREADS_FLAG=native export TEMP=/u01/tmp export TMPDIR=/u01/tmp export PS1=`hostname`:'$PWD'"$"
3.使用如下命令查看虚拟内存管理参数
vmo -L minperm% vmo -L maxperm% vmo -L maxclient% vmo -L lru_file_repage vmo -L strict_maxclient vmo -L strict_maxperm
4.如果设置不合适,使用如下命令修改:
vmo -p -o minperm%=3 vmo -p -o maxperm%=90 vmo -p -o maxclient%=90 vmo -p -o lru_file_repage=0 vmo -p -o strict_maxclient=1 vmo -p -o strict_maxperm=0
5.检查网络参数设置
ephemeral参数:
5.1 使用命令no -a |fgrep ephemeral可以查看当前系统ephemeral参数设置,建议的参数设置如下
tcp_ephemeral_high = 65500 tcp_ephemeral_low = 9000 udp_ephemeral_high= 65500 udp_ephemeral_low = 9000
如果系统中参数设置和上述值不一样,使用命令修改:
#no -p -o tcp_ephemeral_low=9000 -o tcp_ephemeral_high=65500 #no -p -o udp_ephemeral_low=9000 -o udp_ephemeral_high=65500
使用如下命令修改网络可调整参数:
#no -p -o rfc1323=1 #no -r -o ipqmaxlen=512 #no -p -o ipqmaxlen=512 #no -p -o sb_max=4194304 #no -p -o tcp_recvspace=65536 #no -p -o tcp_sendspace=65536 #no -p -o udp_recvspace=1351680 该值是udp_sendspace的10倍,但须小于sb_max #no -p -o udp_sendspace=135168
备注:-r表示reboot后生效,-p表示即刻生效.
检查内核参数maxuproc(建议16384)和ncargs(至少128)
#lsattr -E -l sys0 -a ncargs #lsattr -E -l sys0 -a maxuproc
如果设置不合适使用如下命令修改:
#chdev -l sys0 -a ncargs=256 #chdev -l sys0 -a maxuproc=16384
6.解压数据库软件
aix1:/u01/soft$unzip -q AIX.PPC64_193000_db_home.zip -d $ORACLE_HOME
7.安装数据库软件
在$ORACLE_HOME/install/response目录中有一个安装rsp文件示例
7.1.配置响应文件
[oracle@ora19c ~]$ vi 19c_dbinstall.rsp oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0 oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/19.3/db oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=oper oracle.install.db.OSBACKUPDBA_GROUP=backdba oracle.install.db.OSDGDBA_GROUP=dgdba oracle.install.db.OSKMDBA_GROUP=kmdba oracle.install.db.OSRACDBA_GROUP=racdba oracle.install.db.rootconfig.executeRootScript=true oracle.install.db.rootconfig.configMethod=ROOT
8.执行安装
openaix1:/home/oracle$$ORACLE_HOME/runInstaller -silent -force -noconfig -ignorePrereq -responseFile /home/oracle/19c_dbinstall.rsp ******************************************************************************** Your platform requires the root user to perform certain pre-installation OS preparation. The root user should run the shell script 'rootpre.sh' before you proceed with Oracle installation. The rootpre.sh script can be found at: /u01/app/oracle/product/19.3/db/clone/rootpre.sh Answer 'y' if root has run 'rootpre.sh' so you can proceed with Oracle installation. Answer 'n' to abort installation and then ask root to run 'rootpre.sh'. ******************************************************************************** Has 'rootpre.sh' been run by root in this machine? [y/n] (n) y Launching Oracle Database Setup Wizard... Enter password for 'root' user: [WARNING] [INS-13014] Target environment does not meet some optional requirements. CAUSE: Some of the optional prerequisites are not met. See logs for details. installActions2020-11-17_01-49-09AM.log ACTION: Identify the list of failed prerequisite checks from the log: installActions2020-11-17_01-49-09AM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually. The response file for this session can be found at: /u01/app/oracle/product/19.3/db/install/response/db_2020-11-17_01-49-09AM.rsp You can find the log of this install session at: /u01/tmp/InstallActions2020-11-17_01-49-09AM/installActions2020-11-17_01-49-09AM.log Successfully Setup Software with warning(s). Moved the install session logs to: /u01/app/oraInventory/logs/InstallActions2020-11-17_01-49-09AM
9.配置监听
创建配置监听的响应文件
在/u01/app/oracle/product/19.3/db/assistants/netca/目录有一个示例文件
aix1:/home/oracle$vi 19c_netca.rsp "19c_netca.rsp" [New file] [GENERAL] RESPONSEFILE_VERSION="19.0" CREATE_TYPE="CUSTOM" [oracle.net.ca] INSTALLED_COMPONENTS={"server","net8","javavm"} INSTALL_TYPE=""typical"" LISTENER_NUMBER=1 LISTENER_NAMES={"LISTENER"} LISTENER_PROTOCOLS={"TCP;1521"} LISTENER_START=""LISTENER"" NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"} NSN_NUMBER=1 NSN_NAMES={"EXTPROC_CONNECTION_DATA"} NSN_SERVICE={"PLSExtProc"} NSN_PROTOCOLS={"TCP;HOSTNAME;1521"} aix1:/home/oracle$netca /silent /responsefile /home/oracle/19c_netca.rsp UnsatisfiedLinkError exception loading native library: njni19 java.lang.UnsatisfiedLinkError: njni19 (Not found in java.library.path) java.lang.UnsatisfiedLinkError: oracle/net/common/NetGetEnv.jniGetOracleHome()Ljava/lang/String; at oracle.net.common.NetGetEnv.getOracleHome(Unknown Source) at oracle.net.ca.NetCALogger.getOracleHome(NetCALogger.java:230) at oracle.net.ca.NetCALogger.initOracleParameters(NetCALogger.java:215) at oracle.net.ca.NetCALogger.initLogger(NetCALogger.java:130) at oracle.net.ca.NetCA.main(NetCA.java:459) Error: oracle/net/common/NetGetEnv.jniGetOracleHome()Ljava/lang/String; Oracle Net Services configuration failed. The exit code is 1 # lsdev | grep iocp iocp0 Defined I/O Completion Ports # smitty iocp # lsdev | grep iocp iocp0 Available I/O Completion Ports aix1:/home/oracle$$ORACLE_HOME/bin/relink all writing relink log to: /u01/app/oracle/product/19.3/db/install/relinkActions2020-11-16_11-17-27PM.log aix1:/home/oracle$netca /silent /responsefile /home/oracle/19c_netca.rsp Parsing command line arguments: Parameter "silent" = true Parameter "responsefile" = /home/oracle/19c_netca.rsp Done parsing command line arguments. Oracle Net Services Configuration: Profile configuration complete. Oracle Net Listener Startup: Running Listener Control: /u01/app/oracle/product/19.3/db/bin/lsnrctl start LISTENER Listener Control complete. Listener started successfully. Listener configuration complete. Oracle Net Services configuration successful. The exit code is 0 aix1:/home/oracle$lsnrctl status LSNRCTL for IBM/AIX RISC System/6000: Version 19.0.0.0.0 - Production on 16-NOV-2020 23:24:53 Copyright (c) 1991, 2019, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=aix1)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for IBM/AIX RISC System/6000: Version 19.0.0.0.0 - Production Start Date 16-NOV-2020 23:23:28 Uptime 0 days 0 hr. 1 min. 27 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/19.3/db/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/aix1/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=aix1)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) The listener supports no services The command completed successfully
10.创建数据库
10.1 创建配置数据库的响应文件
在/u01/app/oracle/product/19.3/db/assistants/dbca/目录中有一个示例文件
[oracle@ora19c install]$ cat /u01/app/oracle/product/19.3/db/assistants/dbca/dbca.rsp aix1:/home/oracle$vi 19c_dbca.rsp automaticMemoryManagement=TRUE responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0 templateName=General_Purpose.dbc gdbName=hxsy sid=hxsy databaseConfigType=SI createAsContainerDatabase=TRUE numberOfPDBs=1 pdbName=hxsy1 useLocalUndoForPDBs=TRUE pdbAdminPassword=hxsy_123456 sysPassword=hxsy_123456 systemPassword=hxsy_123456 storageType=FS characterSet=ZHS16GBK nationalCharacterSet=AL16UTF16 listeners=LISTENER sampleSchema=TRUE totalMemory 2048 databaseType=MULTIPURPOSE automaticMemoryManagement=FALSE totalMemory=4096
11.创建数据库
aix1:/home/oracle$dbca -silent -createDatabase -responseFile /home/oracle/19c_dbca.rsp [WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. [WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. [WARNING] [DBT-06208] The 'PDBADMIN' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. Prepare for db operation 8% complete Copying database files 31% complete Creating and starting Oracle instance 32% complete 36% complete 40% complete 43% complete 46% complete Completing Database Creation 51% complete 53% complete 54% complete Creating Pluggable Databases 58% complete 77% complete Executing Post Configuration Actions 100% complete Database creation complete. For details check the logfiles at: /u01/app/oracle/cfgtoollogs/dbca/hxsy. Database Information: Global Database Name:hxsy System Identifier(SID):hxsy Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/hxsy/hxsy.log" for further details.
12.验证是否可以登录数据库
aix1:/u01/app/oracle/product/19.3/db/dbs$sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Mon Nov 16 16:32:33 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to an idle instance. SQL> startup mount ORACLE instance started. Total System Global Area 3221222936 bytes Fixed Size 9303576 bytes Variable Size 956301312 bytes Database Buffers 2231369728 bytes Redo Buffers 24248320 bytes Database mounted. SQL> alter database open; Database altered. SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 HXSY1 MOUNTED SQL> alter pluggable database hxsy1 open; Pluggable database altered. SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 HXSY1 READ WRITE NO