CentOS Linux release 7.6.1810 (Core) 静默安装oracle18c
淌过的河,湿了鞋
经历的烦,能渡人
参考
https://www.linuxidc.com/Linux/2017-03/141830.htm
https://www.linuxidc.com/Linux/2016-12/138678.htm
https://docs.oracle.com/cd/E11882_01/em.112/e12255/oui3_response_files.htm#OUICG183
http://www.ha97.com/4788.html
下载链接(需要登陆,使用wget下载时,rpm包需要认证,而zip包不需要,直接可下载)
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip
https://download.oracle.com/otn/linux/oracle18c/180000/oracle-database-ee-18c-1.0-1.x86_64.rpm?AuthParam=1564123203_97207c60053b2834fecbd8a7786ccc44
https://download.oracle.com/otn/linux/oracle18c/180000/oracle-database-ee-18c-1.0-1.x86_64.rpm
https://download.oracle.com/otn/linux/oracle18c/180000/oracle-database-ee-18c-1.0-1.x86_64.rpm
https://download.oracle.com/otn/linux/oracle18c/180000/LINUX.X64_180000_db_home.zip?AuthParam=1564126689_3e44379dc67f5b129e0af3962eaab5db
开始安装
环境
硬件环境
物理内存不小于1.5G
硬盘可用空间不小于5G(安装包3-4G)
swap分区空间不小于2G
软件环境
所需依赖(oracle官网显示)
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
compat-libstdc++-33-3.2.3-71.el7.i686
compat-libstdc++-33-3.2.3-71.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
查询缺失依赖并安装
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libxcb libXi make sysstat
binutils-2.27-34.base.el7.x86_64
package compat-libcap1 is not installed
package compat-libstdc++-33 is not installed
gcc-4.8.5-36.el7_6.2.x86_64
package gcc-c++ is not installed
glibc-2.17-260.el7_6.6.x86_64
glibc-devel-2.17-260.el7_6.6.x86_64
package ksh is not installed
package libaio is not installed
package libaio-devel is not installed
libgcc-4.8.5-36.el7_6.2.x86_64
libstdc++-4.8.5-36.el7_6.2.x86_64
package libstdc++-devel is not installed
libXext-1.3.3-3.el7.x86_64
libXtst-1.2.3-1.el7.x86_64
libX11-1.6.5-2.el7.x86_64
libXau-1.0.8-2.1.el7.x86_64
libxcb-1.13-1.el7.x86_64
libXi-1.7.9-1.el7.x86_64
make-3.82-23.el7.x86_64
sysstat-10.1.5-17.el7.x86_64
#####安装
yum -y install compat-libcap1 compat-libstdc++-33 gcc-c++ ksh libaio libaio-devel libstdc++-devel
创建用户组设置账户密码
groupadd oracle #添加oracle组
groupadd dba #添加dba组
useradd -g oracle -Gdba oracle #添加oracle用户
passwd oracle #设置oracle用户密码
修改内核参数(oracle建议)
vim /etc/sysctl.conf
cat >> /etc/sysctl.conf<<EOF
#ORACLE SETTING
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4181979136
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
EOF
sysctl -p
修改用户内核限制参数(oracle建议)
vim /etc/security/limits.conf
cat >> /etc/security/limits.conf<<EOF
#ORACLE SETTING
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
EOF
关闭防火墙关闭selinux(---)
创建安装目录并设置权限
cd /usr/local
mkdir -p oracle/database
mkdir -p oracle/oraInventory #安装目录--》ORACLE_HOME=/usr/local/oracle/databas ORACLE_BASE=/usr/local/oracle
移动安装包到安装目录
unzip /opt/soft/oracle_18c/LINUX.X64_180000_db_home.zip -d /usr/local/oracle/database
chmod -R 775 oracle
chown -R oracle:oracle oracle #设置oracle文件夹为oracle用户
设置环境变量
su - oracle
vim /home/oracle/.bash_profile
export PATH
export ORACLE_BASE=/usr/local/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/database #数据库路径
export ORACLE_SID=myorcl #启动数据库实例名
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=en_US
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
或者执行脚本setEnv.sh
脚本如下:
cat > /home/oracle/scripts/setEnv.sh <<EOF
#Oracle Settings
export TMP=/tmp
export TMPDIR=\$TMP
export ORACLE_UNQNAME=myorcl
export ORACLE_BASE=/usr/local/oracle
export ORACLE_HOME=/usr/local/oracle/database
export ORA_INVENTORY=/usr/local/oracle/oraInventory
export ORACLE_SID=myorcl
export PDB_NAME=myorclpdb
export DATA_DIR=/usr/local/oracle/oradata/
export PATH=/usr/sbin:/usr/local/bin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$PATH
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
EOF
echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile
source /home/oracle/.bash_profile
安装oracle18c(静默安装,非图形化安装)
配置oracle安装响应文件
vim /usr/local/oracle/database/install/response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v18.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oracle
INVENTORY_LOCATION=/usr/local/oracle/oraInventory
ORACLE_HOME=/usr/local/oracle/database
ORACLE_BASE=/usr/local/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=myorcl
oracle.install.db.config.starterdb.SID=myorcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
修改所需必要配置即可
cd /usr/local/oracle/database
./runInstaller -force -silent -responseFile /usr/local/oracle/database/install/response/db_install.rsp
执行这条命令就开始安装过程
安装过程中如报错,请检查环境配置以及安装响应配置文件
安装完成后 提示执行两条脚本(切换到root用户执行),按提示执行即可
sh /usr/local/oracle/oraInventory/orainstRoot.sh
sh /usr/local/oracle/root.sh
安装后设置
静默监听配置(自行配置)
/usr/local/oracle/database/assistants/netca
vim /usr/local/oracle/database/assistants/netca/netca.rsp
netca -silent -responsefile /usr/local/oracle/database/assistants/netca/netca.rsp
更改监听配置(自行配置)
/usr/local/oracle/database/network/admin/listener.ora
lsnrctl stop
lsnrctl start
lsnrctl status
dbca静默创建数据库实例
vim /usr/local/oracle/database/assistants/dbca/dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v18.0.0
gdbName=myorcl
sid=myorcl
databaseConfigType=SI
policyManaged=false
createServerPool=false
force=false
numberOfPDBs=1
templateName=/usr/local/oracle/database/assistants/dbca/templates/General_Purpose.dbc
emExpressPort=5500
runCVUChecks=false
omsPort=0
dvConfiguration=false
olsConfiguration=false
datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/
recoveryAreaDestination={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}
storageType=fs
characterSet=AL32UTF8
nationalCharacterSet=AL16UTF16
registerWithDirService=FALSE
listeners=LISTENER
variables=DB_UNIQUE_NAME=myorcl,ORACLE_BASE=/usr/local/oracle,PDB_NAME=,DB_NAME=myorcl,ORACLE_HOME=/usr/local/oracle/database,SID=myorcl
initParams=undo_tablespace=UNDOTBS1,memory_target=2048MB,processes=300,db_recovery_file_dest_size=10834MB,nls_language=AMERICAN,dispatchers=(PROTOCOL=TCP) (SERVICE=myorcl),db_recovery_file_dest={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME},db_block_size=8192BYTES,diagnostic_dest={ORACLE_BASE},audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,nls_territory=AMERICA,local_listener=LISTENER_MYORCL,compatible=18.0.0,control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}/control02.ctl"),db_name=myorcl,audit_trail=db,remote_login_passwordfile=EXCLUSIVE,open_cursors=300
sampleSchema=false
memoryPercentage=40
databaseType=MULTIPURPOSE
automaticMemoryManagement=false
totalMemory=0
dbca -silent -createDatabase -responseFile /usr/local/oracle/database/assistants/dbca/dbca.rsp
接下来会自动创建数据库实例并启动
安装过程如下所示,实例会自动配置并启动
[oracle@iZ2zeb281zcjztofgty6tnZ response]$ dbca -silent -createDatabase -responseFile /usr/local/oracle/response/test_dbca.rsp
输入 SYS 用户口令:
输入 SYSTEM 用户口令:
准备执行数据库操作
已完成 10%
复制数据库文件
已完成 40%
正在创建并启动 Oracle 实例
已完成 42%
已完成 46%
已完成 50%
已完成 54%
已完成 60%
正在进行数据库创建
已完成 66%
已完成 69%
已完成 70%
执行配置后操作
已完成 100%
数据库创建完成。有关详细信息, 请查看以下位置的日志文件:
/usr/local/oracle/cfgtoollogs/dbca/test。
数据库信息:
全局数据库名:test
系统标识符 (SID):test
有关详细信息, 请参阅日志文件 "/usr/local/oracle/cfgtoollogs/dbca/test/test.log"。
数据库基本操作
sqlplus / as sysdba // 登录数据库
select open_mode from vinstance; //查看数据库状态
alter user sys identified by oracle; //改sys超级管理员密码
alter user system identified by oracle; //改system管理员密码
create user identified by oracle; //创建用户
exit // 退出数据库
sqlplus sys/oracle as sysdba //使用sys超级管理员登录数据库
startup // 启动数据库
select name from v$database; //查看数据库
shutdown abort //关闭数据库
conn system/oracle //切换用户conn后面直接跟用户名和密码就可以
设置开机自启动oracle和监听器
su - oracle
vim /usr/local/oracle/database/bin/dbstart
#将ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
vim /usr/local/oracle/database/bin/dbshut
#将ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
vim /etc/oratab
myorcl:/usr/local/oracle/database:Y
vim /etc/rc.local
su - oracle -c 'dbstart'
su - oracle -c 'lsnrctl start'
chmod+x /etc/rc.local
Linux下重启Oracle数据库步骤
1、Linux下以Oracle帐户进入Linux系统。
2、执行以下命令查看数据库监听器的状况:
lsnrctl status
3、执行以下命令停止数据库监听器运行:
lsnrctl stop
4、执行以下命令进入SQLPlus:
sqlplus /nolog
conn /as sysdba
shutdown immediate
5、执行以下命令退出SQLPlus:
Exit
6、启动,查看数据库监听器:
lsnrctl start
lsnrctl status
7、启动Oracle数据库:
sqlplus /nolog
conn /as sysdba
startup
window下进入sqlplus 命令:sqlplus / as sysdba
Linux下进入sqlplus 命令:sqlplus "/as sysdba"