百度云盘链接:https://pan.baidu.com/s/1_HeKG1RUmabmwRA_syhVOA
提取码:265e
查看Swap分区空间(不能小于2G):
grep SwapTotal /proc/meminfo
修改CentOS系统标识 (由于Oracle默认不支持CentOS)
vim /etc/redhat-release
删除CentOS Linux release 7.9.2009 (Core)(快捷键dd),改成 redhat-7
修改sysctl.conf
vim /etc/sysctl.conf
添加以下内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 2147483648
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
修改完后,启用新的配置
sysctl -p
新建文件夹上传 Oracle 依赖包以及安装包
mkdir -p /home/oracle/build
切换到对应安装文件夹目录
cd /home/oracle/build
解压文件压缩包
unzip 文件名.zip
执行安装所有离线包
rpm -ivh * --nodeps --force
创建安装oracle程序用户组
groupadd oinstall
创建 DBA 用户组
groupadd dba
创建用户oracle 并加入到dba组
useradd -g dba -m oracle
将用户oracle加入到oinstall组
usermod -a -G oinstall oracle
修改用户oracle的密码
passwd oracle
查看用户oracle的信息
id oracle
创建oracle主目录、oralce配置目录以及压缩包解压目录
mkdir -p /home/oracle/app/oracle
mkdir -p /home/oracle/app/inventory
mkdir -p /home/oracle/app/src
修改目录权限
chown -R oracle:oinstall /home/oracle/app/oracle
chown -R oracle:oinstall /home/oracle/app/inventory
chown -R oracle:oinstall /home/oracle/app/src
修改oracle用户的安全性能设置
vim /etc/security/limits.conf
添加内容如下:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
修改用户环境变量
vim /home/oracle/.bashrc
添加内容如下:
export PATH
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
激活/home/oracle/.bashrc
source /home/oracle/.bashrc
切换到安装包路径下解压并授权 Oracle 安装包
unzip linux.x64_11gR2_database_1of2.zip -d /home/oracle/app/src
unzip linux.x64_11gR2_database_2of2.zip -d /home/oracle/app/src
chown -R oracle:oinstall /home/oracle/app/src
关闭selinux
vim /etc/selinux/config
将 SELINUX 修改为 disabled
重启机器
reboot
进入Oracle用户
su oracle
编辑数据库安装文件
vim /home/oracle/app/src/database/response/db_install.rsp
根据以下值修改(要细心,一个也不能错!!!)
oracle.install.option=INSTALL_DB_SWONLY # 安装类型
ORACLE_HOSTNAME=oracle.server # 主机名称
UNIX_GROUP_NAME=oinstall # 安装组
INVENTORY_LOCATION=/data/inventory # INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN # 选择语言
ORACLE_HOME=/data/oracle/product/11.2.0/db_1 # oracle_home
ORACLE_BASE=/data/oracle # oracle_base
oracle.install.db.InstallEdition=EE # oracle版本
oracle.install.db.DBA_GROUP=dba # dba用户组
oracle.install.db.OPER_GROUP=oinstall # oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE # 数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl # globalDBName
oracle.install.db.config.starterdb.SID=orcl # SID
oracle.install.db.config.starterdb.characterSet=AL32UTF8 # 默认数据库编码
oracle.install.db.config.starterdb.memoryLimit=800 # 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle # 设定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true # 设置安全更新
编辑监听配置文件
vim /home/oracle/app/src/database/response/netca.rsp
修改以下值
INSTALL_TYPE=""custom"" # 安装的类型
LISTENER_NUMBER=1 # 监听器数量
LISTENER_NAMES={"LISTENER"} # 监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"} # 监听器使用的通讯协议列表
LISTENER_START=""LISTENER"" # 监听器启动的名称
编辑数据库实例文件
vim /home/oracle/app/src/database/response/dbca.rsp
修改以下值
RESPONSEFILE_VERSION ="11.2.0" // 不要变哦
OPERATION_TYPE ="createDatabase" // 操作为创建实例
GDBNAME ="orcl" // 数据库实例名
SID ="orcl" // 实例名字
TEMPLATENAME = "General_Purpose.dbc" // 建库用的模板文件
SYSPASSWORD = "oracle" // SYS管理员密码
SYSTEMPASSWORD = "oracle" // SYSTEM管理员密码
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION =/data/oracle/oradata // 数据文件存放目录
RECOVERYAREADESTINATION=/data/oracle/flash_recovery_area // 恢复数据存放目录
CHARACTERSET ="AL32UTF8" // 字符集
NATIONALCHARACTERSET= "AL16UTF16" // 字符集
TOTALMEMORY ="1638" // 1638MB,物理内存2G*80%
安装 Oracle 数据库实例
/home/oracle/app/src/database/runInstaller -silent -responseFile /home/oracle/app/src/database/response/db_install.rsp -ignorePrereq
执行到一半时打开另一窗口, root 账号下输入
/home/oracle/app/oracle/product/11.2.0/db_1/root.sh
常见错误:
MoTTY X11 proxy: Unsupported authorisation protocol
处理
# root 账户下执行
cp /root/.Xauthority /home/oracle/
# oracle 账号下执行
chmod -R 777 .Xauthority
错误:
MoTTY X11 proxy: Authorisation not recognised
处理:
# root 账户下查看
xauth list
# oracle 下执行(此命令复制 root xauth list 中对应的 unix:10)
xauth add oracle12c/unix:10 MIT-MAGIC-COOKIE-1 9ff67354074d8c2f5c6c3871b16304ab
重启客户端则可解决。
执行安装监听
/home/oracle/app/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /home/oracle/app/src/database/response/netca.rsp
常见错误:
Error: jniGetOracleHome
处理:
# 在 root 账户下搜索
find / -name libclntsh.so.11.1
# 复制 backup 文件夹下的 libclntsh.so.11.1 到报错路径下的文件
cp /home/oracle/app/oracle/product/11.2.0/db_1/inventory/backup/2023-04-04_02-08-20AM/Scripts/ext/lib/libclntsh.so.11.1 /home/oracle/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1
执行安装 netca
/home/oracle/app/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /home/oracle/app/src/database/response/dbca.rsp
此处执行完后本机实应当安装完成。
查看实例是否运行
ps -ef | grep ora_ | grep -v grep
实例不存在则是出现 Bug, 多数是需要重装。
修改/etc/oratab
vim /etc/oratab
将orcl:/data/oracle/product/11.2.0:N修改为orcl:/data/oracle/product/11.2.0:Y
修改启动实例程序
vim /home/oracle/app/oracle/product/11.2.0/db_1/bin/dbstart
将 ORACLE_HOME_LISTNER 由 $1 替换为 /home/oracle/app/oracle/product/11.2.0/db_1
修改关闭实例程序
vim /home/oracle/app/oracle/product/11.2.0/db_1/bin/dbshut
将 ORACLE_HOME_LISTNER 由 $1 替换为 /home/oracle/app/oracle/product/11.2.0/db_1
授权 rc.local
chmod +x /etc/rc.d/rc.local
修改自启文件
vim /etc/rc.d/rc.local
在文件最后追加以下内容:
su oracle -lc "/home/oracle/app/product/11.2.0/db_1/bin/lsnrctl start"
su oracle -lc "/home/oracle/app/product/11.2.0/db_1/bin/dbstart"
删除oracle主目录
rm -rf /home/oracle/app
删除用户缓存
rm -rf /usr/local/bin/dbhome /usr/local/bin/oraenv /usr/local/bin/coraenv
rm -rf /etc/oratab /etc/oracle /etc/oraInst.loc
删除用户及用户组
userdel -rf oracle
groupdel dba
groupdel oper
groupdel oinstall