mysql 与 oracle 安装

11 月 9 日记录用,随便看看

mysql 安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 安装依赖
yum install libaio
# 创建用户组与用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
# 解压 mysql 至 /usr/local
cd /usr/local
tar zxvf /xx/mysql.tar.gz
# 添加软连接
ln -s mysql-xxxx mysql
# 创建 mysql 备份文件夹
cd mysql
mkdir mysql-files
chown mysql:mysql mysql-files
# 初始化 mysql
bin/mysqld --initialize --user=mysql
# 安装 ssl 密钥
bin/mysql_ssl_rsa_setup
# 启动 mysql
bin/mysqld_safe --user=mysql &

oracle 安装

静默安装

创建用户组与用户

首先创建用户组与用户,安装时要用到

1
2
3
4
5
6
7
8
# 创建用户组与用户
groupadd -g 2000 oinstall
groupadd -g 2001 dba
groupadd -g 2002 oper
useradd -m -u 2000 -g oinstall -G dba,oper -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
id oracle
# 设置 oracle 用户的密码
passwd oracle
描述 OS 组名 分配给该组的 OS 用户 Oracle 权限 Oracle 组名
Oracle 清单和软件所有者 oinstall oracle
数据库管理员 dba oracle SYSDBA OSDBA
数据库操作员 oper oracle SYSOPER OSOPER

创建安装所需文件夹、配置所属

安装位置和数据恢复区位置请自行修改

ORACLE_BASEORACLE_HOME安装位置 子目录

1
2
3
4
5
6
7
# 安装的位置
mkdir -p /home/oracle
# 数据恢复区的位置
mkdir -p /home/oraInventory
# 赋予对应权限
chown -R oracle:oinstall /home/oracle
chown -R oracle:oinstall /home/oraInventory

配置环境变量

配置 oracle 的用户变量

1
2
3
4
5
6
7
8
9
10
11
su oracle
vim ~/.bash_profile
# 添加如下内容
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
# 自行修改实例名
export ORACLE_SID=orcl
# 自行修改安装路径 与模板中相对应即可
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=/home/oracle/oracle11
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_UNQNAME=orcldb

修改 root 的用户变量 (可选)

1
2
3
4
su
vim ~/.bash_profile
# 添加如下内容
export PATH=$ORACLE_HOME/bin:$PATH

配置资源限制

1
2
3
4
5
6
vim /etc/security/limits.conf
# 添加如下内容
oracle hard nofile 65536
oracle soft nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384

修改内核参数

1
2
3
4
5
6
7
8
9
10
11
12
13
vim /etc/sysctl.conf
# 添加如下内容
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmmax =4294967295
kernel.shmall =2097152
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=4194304
net.core.wmem_max=4194304
net.ipv4.ip_local_port_range =9000 65500
fs.file-max=6815744
fs.aio-max-nr=1048576
1
2
3
4
# 使生效
sysctl -p
# 查看是否生效
sysctl -q kernel

修改网络设置

1
2
3
vim /etc/pam.d/login
# 如果不存在下一行 请加入 如果有 则不用处理
session    required    pam_limits.so

修改环境变量

1
2
3
4
5
6
7
8
9
10
11
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
umask 022
fi

关闭防火墙

1
sudo systemctl stop firewalld.service

关闭 selinux

1
2
3
4
5
vim /etc/sysconfig/selinux
# 修改内容如下
SELINUX=disabled
# 使生效
setenforce 0

检查 nobody 用户存在

1
2
3
4
5
# 输入如下指令
id nobody
# 如未输出如下信息 则执行如下指令
# uid=99(nobody) gid=99(nobody) 组=99(nobody)
/usr/sbin/useradd nobody

安装软件

1
2
3
4
5
6
7
# 安装依赖
yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-static kernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libstdc++-static make numactl-devel sysstat unixODBC unixODBC-devel
# 解压安装包
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
# 为安装包所在路径设置所属组和用户
chown -R oracle:oinstall ……/database

解压完成之后可以看到一个名为 database 的文件夹,文件夹结构如下

1
2
3
4
5
6
- database
|- install
|- response
|- rpm
|- sshsetup
\- stage

其中静默安装所需要用到的模板在 response 文件夹中

1
2
3
4
- response
|- db_install.rsp
|- dbca.rsp
\- netca.rsp

首先修改 db_install.rsp 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vim ./response/db_install.rsp
# 自行修改为如下所示
oracle.install.option=INSTALL_DB_SWONLY
# 你的ip
ORACLE_HOSTNAME=
UNIX_GROUP_NAME=oinstall
# 数据恢复区的位置
INVENTORY_LOCATION=/home/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
# 安装位置
ORACLE_HOME=/home/oracle/oracle11
ORACLE_BASE=/home/oracle
# 安装版本
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=oinstall
oracle.install.db.OPER_GROUP=oinstall
DECLINE_SECURITY_UPDATES=true

修改完成之后,切换至 Oracle 用户,使用该模板进行安装

注意,模板使用不支持相对路径,请修改 xx/response/db_install.rsp 为绝对路径

1
2
3
su oracle
cd ./database/
./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /response/db_install.rsp

等待…… 直到提示如下内容

1
2
3
4
5
6
7
8
9
Oracle Database 11g 的 安装 已成功。
请查看 '/xxxxxxx.log' 以获取详细资料。

以 root 用户的身份执行以下脚本:
1. /home/oracle/inventory/orainstRoot.sh
2. /home/oracle/oracle11/root.sh


Successfully Setup Software.

执行

1
2
sh /home/oracle/inventory/orainstRoot.sh
sh /home/oracle/oracle11/root.sh

配置监听

使用模板依旧要求使用绝对路径,注意修改

安装依旧需要使用 Oracle 用户进行

1
2
su oracle
netca -silent -responseFile /database/response/netca.rsp

查看监听端口

1
netstat -tnulp | grep 1521

安装实例

修改模板

1
2
3
4
5
6
7
8
9
10
11
12
vim /database/response/dbca.rsp
# 自行修改为如下所示
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEJARLOCATION =/home/oracle/oradata
RECOVERYAREADESTINATION=/home/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "1638"

使用模板安装

还是使用 oracle 用户,绝对路径

注意!在同一终端切换用户并不会使该用户的用户变量生效

你需要在切换用户之后重新加载用户变量(后续操作皆为如此

1
source ~/.bash_profile
1
2
su oracle
dbca -silent -responseFile /database/response/dbca.rsp

如只提示 “ 有关详细信息, 请参阅日志文件 "/home/oracle/cfgtoollogs/dbca/orcl1.log"。 ”,请查看日志

如日志错误为 “ 未找到包含数据文件信息的文件 "/home/oracle/oradata/Seed_Database.dfb"。请指定有效文件。

请使用 find / -name Seed_Database.dfb 查找 dfb 文件 并将查找的文件 复制至日志中提到的路径

例如

1
2
# cp 找到文件的路径 日志中提到的路径
cp /xxxx/xxxx/Seed_Database.dfb /home/oracle/oradata/

开启监听服务

1
2
3
4
# 查看监听服务
lsnrctl status
# 开启监听服务
lsnrctl start

开启数据库

1
2
3
4
sqlplus /nolog
# sql 输入
conn / as sysdba
startup