一、准备工作
1、下载Oracle安装包,通过ftp工具上传到linux服务器并解压
由于Oracle官网上无法下载Oracle数据库之前的版本,可以在 Oracle Software Delivery Cloud 里搜索oracle database 11g
然后选择自己需要的版本进行下载:
此处上传目录以 /opt/software/ 为例。解压后两个文件会自动放入当前路径的database目录下,执行命令如下:
如果未安装 unzip 命令,可使用 yum 安装:
yum install -y unzip zip
cd /opt/software/
unzip V17530-01_1of2.zip
unzip V17530-01_2of2.zip
2、在/etc/hosts文件中增加主机名映射,配置host文件
vim /etc/hosts
192.168.31.100 hadoop100
3、关闭selinux
vim /etc/selinux/config
# 修改内容
SELINUX=disabled
#执行命令,关闭SELinux
setenforce 0
4 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld.service
二 安装步骤
1、安装依赖包
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686libstdc++-devel make sysstat unixODBC unixODBC-devel
2、添加oracle用户和用户组
创建oinstall组和dba组,把oracle用户加入到用户组,并设置oracle登录密码,命令如下:
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd itman666
# 把database文件权限给oracle:oinstall
chown -R oracle:oinstall /opt/software/database/
3、修改内核参数配置文件
vim /etc/sysctl.conf
# 在文件底部添加以下的内容
fs.file-max= 6815744
fs.aio-max-nr=1048576
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
kernel.sem= 250 32000 100 128
# 执行命令sysctl使其自检并生效
sysctl -p
4、增加相关配置信息
>>修改配置文件
vim /etc/security/limits.conf
# 在文件底部添加以下的内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
>>修改用户关联文件
vim /etc/pam.d/login
# 在文件底部添加以下的内容
session required /lib64/security/pam_limits.so
session required pam_limits.so
>>修改系统环境参数
vim /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
>>添加/etc/oraInst.loc文件并授权
vim /etc/oraInst.loc
# 添加配置
inventory_loc=/opt/module/oracle/oraInventory
inst_group=oinstall
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc
5、创建oracle安装目录和设置目录权限
mkdir /opt/module/oracle # oracle是数据库系统安装目录,
mkdir /opt/module/oracle/oradata # oradata是数据库数据安装目录,
mkdir /opt/module/oracle/oradata_back # oradata_back是数据备份目录,
mkdir /opt/module/oracle/oraInventory # oraInventory是清单目录
chown -R oracle:oinstall /opt/module/oracle /opt/module/oracle/oraInventory /opt/module/oracle/oradata/
chmod -R 775 /opt/module/oracle /opt/module/oracle/oraInventory /opt/module/oracle/oradata/
6、配置oracle用户环境变量
vim /home/oracle/.bash_profile
# 在文件底部追加以下内容
export ORACLE_BASE=/opt/module/oracle
export ORACLE_SID=orcl
# 保存退出,刷新配置
source .bash_profile
7、切换到root用户并授权相关文件
su - root
cd /home/oracle/
mkdir etc
# 将解压后的配置文件复制过来
cp /opt/software/database/response/* /home/oracle/etc/
# 授权
chown -R oracle:oinstall /home/oracle/etc
chmod 777 /home/oracle/etc/*.rsp
拷贝过来的文件如下:
8、切换到oracle用户,配置数据库安装文件
su - oracle
vim /home/oracle/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=hadoop100 #主机名
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/module/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN,zh_TW
ORACLE_HOME=/opt/module/oracle/product/11.2.0/db_1
ORACLE_BASE=/opt/module/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
#这里必须填ture
DECLINE_SECURITY_UPDATES=true
9、根据响应文件安装oracle
cd /opt/software/database
./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
此处会卡住,安装完成会出现以下情况则安装成功,若未出现可查看日志文件
参数说明:
- /opt/software/database 是安装包解压后的路径,此处根据安装包解压所在位置做修改,因人而异。
- runInstaller 是主要安装脚本
- -silent 静默模式
- -force 强制安装
- -ignorePrereq忽略warning直接安装。
- -responseFile读取安装应答文件。
10、安装完成后,执行root脚本程序
sh /opt/module/oracle/product/11.2.0/db_1/root.sh
11、切换成oracle用户配置环境变量
su - oracle
vim ~/.bash_profile
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${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=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data
使.bash_profile文件生效: source ~/.bash_profile
12、配置dbca.rsp文件,安装数据库实例
vim /home/oracle/etc/dbca.rsp
配置如下:
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/opt/module/oracle/oradata
RECOVERYAREADESTINATION=/opt/module/oracle/fast_recovery_area
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "40,960"
参数说明:
- GDBNAME="orcl" #78行 全局数据库的名字
- SID="orcl" #149行 SID对应的实例名字
- SYSPASSWORD="oracle" #190行 SYS管理员密码
- SYSTEMPASSWORE="oracle" #200行 SYSTEM管理员密码
- DATAFILEDESTINATION=/opt/module/oracle/oradata #357行 数据文件存放目录
- RECOVERYAREADESTINATION=/usr/local/oradata_back #367行 恢复数据存放目录
- CHARACTERSET="AL32UTF8" #415行 字符集,重要!!!建库后一般不能更改,所以建库前要确定清楚
- TOTALMEMORY= "40,960" #540行 oracle内存40,960MB,建议为物理内存70%~85%,物理内存50*1024*80%。
>>静默安装数据库命令
dbca -silent -responseFile /home/oracle/etc/dbca.rsp
安装过程控制台输出如下:
>>实例进程检查
ps -ef | grep ora_ | grep -v grep
13、监听配置
netca /silent /responsefile /home/oracle/etc/netca.rsp
>>查看监听状态
netstat -tnulp | grep 1521
>>切换到root用户执行以下操作
su root
chmod +s /bin/netstat
14、安装完成,使用sqlplus连接测试
sqlplus system
15、linux下设置oracle开机自启
>>切换到root用户执行以下操作
vim /opt/moudle/oracle/product/11.2.0/db_1/bin/dbstart
修改内容:将 ORACLE_HOME_LISTNER=$1
修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME
>>再执行
vim /opt/moudle/oracle/product/11.2.0/db_1/bin/dbshut
修改内容:将 ORACLE_HOME_LISTNER=$1
修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME
>>修改/etc/oratab文件
vim /etc/oratab
修改内容:将 orcl:/u01/app/oracle/product/11.2.0/db_1:N
中最后的 N 改为 Y
>>切换用户到oracle执行 dbshut 和 dbstart 测试oracle数据库的关闭和启动
注意:
su - oracle
相当于重新登陆,此时用户的家目录和PATH等信息会发生改变
su oracle
切换到oracle身份后用户的家目录和PATH仍然是原先用户的家目录和PATH
加了"-",是以login shell登陆的,所以会设置环境变量。如果不加,使用的还是切换前用户的环境变量,
此时执行 sqlplus
命令就会出错:bash: sqlplus: 未找到命令...