oralce数据库部署
1、准备环境
虚拟机中部署
centos:7.6
ip地址 :192.168.206.130
宿主机:8G内存,在创建虚拟机是内存为2G(1G有点小)
硬盘大小:20G
2、安装包
本篇文章以部署oracle19c 为内容
安装包为:LINUX.X64_193000_db_home.zip
3、在安装之前需要配置相应的依赖包
yum install -y bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat ipmiutil net-tools nfs-utils python python-configshell python-rtslib python-six targetcli
安装完依赖包后,需要配置linux内核参数和相关配置
- 1 修改内核参数
编辑文件/etc/sysctl.conf,使用linux的vi编辑器
vi /etc/sysctl.conf
##在该配置文件中修改以下参数,如果不存在的就是直接添加,如果默认值比参考值大的话,就不需要修改(等于号前后有空格)。
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 1048576 -----生产环境一定重新配置
kernel.shmmax = 4294967296-----生产环境一定要重新配置
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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 = 1048586
配置完后别忘了生效
sysctl -p
这些内核参数我已经在虚拟机验证是没有任何问题,不用做任何修改。
当然如果在服务器上配置,是肯定不行的,会产生一系列的错误。本人教训惨痛;
这是在oracle创建实例的时候报的错
ORA-27104: system-defined limits for shared memory was misconfigured
生产服务器的内存是256G的,因为跑得还有一些其他的服务,所以内容就按128G算的。
具体配置大家可以自己算一下;
- 2 修改用户资源限制
vi /etc/security/limits.conf
##配置文件的最下方加入以下参数
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
- 3 修改/etc/pam.d/login配置文件
vi /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
- 4 创建用户组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
- 5 创建oracle的安装目录
这个因人而异,没有可以自己定义
mkdir -p /opt/oracle
mkdir -p /opt/oraInventory
mkdir -p /opt/database
mkdir -p /opt/oracle/product/19.3.0
mkdir -p /opt/oracle/oradata
mkdir -p /opt/oracle/flash_recovery_area
mkdir -p /opt/oracle/product/19.3.0/db_1
chown -R oracle:oinstall /opt/oracle
chown -R oracle:oinstall /opt/oracle/oradata
chown -R oracle:oinstall /opt/oraInventory
chown -R oracle:oinstall /opt/database
chmod -R 775 /opt/oracle
4 安装数据库
su - oracle
$ cd /opt/
$ unzip -q LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
一般我们在虚拟机都是root用户,上传完成的文件,属主属组都是root,这时候别忘了修改文件的权限
chown -R oracle:oinstall LINUX.X64_193000_db_home.zip
安装包解压到指定的安装目录后,就可以配置静默安装文件了。
这里我们是把静默安装文件拷贝到了家目录
将oracle静默安装所需应答文件全部拷贝至 /home/oracle文件夹下
$ cp -r $ORACLE_HOME/install/response /home/oracle
同时别忘了修改文件权限
chmod 755 /home/oracledb/oracle/*.rsp
编辑完应答文件后,直接执行命令就可以静默安装了。
配置文件部分
$ORACLE_HOME/runInstaller -silent -ignorePrereq -responseFile /home/oracle/response/db_install.rsp
如果不报错的话,就安装成功了;
- 问题一:
安装时由于是虚拟机,开始给的内存太小了,结果安装过程中报错,停止了。 所以内存要适当。 - 问题二:
这个是当我装完数据库后,启动监听,启动数据库是的报错;
lsnrctl start
sqlplus / as sysdba
startup
LRM-00109: could not open parameter file '/opt/oracle/product/19.3.0/db_1/dbs/initorcl.ora'
这个问起让我困扰了很久,百度很多资料大多都是从其他地方复制一个过来。但是我这还没有创建实例,哪有什么initorcl*.ora
而且 我在创建实例的时候,总是报错。每次都跑不到100%。 也就是报下面的错误
ORA-27104: system-defined limits for shared memory was misconfigured
开始的时候没有注意这个问题,一直在解决startup报错的问题上。数据库重装了三次
删除数据库
如何删除数据?
删除实例?