oracle12c安装步骤和18c一样,下面安装的有第四章节是18c,12c可以作为参考;
第五章节是按照11gR2;
11gR2详细安装步骤地址:https://blog.csdn.net/u011291276/article/details/108143497
另外,除了最终执行runInstaller 安装内容外,安装之前的内容基本的都是安装oracle必须的操作,
本人用此步骤成功安装18c和11gR2,两者区别仅是最终安装执行runInstaller 命令稍微不同,以及配置文件不同。
Oracle18c 静默安装包
LINUX.X64_180000_db_home.zip
Centos7
Oracle11gR2静默安装包
linux.x64_11gR2_database_2of2.zip
linux.x64_11gR2_database_1of2.zip
su - root (环境配置在root用户下)
hostname vsir128
vi /etc/hosts 添加IP对应主机名
192.168.255.128 vsir128
参考处已忘记,但这里面包含了大部分的包,缺少的几个包已经忘记是哪个了,
编译及安装时候提示缺少包,可以在继续找下,大家复制后去除换号符后粘贴
进去可以直接安装;如果需要离线安装,网上找其对应的包全部下载后使用rpm形式安装;
yum -y install binutils compat-libcap1 compat-libstdc++-33
compat-libstdc++-33*i686 compat-libstdc++-33*.devel
compat-libstdc++-33 compat-libstdc++-33*.devel gcc
gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio
libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++
libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686
libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686
unixODBC-devel unixODBC-devel*.i686
如果系统安装时设置的swap过小,则可通过下面方法扩容
cd /usr
mkdir swap
dd if=/dev/zero of=/usr/swap/swapfile bs=1G count=4 (这条命令从硬盘里分出一个 1×4G 大小的空间,挂在swapfile上)
chmod 0600 /usr/swap/swapfile
mkswap /usr/swap/swapfile
swapon /usr/swap/swapfile
解决重启失效vi /etc/fstab增加行
/usr/swap/swapfile swap swap defaults 0 0
--如果创建了swapfile之后,想要删除,必须先执行以下命令
swapoff swapfile
然后再执行删除文件操作
rm swapfile
vim /etc/sysctl.conf 修改或添加
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
修改后使之生效
/sbin/sysctl -p
vim /etc/security/limits.conf
#在末尾添加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
此处不修改应该是可以继续安装,参考的其他很多安装方式没有要修改此项,本人已直接修改
vi /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
使用文本编辑器或vi命令增加或修改以下内容
其中的oracle为给oracle安装创建的用户名,如果要创建为其他名字,需要修改为其对应
vi /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
使之生效
source /etc/profile
永久关闭:
[vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled
防火墙配置放开Oracle的端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
vi /etc/default/grub
在GRUB_CMDLINE_LINU 的 最后,加上 transparent_hugepage=never
vi /etc/redhat-release centos7改为redhat-7因为Oracle不支持centos
用户配置
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54330 racdba
/usr/sbin/useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
passwd oracle
切到Oracle用户
su - oracle
vi /home/oracle/.bashrc 增加
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/18.3.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export DISPLAY=0.0.0.0:1.0
使之生效
source .bash_profile
oracle11g运行runinstall成功之后在添加“DISPLAY”此项设置
切到root
exit 或 su - root
mkdir /opt/oracle
chmod -R 777 /opt/oracle
chown -R oracle:oinstall /opt/oracle
切到Oracle
su - oracle
mkdir –p $ORACLE_HOME
上传oracle11g或12c或18c安装包到oracle根目录 $ORACLE_BASE下
cd $ORACLE_BASE/product/18.3.0.0/dbhome_1
./runInstaller -silent -executePrereqs -responseFile install/response/db_install.rsp
如果不通过看日志,回显中有输出日志文件,找日志文件中的error,看内存swap等是否
满足还有kernel等设置,都会明确的告诉你当前是多少建议多少
./runInstaller -silent -ignorePrereqFailure -responseFile install/response/db_install.rsp
以下图片和dbca配置图片截取自他人博客,修改内容项一致,个别地方需要根据自己情况来填写
/opt/oracle/product/18.3.0.0/dbhome_1/bin/netca -silent -responsefile /opt/oracle/product/18.3.0.0/dbhome_1/assistants/netca/netca.rsp
启动监听和下面的创建数据库还是会提示缺少包而导致失败,网上有一篇文章里面列举了好多个linux安装oracle失败缺少的包,
目前我安装提示的错误都在里面找到了,具体的链接已经忘记保存了,大家装的时候可以在搜索一下;
监听启动后,命令查看下端口是否启动
netstat -apn|grep 1521 (没有权限则切换到root用户查看)
/opt/oracle/product/18.3.0.0/dbhome_1/bin/dbca -silent -createDatabase -responsefile /u01/app/oracle/product/18.3.0.0/dbhome_1/assistants/dbca/dbca.rsp
创建数据库过程需要几分钟时间,耐心等待
参考:https://blog.csdn.net/chenghuikai/article/details/85776622
解压两个zip文件到$ORACLE_BASE根目录下默认database文件夹;
cd $ORACLE_BASE/database
修改内容的路径请根据自己设置的路径填写
oracle.install.responseFileVersion=/opt/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
DECLINE_SECURITY_UPDATES=true
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOSTNAME=
ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/opt/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
su - oracle
执行:(必须绝对路径,否则报错)
./runInstaller -silent -responseFile /opt/oracle/database/response/db_install.rsp -ignorePrereq
su - root
sh /opt/oracle/inventory/orainstRoot.sh
sh /opt/oracle/product/11.2.0/dbhome_1/root.sh
netca.rsp文件在oracle安装目录下 /opt/oracle/database/response/netca.rsp
执行(必须使用绝对路径):
netca -silent -responsefile /opt/oracle/database/response/netca.rsp
查看监听端口
netstat -tnpl | grep 1521
编辑应答文件
/opt/oracle/database/response/dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "1638"
su - oracle
文件在oracle根目录下 /opt/oracle/database/response
dbca -silent -responseFile /opt/oracle/database/response/dbca.rsp
查看oracle进程
ps -ef|grep ora
查看监听状态
lsnrctl status
至此数据库就安装成功了,下面我们登录下数据库
设置Oracle11g开机启动
修改/opt/oracle/product/11.2.0/dbhome_1/bin/dbstart
ORACLE_HOME_LISTNER=$ORACLE_HOME
修改/opt/oracle/product/11.2.0/dbhome_1/bin/dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME
修改vi /etc/oratab
orcl:/opt/oracle/product/11.2.0/dbhome_1:Y
su - root
新建文件/etc/rc.d/init.d/oracle
注意:有些系统的bash启动名字为sh,第一行应更换为 #!/bin/sh
#! /bin/bash
# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1
ORACLE_USER=oracle
case "$1" in
'start')
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n $"Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
;;
'stop')
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
exit 1
fi
echo -n $"Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
;;
'restart')
$0 stop
$0 start
;;
'status')
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
给/etc/init.d/oracle添加执行权限
chmod +x /etc/init.d/oracle
开机启动oracle
systemctl enable oracle
或
chkconfig oracle on
给启动文件加权限
chmod 6751 /opt/oracle/product/11.2.0/dbhome_1/bin/oracle
cd /var/tmp
chown -R oracle:oinstall .oracle
sqlplus / as sysdba
验证创建结果
alter user sys identified by oracle;
alter user system identified by oracle;
oracle11g修改scott账户
alter user scott account unlock;
alter user scott identified by tiger;
select username,account_status from dba_users;
lsnrctl start
数据库操作
sqlplus / as sysdba // 登录数据库
select open_mode from v$database;
select status from v$instance; //查看数据库状态
alter user sys identified by oracle; //改sys超级管理员密码
alter user system identified by oracle; //改system管理员密码
exit // 退出数据库
sqlplus sys/oracle as sysdba //使用sys超级管理员登录数据库
startup // 启动数据库
select name from v$database; //查看数据库
shutdown abort //关闭数据库
conn system/oracle //切换用户conn后面直接跟用户名和密码就可以
redhat6安装Oracle11g 执行runinstall时候提示 NoClassDefFoundError错误,此处检查结果是缺少rpm包,执行以下命令,没有的包全部安装
rpm -q --queryformat %-{name}-%{version}-%{release}-%{arch}"\n" \ binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ \ libstdc+±devel make pdksh sysstat xscreensaver