作者:高玉涵
时间:2021.12.12 15:07
博客:blog.csdn.net/cg_i
ORACLE 11.2.04 百度网盘: a36s 下载下面文件:
注:将上述文件上传至服务器 root 用户目录下。
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/7.3.0/lto-wrapper
目标:x86_64-linux-gnu
配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,fortran,lto --enable-plugin --enable-initfini-array --disable-libgcj --without-isl --without-cloog --enable-gnu-indirect-function --build=x86_64-linux-gnu --with-stage1-ldflags=' -Wl,-z,relro,-z,now' --with-boot-ldflags=' -Wl,-z,relro,-z,now' --with-tune=generic --with-arch_32=x86-64 --disable-multilib
线程模型:posix
gcc 版本 7.3.0 (GCC)
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment Bisheng (build 11.0.9.1+11)
OpenJDK 64-Bit Server VM Bisheng (build 11.0.9.1+11, mixed mode, sharing)
[root@cbskf1 etc]# systemctl stop firewalld
[root@cbskf1 etc]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2021-12-10 11:27:35 CST; 5s ago
Docs: man:firewalld(1)
Process: 6403 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 6403 (code=exited, status=0/SUCCESS)
12月 07 15:17:03 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
12月 07 15:17:03 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
12月 10 11:27:32 cbskf1 systemd[1]: Stopping firewalld - dynamic firewall daemon...
12月 10 11:27:35 cbskf1 systemd[1]: firewalld.service: Succeeded.
12月 10 11:27:35 cbskf1 systemd[1]: Stopped firewalld - dynamic firewall daemon.
vi /etc/selinux
SELINUX=disabled
vi /etc/sysconfig/network
cbskf1
more /etc/hosts
more /etc/sysconfig/network
127.0.0.1 第一列的名字与network的HOSTNAME一致
将默认 /var/lib/systemd/coredump 改为 /corefile
mkdir /corefile
chmod 777 /corefile/
[root@cbskf1 /]# sysctl -w kernel.core_pattern=/corefile/core_%e_%p_%t_%s
kernel.core_pattern = /corefile/core_%e_%p_%t_%s
配合 ORACLE 应用部署而进行的内核参数调整。修改 /etc/sysctl.conf 后,执行 sysctl -p
使设置立即生效。
# use for oracle11gR2
kernel.shmmax = 2147483648
kernel.shmall = 268435456
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
# 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
# 262144
fs.aio-max-nr = 1048576
fs.file-max = 6815744
#tuxedo
kernel.msgmni = 4096
kernel.msgmax = 65536
kernel.msgmnb = 84000
注:libnsl-2.28-36.1.ky10.x86_64.rpm 只能从网上下载,必须安装否则在安装会报 Could not create the Java Virtual Machine 的错。
[root@cbskf1 ~]# rpm -ivh libnsl-2.28-49.p02.ky10.x86_64.rpm
如果已联网或设置过本地源,通过 YUM 方试安装以下依赖库,这样可以简化安装过程,否则需要从官方源里下载所需依赖包手工安装:
yum install ksh-1:2020.0.0-4.ky10.x86_64
yum install libaio-devel*
yum install elfutils*
yum install gcc*
我所处的环境无法联接到互联网,本地 YUM 源也没有这些包,需访问官方源下载后手动安装。
rpm -ivh elfutils-0.180-1.ky10.x86_64.rpm
rpm -ivh elfutils-devel-0.180-1.ky10.x86_64.rpm
rpm -ivh elfutils-help-0.180-1.ky10.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-61.x86_64.rpm
继续下载安装非官方兼容依赖包:
注:上述依赖包官方没有提供,需从网络上下载,并采用 rpm -ivh xxx.rpm --nodeps --force 强制安装。
用户组 | ID | 说明 | 备主 |
---|---|---|---|
oinstall | 500 | oracle使用 | |
dba | 501 | oracle使用 |
groupadd -g 500 oinstall
groupadd -g 501 dba
用户 | ID | 属组 | 附属组 | SHELL | 目录 | 说明 | 备注 |
---|---|---|---|---|---|---|---|
oracle | 500 | oinstall | dba | bash | /home/oracle | oracle使用 |
注意:当用户和组同名时,必须保证用户 ID 和组 ID 不同,否则即使 root 用户以 su 切换用户角色时,系统也会提示需输入此用户密码(默认不会),即使,密码输入无误也会报“su: 鉴定故障”导致切换失败。
useradd -u 500 -d /home/oracle -s /usr/bin/bash -g oinstall -G dba oracle
以 root 用户执行下面的命令:
unzip p13390677_112040_Linux-x86-64_1of7.zip
执行后 4 个压缩包被展开,并在当前目录下生成一个名为 database 目录。将它移动到 oracle 用户目录下并赋相应权限。
mv database/ /home/oracle/
chown -R oracle:oinstall /home/oracle/
chmod -R 775 /home/oracle/
su - oracle
cd /home/oracle
vi .bash_profile
# User specific environment and startup programs
ORACLE_BASE=$HOME/app/oracle
ORACLE_HOME=$HOME/app/oracle/product/11.2.0.4/db_1/
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_BASE ORACLE_HOME PATH
cd database/install
mv unzip unzip.bak
ln -s /usr/bin/unzip
注:oracle 自带的unzip -qqo 安装时报错,替换成系统自带的。
mkdir /home/oracle/rsp # 为了方便创建一个存放应答文件目录
cp /home/oracle/database/response/* /home/oracle/rsp # 复制模版文件
cd /home/oracle/rsp
vi db_install.rsp
# 以下为自定义的内容
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=cbskf1
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0.4/db_1
ORACLE_BASE=/home/oracle/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:
11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=false
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=oadb
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL="passwd@test"
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
su - oracle
cd database
./runInstaller -silent -responseFile /home/oracle/rsp/db_install.rsp -ignorePrereq
正在启动 Oracle Universal Installer...
检查临时空间: 必须大于 120 MB。 实际为 128261 MB 通过
检查交换空间: 必须大于 150 MB。 实际为 4095 MB 通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2021-10-15_10-10-17PM. 请稍候...[oracle@intkf4 database]$ 可以在以下位置找到本次安装会话的日志:
/home/oracle/app/oraInventory/logs/installActions2021-10-15_10-10-17PM.log
Oracle Database 11g 的 安装 已成功。
请查看 '/home/oracle/app/oraInventory/logs/silentInstall2021-10-15_10-10-17PM.log' 以获取详细资料。
以 root 用户的身份执行以下脚本:
1. /home/oracle/app/oraInventory/orainstRoot.sh
2. /home/oracle/app/oracle/product/11.2.0.4/db_1/root.sh
Successfully Setup Software.
[root@cbskf1 install]#sh /home/oracle/app/oraInventory/orainstRoot.sh
更改权限/home/oracle/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。
更改组名/home/oracle/app/oraInventory 到 oinstall.
脚本的执行已完成。
[root@cbskf1 install]# sh /home/oracle/app/oracle/product/11.2.0.4/db_1/root.sh
Check /home/oracle/app/oracle/product/11.2.0.4/db_1/install/root_cbskf1_2021-10-15_22-14-40.log for the output of root script
[root@intkf4 install]# cat /u01/app/oracle/product/11.2.0.4/db_1/install/root_cbskf1_2021-10-15_22-14-40.log
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /home/oracle/app/oracle/product/11.2.0.4/db_1
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
Finished product-specific root actions.
/home/oracle/app/oracle/product/11.2.0.4/db_1/root.sh:行14: /home/oracle/app/oracle/product/11.2.0.4/db_1/rdbms/install/rootadd_rdbms.sh: 没有那个文件或目录
/home/oracle/app/oracle/product/11.2.0.4/db_1/root.sh:行16: /home/oracle/app/oracle/product/11.2.0.4/db_1/rdbms/install/rootadd_filemap.sh: 没有那个文件或目录
至此,安装已经完成,但由于当前系统 GCC 版本过高,虽然 ORACLE 提示安装成功,但实际上你什么事都干不了(如 proc 零字节)!不过不必担心,更不必重装,安装完成后,手工通过 relink 重新编译就好了。
cp libpthread_nonshared.a /usr/lib64/
chmod 755 /usr/lib64/libpthread_nonshared.a
注:libpthread_nonshared.a 是自备文件(文章开头提供的网盘中下载)。
cd /etc/alternatives
ln -sf /usr/bin/ld.gold ld
注:系统默认 ld 命令是 /usr/bin/ld -> /etc/alternatives/ld -> /usr/bin/ld.bfd 将 ld 最终链接的文件从 ld.bfd 改为 ld.gold
su - oracle
cd $ORACLE_HOME/bin
[oracle@cbskf1 bin]$ ./relink all
writing relink log to: /home/oracle/app/oracle/product/11.2.0.4/db_1//install/relink.log
至此,ORACLE 安装结束。
mount -o loop Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso /mnt
cd /etc/yum.repos.d/
mv kylin_x86_64.repo kylin_x86_64.repo.bak
vi ky.repo
###Kylin Linux Advanced Server 10 - os repo###
[yumlocal]
name=kylin-yumlocal
baseurl=file:///mnt
gpgcheck=0
enabled=1
#priority=1