目录
一、安装准备
Oracle安装相对复杂,遇到问题多百度,综合大家的文档解决问题。
1.系统环境
CentOS7.6操作系统,64位
2.Oracle安装包
安装包:linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip。截至目前,Oracle官网已经将此版本下架,因此需要找其他资源获取安装包。
链接: https://pan.baidu.com/s/19eVTlscBX-2YKgwzRAA0MQ
提取码: r2rr
登录root用户:su - root
1.配置yum源
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
2.安装所需依赖包
yum -y install binutils \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
expat \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
make \
ksh \
sysstat \
unixODBC \
unixODBC-devel
3.检查依赖是否安装完整
rpm -q \
binutils \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
expat \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
make \
ksh \
sysstat \
unixODBC \
unixODBC-devel
4.添加oracle用户组和用户
groupadd oinstall
groupadd dba
groupadd asmadmin
groupadd asmdba
useradd -g oinstall -G dba,asmdba oracle -d /home/oracle
5.添加完成后,查看oracle用户
id oracle
6.初始化oracle用户的密码
passwd oracle
7.配置hostname
# 1.编辑 /etc/hosts 文件
vi /etc/hosts
# 2.将如下信息添加至文件中,此处的 192.168.44.4 换成你自己的本机 IP
192.168.44.4 oracle
# 3.测试 hostname
ping -c 4 oracle
8.优化OS内核参数
# 1.修改 /etc/sysctl.conf 文件
vi /etc/sysctl.conf
# 2.添加如下内容。其中,kernel.shmmax 参数设置为物理内存的一半
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmni=4096
kernel.shmmax = 17179869184
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=1048586
# 3.使配置的参数生效
sysctl -p
9.限制oracle用户的shell权限
# 1.限制 oracle 用户的文件权限
# 1.1修改 /etc/security/limits.conf 文件
vi /etc/security/limits.conf
# 1.2.在末尾添加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
# 2.限制 oracle 登录权限
# 2.1修改 /etc/pam.d/login 文件
vi /etc/pam.d/login
# 2.2在末尾添加,如已有则修改
session required /lib64/security/pam_limits.so
session required pam_limits.so
# 3.指定 oracle 用户使用的 shell ,修改 /etc/profile 文件
vi /etc/profile
# 3.1文件末尾添加
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
# 3.2使修改的配置生效
source /etc/profile
10.创建oracle安装目录
mkdir -p /data/app/oracle/product/11.2.0
mkdir /data/app/oracle/oradata
mkdir /data/app/oracle/oraInventory
mkdir /data/app/oracle/fast_recovery_area
chown -R oracle:oinstall /data/app/oracle
chmod -R 775 /data/app/oracle
11.创建 vi /etc/oraInst.loc
inventory_loc=/data/app/oracle/oraInventory
inst_group=oinstall
12.授权
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc
13.配置oracle用户环境变量
登录oracle用户:su - oracle
# 1.家目录编辑变量文件
vi /home/oracle/.bash_profile
# 2.末尾添加以下内容
export ORACLE_HOSTNAME=oracle
export ORACLE_BASE=/data/app/oracle
export ORACLE_SID=ORCL
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
# 3.以上配置完成后,执行以下命令
source /home/oracle/.bash_profile
14.解压oracle安装文件到 /data
# 上传linux.x64_11gR2_database_*of2.zip文件至/data/目录,解压后的两个目录会自动合并
# 如oracle用户无法上传文件,可使用root用户上传后再授权给oracle用户,chown -R oracle:oinstall /data/database
cd /data/
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
15.登录Root,复制授权
登录root用户:su - root
mkdir /home/oracle/etc/
cp /data/database/response/* /home/oracle/etc/
chmod 777 /home/oracle/etc/*.rsp
16.登录Oracle配置安装文件
登录oracle用户:su - oracle
# 1.编辑安装文件
vi /home/oracle/etc/db_install.rsp
# 2.查找并修改如下信息:
# 注意 starterdb.memoryLimit 的值按照实际情况填写,建议为物理内存的一半,单位M
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOSTNAME=oracle
ORACLE_HOME=/data/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/data/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.memoryLimit=5210
oracle.install.db.config.starterdb.password.ALL=oracle
DECLINE_SECURITY_UPDATES=true
17.开始安装
# 1.安装,注意:如上面的配置不对,则此步骤会报错。如报错请仔细检查前面的配置,再来执行此安装命令。
cd /data/database/response/
./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
# 2.安装期间可以使用tail命令查看oracle的安装日志
tail -f /data/app/oracle/oraInventory/logs/installActions2021-02-25_10-38-29AM.log
# 3.安装完成,会提示Successfully Setup Software.
18.使用root用户执行脚本
登录root用户:su - root
# 执行脚本
/data/app/oracle/product/11.2.0/db_1/root.sh
19.增加或修改oracle的环境变量
登录oracle用户:su - oracle
# 1.编辑oracle用户变量
vi /home/oracle/.bash_profile
# 2.末尾添加如下内容
export ORACLE_HOME=/data/app/oracle/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/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/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
# 使配置生效
source /home/oracle/.bash_profile
20.配置监听程序
# 1.配置监听程序
[oracle@oracle bin]$ cd /data/app/oracle/product/11.2.0/db_1/bin
[oracle@oracle bin]$ ./netca /silent /responseFile /home/oracle/etc/netca.rsp
# 2.启动监控程序
[oracle@oracle bin]$ lsnrctl start
21.静默dbca建库
# 1.编辑应答文件
[oracle@oracle ~]$ vi /home/oracle/etc/dbca.rsp
GDBNAME="orcl"
SID="orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
CHARACTERSET="AL32UTF8"
NATIONALCHARACTERSET="UTF8"
# 2.执行命令建库,达到100%即创建数据库实例成功
$ORACLE_HOME/bin/dbca -silent -responseFile /home/oracle/etc/dbca.rsp
# 3.删除实例命令
[oracle@oracle ~]$ $ORACLE_HOME/bin/dbca -silent -deleteDatabase -sourcedb orcl
22.设置Oracle开机启动
[oracle@oracle bin]$ vi /etc/oratab
orcl:/data/app/oracle/product/11.2.0/db_1:Y # //把“N”改成“Y”
23.通过dbstart、dbshut 启停oracle
[oracle@oracle bin]$ cd /data/app/oracle/product/11.2.0/db_1/bin
# 通过dbstart 启动监听器
[oracle@oracle bin]$ ./dbstart $ORACLE_HOME;
# oracle的进程关闭,监听器也停止
[oracle@oracle bin]$ ./dbshut $ORACLE_HOME;
# 启动监听
[oracle@oracle bin]$ ./lsnrctl start;
# 查看监听
[oracle@oracle bin]$ ./lsnrctl status;
24.登录Oracle
# 1.登录oracle
[oracle@oracle bin]$ cd /data/app/oracle/product/11.2.0/db_1/bin
[oracle@oracle bin]$ ./sqlplus /nolog
# 2.进入系统管理用户
SQL> conn / as sysdba
Connected to an idle instance.
# 3.启动oracle实例
SQL> startup;
25.创建表空间及用户
# 1.登录oracle
su - oracle
sqlplus / as sysdba
# 2.查询现有的表空间
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name;
# 3.创建表空间
CREATE TABLESPACE TEST DATAFILE '/data/app/oracle/oradata/orcl/user01.dbf' SIZE 500m autoextend on next 50M maxsize unlimited;
# 4.创建用户和密码并指定表空间,用户oracle,密码oracle
CREATE USER oracle IDENTIFIED BY oracle DEFAULT TABLESPACE ORACLE;
# 5.给oracle用户权限赋予
GRANT CONNECT,DBA,RESOURCE TO oracle;
25.注意事项
1.创建的oracle用户可以使用工具连接了,但没有系统权限,需要根据自己的需求添加。
2.此文档亲测可用,我安装过程中没有遇到特殊问题,但不保证各位朋友也不会遇到问题。
3.之前项目用的全是MySQL,因此本人对Oracle了解有限,如有疏漏,请各位多指正。