Oracle
Oracle
1.配置yum源
提示
安装oracle数据库之前,需要先安装相关依赖,通过yum方式安装,先准备yum源。
如果服务器可以访问外网,可以直接使用网络yum源,不需要特殊配置可以直接使用。因项目一般都在内网,主要介绍如何使用配置yum源。
根据服务器操作系统,由项目上将操作系统安装镜像iso文件挂载到服务器上,或者自己准备对应的系统ios镜像传到服务器上。
挂载镜像:
#方式1:如果是项目上为服务器挂载了镜像,则执行:
mkdir -p /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
#方式2:如果是直接将iso镜像传到服务器上,则直接挂载该iso文件,例如iso文件目录:/root/Redhat.iso:
mount -p /mnt/cdrom
mount /root/Redhat.iso /mnt/cdrom
配置yum源文件:
# 先备份默认源
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/
# 配置本地源,新建文件local.repo
vi /etc/yum.repos.d/local.repo
#输入以下内容,其中baseurl中的/iso是系统镜像挂在的路径
[local]
name=local
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
# 保存后激活即可
yum clean all
yum makecache
2.关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
#重启系统
reboot
3.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
4.hosts文件配置
#设置hostname
hostnamectl set-hostname db
#配置hosts文件,其中ip地址修改为实际服务器ip
cat <<EOF>>/etc/hosts
#Public IP
192.168.0.100 db
EOF
5.安装依赖软件
## 安装常用软件
yum install -y vim tree net-tools unzip
## 安装Oracle依赖包
yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-devel gcc gcc-c++ libXext libXext.i686 zlib-devel zlib-devel.i686
6.创建用户和组
## 创建oinstall、dba组与oracle用户
groupadd -g 54321 oinstall
groupadd -g 54322 dba
useradd -u 9999 -g oinstall -G dba oracle
## 设置oracle用户密码,主要修改为复杂密码
echo "oracle:123456" | chpasswd
7.修改内核参数
## 修改内核参数文件
cat >> /etc/sysctl.conf << EOF
## add for oracle
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
EOF
## 使其生效
/sbin/sysctl -p
8.配置资源限制
cat >> /etc/security/limits.d/20-nproc.conf <<EOF
* soft nproc 4096
root soft nproc unlimited
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
EOF
9.配置用户环境变量
注意
默认安装到/u01目录,需要事先将服务器数据盘挂载到/u01上。
su - oracle
vi ~/.bash_profile
## 加入以下配置到文件尾
#日志存放位置
export TMP=/tmp
export TMPDIR=$TMP
#主机名
export ORACLE_HOSTNAME=db
#库名称
export ORACLE_UNQNAME=oracle
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1
#库名称
export ORACLE_SID=oracle
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
source ~/.bash_profile
10.创建相关文件目录
su root
mkdir /u01
mkdir /u01/app
mkdir /u01/app/oracle
mkdir /u01/app/oradata
mkdir /u01/app/archive
mkdir /u01/app/oracle/oraInventory
mkdir -p /u01/app/oracle/product/19.3.0/db_1
chown -R oracle:oinstall /u01/app/
chmod -R 775 /u01/app/
11.安装Oracle
下载Oracle安装文件:下载地址
上传文件到服务器,并将压缩包授权给oracle后用oracle用户解压到$ORACLE_HOME文件夹下
su - root
cd /soft
chown -R oracle:oinstall /soft
chmod 777 /soft
su - oracle -c "unzip -q /soft/LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/db_1/"
编辑db_install.rsp:
cd $ORACLE_HOME/install/response
cp db_install.rsp /soft
vim /soft/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.SID=oracle
静默安装Oracle软件:
cd $ORACLE_HOME
./runInstaller -silent -responseFile /soft/db_install.rsp -ignorePrereq
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.3.0/db_1/root.sh
配置监听:
cat >>/soft/netca.rsp <<EOF
[GENERAL]
RESPONSEFILE_VERSION="19.0"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
EOF
netca -silent -responseFile /soft/netca.rsp
主库安装数据库实例: dbca.rsp:
vim /soft/dbca.rsp
gdbName=oracle
sid=oracle
sysPassword=oracle
oracleHomeUserPassword=oracle
templateName=General_Purpose.dbc
emExpressPort=5500
totalMemory=1500
datafileDestination=/u01/app/oradata
characterSet=ZHS16GBK
nationalCharacterSet=AL16UTF16
databaseType=OLTP
静默安装:
dbca -silent -createDatabase -responseFile /soft/dbca.rsp
检查状态:
## 数据库状态
select name,db_unique_name,open_mode from v$database;
## 实例状态
select instance_name,status from v$instance;
vi /etc/profile
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
vi /etc/profile
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LANG=zh_CN.UTF-8
这个可以接触oracle上下键无法查看历史记录的问题
sudo yum install epel-release
sudo yum install rlwrap
su - oracle
vi .bash_profile
新增以下2行:
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
保存退出,执行:
source .bash_profile
rlwrap sqlplus / as sysdba