亲爱的oracle是一个具有内涵的关系型数据库,虽说关系型数据库的底层本质是相同(相通的),但oracle其复杂&麻烦程度仅次于DB2。
在市场"去oracle"的呼声中,oracle DBA显得弥足珍贵,如果您再来那么两三句英语,那就更是"珍馐“。
想用oracle,想知道oracle究竟怎么用,首先要安装oracle服务。
那么,接下来我们一起安装oracle 19c
一 磁盘分区
1.1查看磁盘情况 :
fdisk -lsblk
1.2划分区
fdisk /dev/sdb
1.3再次检查磁盘分区
lsblk
二 创建逻辑卷-OS可操作
2.1 创建物理卷
pvcreate /dev/vdb1
2.2 创建逻辑卷组
vgcreate vg00 /dev/vdb1
2.3 查看逻辑卷组
vgdisplay
2.4 创建逻辑卷
lvcreate -l 12799 -n lv00 vg00
2.5 创建文件系统
mkfs -t ext4 /dev/mapper/vg00-lv00
2.6 查看磁盘情况
fdisk -l
2.7 创建逻辑盘
mkdir /u01
2.8 mount 逻辑卷
mount /dev/mapper/vg00-lv00 /u01
2.9 查看磁盘大小
df -lh
2.10 加载启动项
vim /etc/fstab
三准备Oracle环境
1 登录并检查服务器环境
1.1查看操作系统版本和修改hosts文件信息
cat /etc/redhat-release
cat /etc/hosts
1.2查看内存和磁盘信息
df -h
1.3 关闭selinux 和 防火墙
vim /etc/selinux/config
SELINUX=disabled
1.4 设置网络
vim /etc/sysconfig/network-scripts/ifcfg-eth0
service network restart
2 安装需要的RPM 包
yum -y install compat-libstdc++-33 glibc-* glibc-*.i686 libXpm-*.i686 libXp.so.6 libXt.so.6 libXtst.so.6 libgcc_s.so.1 ksh libXp libaio-devel numactl numactl-devel unixODBC unixODBC-devel
3 修改内核参数/etc/sysctl.conf
在 sysctl.conf 中加入以下内容,sysctl -p使其生效
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
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
kernel.shmmax =42949672960 #大于等于物理内存一半
kernel.shmall =10485760 #shmmax/4096
4 设置 Oracle 用户的 Shell 限制
在 /etc/security/limits.conf 中添加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
* soft memlock 52428800
* hard memlock 52428800
注:
limits.conf 文件发生更改时,这些更改立即生效。
但是,如果Oracle用户已登录,则这些更改将在注销这些用户并重新登录之后生效。必须先完成此操作,然后再使用这些帐户进行安装。
5 设置ulimit-可选
/etc/profile中添加以下行:
if [ USER = "oracle" \]; then if \[ SHELL = "/bin/ksh" ]; then
ulimit -u 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
6 创建Oracle用户和组
groupadd oinstall
groupadd dbagroupadd oper
groupadd asmdba
groupadd backupdba
groupadd dgdba
groupadd kmdba
groupadd racdba
useradd -g oinstall -G oper,dba,asmdba,backupdba,dgdba,kmdba,racdba oracle
passwd oracle
7 创建目录
# mkdir -p /u01/app/oracle/product/19.3.0/db_home_1
# mkdir -p /u01/app/oraInventory
# mkdir -p /u01/software
# chown -R oracle.oinstall /u01
# chmod -R 755 /u01
8 设置oracle用户的环境变量
vim ~/.bash_profile ,并编译source ~/.bash_profile(oracle用户执行)
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_home_1
export ORACLE_SID=ORCL
export PATH=PATHexport LD_LIBRARY_PATH=ORACLE_HOME/JRE:ORACLE_HOME/rdbms/jlib
export PATH=ORACLE_HOME/OPatch:ORACLE_HOME/network/admin
export ORACLE_PATH=.:ORACLE_HOME/rdbms/admin
export SQLPATH=$ORACLE_HOME/sqlplus/admin
**export NLS_LANG="AMERICAN_CHINA.ZHS16GBK"
**umask=022
四 安装Oracle
1上传EEenterprise版本oracle安装文件并解压缩
2调整swap
查看内存
grep MemTotal /proc/meminfo
查看swap
grep SwapTotal /proc/meminfo
查看可用内存和swap
free
swap:
物理内存
< = 4G, swap=8G
物理内存
**>4G , swap=内存
**
#开一个swapfile 4096Byte * 1000000
dd if=/dev/zero of=/swapfile bs=4096 count=1000000
mkswap /swapfile
swapon /swapfile
3静默安装19c软件
响应文件$ORACLE_HOME/install/response/db_install.rsp
/u01/app/oracle/product/19.3.0/db_home_1/runInstaller -silent -force -noconfig -ignorePrereq \
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0 \
oracle.install.option=INSTALL_DB_SWONLY \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/u01/app/oraInventory \
ORACLE_BASE=/u01/app/oracle \
ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_home_1 \
oracle.install.db.InstallEdition=EE \ #根据lisence
oracle.install.db.OSDBA_GROUP=dba \
oracle.install.db.OSOPER_GROUP=oper \
oracle.install.db.OSBACKUPDBA_GROUP=backupdba \
oracle.install.db.OSDGDBA_GROUP=dgdba \
oracle.install.db.OSKMDBA_GROUP=kmdba \
oracle.install.db.OSRACDBA_GROUP=racdba
#root账号 执行以下文件
#oracle.install.db.rootconfig.executeRootScript=true
#oracle.install.db.rootconfig.configMethod=ROOT
执行过程如下:
Launching Oracle Database Setup Wizard...
[WARNING] [INS-32047] The location (/u01/app/oraInventory) specified for the central inventory is not empty.
ACTION: It is recommended to provide an empty location for the inventory.
Enter password for 'root' user:
[WARNING] [INS-13014] Target environment does not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met. See logs for details. installActions2020-07-29_09-45-58PM.log
ACTION: Identify the list of failed prerequisite checks from the log: installActions2020-07-29_09-45-58PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
/u01/app/oracle/product/19.3.0/dbhome_1/install/response/db_2020-07-29_09-45-58PM.rsp
You can find the log of this install session at:
/tmp/InstallActions2020-07-29_09-45-58PM/installActions2020-07-29_09-45-58PM.log
Successfully Setup Software with warning(s).
Moved the install session logs to:
/u01/app/oraInventory/logs/InstallActions2020-07-29_09-45-58PM
4 dbca静默方式创建FS存储方式的单实例(含一个PDB):
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname SIT02 -sid SIT02 \
-sysPassword oracle123 \
-systemPassword oracle123 \
-datafileDestination '/u01/app/oracle/oradata' \
-recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \
-redoLogFileSize 50 \ #
-storageType FS \
-characterset AL32UTF8 -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-totalMemory 2048 \
-databaseType OLTP \
-emConfiguration NONE
执行过程如下:
8% complete
Copying database files
31% complete
Creating and starting Oracle instance
32% complete
36% complete
40% complete
43% complete
46% complete
Completing Database Creation
51% complete
53% complete
54% complete
Creating Pluggable Databases
58% complete
77% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
/u01/app/oracle/cfgtoollogs/dbca/ORCL.
Database Information:
Global Database Name:ORCL
System Identifier(SID):ORCL
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ORCL/ORCL.log" for further details.
5 静默配置监听
-- vim $ORACLE_HOME/netca.rsp
[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"}
-- 配置监听
ORACLE_HOME/netca.rsp
-- 查看监听状态
lsnrctl status
6 设置数据库开机启动
cd ORACLE_HOME
vim /etc/oratab
ORCL:/u01/app/oracle/product/19.3.0/dbhome_1:Y
-- vim /usr/bin/oracle.sh #Root权限
#! /bin/bash
# script For oracle19c.service
/u01/app/oracle/product/19.3.0/db_home_1/bin/lsnrctl start
/u01/app/oracle/product/19.3.0/db_home_1/bin/dbstart
chmod 555 /usr/bin/oracle.sh
-- 设置成系统服务oracle19c.service
vim /etc/systemd/system/oracle19c.service
[Unit]
Description=Oracle19c
After=syslog.target network.target
[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=oneshot
RemainAfterExit=yes
User=oracle
Environment="ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_home_1"
ExecStart=/usr/bin/oracle.sh
[Install]
WantedBy=multi-user.target
-- 开机自启动oracle服务
systemctl enable oracle19
-- 重启服务器reboot,验证oracle是否自启动
Systemctl status oracle
七 登陆数据库
Sqlplus / as sysdba
Desc v$database
Archive log list
八碎碎念
os参数配置,oracle官方网站有提供。