315 lines
7.9 KiB
Markdown
315 lines
7.9 KiB
Markdown
## Debian12 安装 oracle11g
|
||
|
||
---
|
||
|
||
1. 查看系统版本
|
||
|
||
2. 设置本地时区为上海
|
||
|
||
```shell
|
||
timedatectl
|
||
apt-get install ntpdate
|
||
timedatectl set-timezone Asia/Shanghai
|
||
ntpdate ntp1.aliyun.com
|
||
date
|
||
```
|
||
|
||
3. 检查当前系统版本号
|
||
|
||
```shell
|
||
root@debianPE:~# lsb_release -a
|
||
No LSB modules are available.
|
||
Distributor ID: Debian
|
||
Description: Debian GNU/Linux 12 (bookworm)
|
||
Release: 12
|
||
Codename: bookworm
|
||
```
|
||
|
||
4. 安装必用软件
|
||
|
||
```shell
|
||
apt-get install -y vim net-tools
|
||
```
|
||
|
||
5. 配置虚拟内存
|
||
|
||
```shell
|
||
root@debianPE:~# grep SwapTotal /proc/meminfo
|
||
SwapTotal: 998396 kB
|
||
root@debianPE:~# free -h
|
||
total used free shared buff/cache available
|
||
Mem: 1.9Gi 955Mi 400Mi 13Mi 784Mi 1.0Gi
|
||
Swap: 974Mi 0B 974Mi
|
||
root@debianPE:~# sudo swapoff -a
|
||
root@debianPE:~# sudo dd if=/dev/zero of=/swapfile bs=1G count=4
|
||
4+0 records in
|
||
4+0 records out
|
||
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 19.3218 s, 222 MB/s
|
||
root@debianPE:~# sudo mkswap /swapfile
|
||
mkswap: /swapfile: insecure permissions 0644, fix with: chmod 0600 /swapfile
|
||
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
|
||
no label, UUID=24c39cae-4736-4bfb-90df-a0261c14efbe
|
||
root@debianPE:~# sudo swapon /swapfile
|
||
swapon: /swapfile: insecure permissions 0644, 0600 suggested.
|
||
root@debianPE:~# grep SwapTotal /proc/meminfo
|
||
SwapTotal: 4194300 kB
|
||
```
|
||
|
||
6. Configuring the static IP address
|
||
|
||
```shell
|
||
进入图形界面配置
|
||
```
|
||
|
||
7. 验证主机名和用户信息
|
||
|
||
```shell
|
||
root@debianPE:~# hostnamectl
|
||
Static hostname: debianPE
|
||
Icon name: computer-vm
|
||
Chassis: vm 🖴
|
||
Machine ID: 49d85c389b8e4dc99e284730f244dfde
|
||
Boot ID: 4f3ef4e224ba4715add5c52df2e54d67
|
||
Virtualization: kvm
|
||
Operating System: Debian GNU/Linux 12 (bookworm)
|
||
Kernel: Linux 6.1.0-25-amd64
|
||
Architecture: x86-64
|
||
Hardware Vendor: QEMU
|
||
Hardware Model: Standard PC _i440FX + PIIX, 1996_
|
||
Firmware Version: rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org
|
||
root@debianPE:~# groupadd oinstall
|
||
root@debianPE:~# groupadd dba
|
||
root@debianPE:~# mkdir -p /home/oracle
|
||
root@debianPE:~# mkdir -p /u01/app/oracle
|
||
root@debianPE:~# useradd -g oinstall -G dba -d /home/oracle -s /bin/bash oracle
|
||
root@debianPE:~# passwd oracle
|
||
New password:
|
||
Retype new password:
|
||
passwd: password updated successfully
|
||
root@debianPE:~# chown -R oracle:oinstall /home/oracle
|
||
root@debianPE:~# chown -R oracle:oinstall /u01/app/oracle
|
||
root@debianPE:~# mkdir -p /u01/app/oraInventory
|
||
root@debianPE:~# chown -R oracle:oinstall /u01/app/oraInventory
|
||
```
|
||
|
||
8. 配置系统参数
|
||
|
||
```shell
|
||
root@debianPE:~# nano /etc/sysctl.conf
|
||
|
||
vim /etc/sysctl.conf
|
||
|
||
Append the lines shown below to the end of this configuration file.
|
||
|
||
# ============================
|
||
|
||
# Oracle 11g
|
||
|
||
# ============================
|
||
|
||
# semaphores: semmsl, semmns, semopm, semmni
|
||
|
||
kernel.sem = 250 32000 100 128
|
||
|
||
kernel.shmall = 2097152
|
||
|
||
kernel.shmmni = 4096
|
||
|
||
# Replace kernel.shmmax with the half of your memory size in bytes
|
||
|
||
# if lower than 4 GB minus 1
|
||
|
||
# 2147483648 is 2 GigaBytes (4 GB of RAM / 2)
|
||
|
||
kernel.shmmax=2147483648
|
||
|
||
#
|
||
|
||
# Max number of network connections. Use sysctl -a | grep ip_local_port_range to check.
|
||
|
||
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
|
||
|
||
#
|
||
|
||
# The maximum allowed value, set to avoid overhead and input/output errors
|
||
|
||
fs.aio-max-nr = 1048576
|
||
|
||
# 512 * Processes
|
||
|
||
fs.file-max = 6815744
|
||
|
||
fs.suid_dumpable = 1
|
||
|
||
#
|
||
|
||
# To allow dba to allocate hugetlbfs pages
|
||
|
||
# 1001 is your oinstall group, you can check this id with the grep oinstall /etc/group command
|
||
|
||
vm.hugetlb_shm_group = 1001
|
||
|
||
Apply the kernel parameters you have set:
|
||
|
||
sysctl -p
|
||
|
||
|
||
--------------------------
|
||
|
||
root@debianPE:~# sysctl -p
|
||
net.ipv6.conf.all.disable_ipv6 = 1
|
||
net.ipv6.conf.default.disable_ipv6 = 1
|
||
net.ipv6.conf.lo.disable_ipv6 = 1
|
||
kernel.sem = 250 32000 100 128
|
||
kernel.shmall = 2097152
|
||
kernel.shmmni = 4096
|
||
kernel.shmmax = 2147483648
|
||
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
|
||
fs.aio-max-nr = 1048576
|
||
fs.file-max = 6815744
|
||
fs.suid_dumpable = 1
|
||
vm.hugetlb_shm_group = 1001
|
||
root@debianPE:~#
|
||
```
|
||
|
||
9. Set up limits.conf
|
||
|
||
```shell
|
||
Edit the /etc/security/limits.conf file:
|
||
|
||
vim /etc/security/limits.conf
|
||
|
||
Add the following lines to the end of the configuration file:
|
||
|
||
# Oracle
|
||
|
||
oracle soft nproc 2047
|
||
|
||
oracle hard nproc 16384
|
||
|
||
oracle soft nofile 1024
|
||
|
||
oracle hard nofile 65536
|
||
|
||
oracle soft stack 10240
|
||
|
||
The first column specifies the user for whom the limits are set.
|
||
```
|
||
|
||
10. PAM configration
|
||
|
||
```shell
|
||
root@debianPE:~# cat /etc/pam.d/login | grep pam_limits.so
|
||
session required pam_limits.so
|
||
root@debianPE:~#
|
||
```
|
||
|
||
11. ### **Setting the shell profile**
|
||
|
||
```shell
|
||
Edit /etc/profile and set some needed parameters for oracle globally and permanently:
|
||
|
||
vim /etc/profile
|
||
|
||
Add the following lines:
|
||
|
||
if [ $USER = "oracle" ]; then
|
||
|
||
if [ $SHELL = "/bin/ksh" ]; then
|
||
|
||
ulimit -p 16384
|
||
|
||
ulimit -n 65536
|
||
|
||
else
|
||
|
||
ulimit -u 16384 -n 65536
|
||
|
||
fi
|
||
|
||
fi
|
||
|
||
Note: It is useful to know when each shell configuration file can be used because later you will need to configure a profile that contains environment variables for the oracle user.
|
||
```
|
||
|
||
12. ### **Installing the required packages**
|
||
|
||
```shell
|
||
按照手册详操作,比较复杂
|
||
```
|
||
|
||
13. ### **Creating symbolic links**
|
||
|
||
```shell
|
||
Run commands as root:
|
||
|
||
mkdir /usr/lib64
|
||
|
||
ln -s /etc /etc/rc.d
|
||
|
||
ln -s /usr/bin/awk /bin/awk
|
||
|
||
ln -s /usr/bin/basename /bin/basename
|
||
|
||
ln -s /usr/bin/rpm /bin/rpm
|
||
|
||
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /usr/lib64/
|
||
|
||
ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
|
||
|
||
ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
|
||
|
||
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
|
||
|
||
ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
|
||
|
||
ln -sf /bin/bash /bin/sh
|
||
|
||
ln -s /etc/rc0.d /etc/rc.d/rc0.d
|
||
|
||
ln -s /etc/rc2.d /etc/rc.d/rc2.d
|
||
|
||
ln -s /etc/rc3.d /etc/rc.d/rc3.d
|
||
|
||
ln -s /etc/rc4.d /etc/rc.d/rc4.d
|
||
|
||
ln -s /etc/rc5.d /etc/rc.d/rc5.d
|
||
|
||
ln -s /etc/rc6.d /etc/rc.d/rc6.d
|
||
|
||
ln -s /etc/init.d /etc/rc.d/init.d
|
||
|
||
The above commands help prevent errors, such as:
|
||
|
||
genclntsh: Failed to link libclntsh.so.11.1 in make file for rdbms/lib/ins_rdbms.mk because of missing library: /usr/bin/ld: cannot find /usr/lib64/libpthread_nonshared.a inside
|
||
lib//libagtsh.so: undefined reference to `nnfyboot’ in make: rdbms/lib/dg4odbc] Error 1
|
||
Now let’s prevent one more error: /lib64/libgcc_s.so.1: File or directory does not exist, while creating lib/liborasdkbase.so.11.1 in ins_rdbms.mk. Go to the /lib64 directory and execute the command:
|
||
|
||
cd /lib64
|
||
|
||
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 .
|
||
|
||
Don’t miss the dot at the end of the command.
|
||
|
||
Set the Linux version as Red Hat Linux release 5 in /etc/redhat-release. Red Hat Linux distributions store their version in that file.
|
||
|
||
echo 'Red Hat Linux release 5' > /etc/redhat-release
|
||
```
|
||
|
||
14.
|
||
|