在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