生产搭建环境:
操作系统:CentOS7.5
内存大小:32GB
硬盘:1T
注:正文中内核参数的优化根据实际环境修改
1 安装软件准备
1.1 软件准备
- jdk-8u161-linux-x64
http://www.oracle.com - ORACLE
linux.x64_11gR2_database_1of2,linux.x64_11gR2_database_2of2
http://www.oracle.com
1.2 注意事项
安装过程路径、密码尽量不要出现中文、特殊字符、空格、少于8位密码。
2 Oracle数据库安装
2.1 依赖包安装
# yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl sysstat libXp unixODBC unixODBC-devel
2.2 创建用户、设置密码
# groupadd oinstall
# groupadd dba
# useradd -m -g oinstall -G dba oracle
# passwd oracle
2.3 配置系统内核参数
# vi /etc/sysctl.com
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 15728640
kernel.sem = 1010 32000 1010 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
fs.file-max = 6815744
# sysctl -p
2.4 修改系统资源限制
# 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
2.5 修改环境变量
# vi /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
# source /etc/profile
2.6 创建oracle安装路径和权限
# mkdir -p /u01/oracle
# chown -R oracle:oinstall /u01
# chmod 755 /u01/oracle
2.7 解压安装文件
# cd /opt/software
# unzip linux.x64_11gR2_database_1of2.zip -d /u01/oracle/
# unzip linux.x64_11gR2_database_2of2.zip -d /u01/oracle/
# chmod -R 700 /u01/oracle/database
# chown -R oracle:oinstall /u01/oracle/database
2.8 设置oracle用户环境变量
$ su -l oracle
$ vi /home/oracle/.bash_profile
ORACLE_BASE=/u01/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
ORACLE_SID=srment
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
$ source /home/oracle/.bash_profile
2.9 静默安装
$ mkdir /u01/oracle/rsp/
$cp /u01/oracle/database/response/* /u01/oracle/rsp/
$ vi /u01/oracle/rsp/db_install.rsp
#----只装数据库软件
oracle.install.option=INSTALL_DB_SWONLY
#----配置主机名
ORACLE_HOSTNAME=主机名
#----指定oracle inventory目录的所有者
UNIX_GROUP_NAME=oinstall
#----指定产品清单oracle inventory目录的路径
INVENTORY_LOCATION=/u01/oraInventory
#----指定语言
SELECTED_LANGUAGES=en,zh_CN
#----设置ORALCE_HOME的路径
ORACLE_HOME=/u01/oracle/product/11.2.0/dbhome_1
#----指定ORALCE_BASE的路径
ORACLE_BASE=/u01/oracle/
#----安装数据库软件的版本,企业版
oracle.install.db.InstallEdition=EE
#----指定拥有DBA用户组,通常会是dba组
oracle.install.db.DBA_GROUP=dba
#----指定oper用户组
oracle.install.db.OPER_GROUP=oinstall
#----指定GlobalName
oracle.install.db.config.starterdb.globalDBName=zabbix
#----你指定的SID
oracle.install.db.config.starterdb.SID=zabbix
#----设置数据库编码
oracle.install.db.config.starterdb.characterSet=AL32UTF8
#----所有用户名的密码
oracle.install.db.config.starterdb.password.ALL=密码
#----安装时的安全更新检查
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
#----安装时不更新
DECLINE_SECURITY_UPDATES=true
配置dbca静默安装:
$ vi /u01/oracle/rsp/dbca.rsp
#----数据库的Global database name
GDBNAME = "zabbix"
#----数据库的实例名
SID = "zabbix"
#----指定sys用户密码
SYSPASSWORD = "密码"
#----指定system用户密码
SYSTEMPASSWORD = "密码"
#----指定数据文件存放的目录,默认$ORACLE_BASE/oradata
DATAFILEDESTINATION =
#----指定字符集
CHARACTERSET = "AL32UTF8"
#----指定国家字符集
NATIONALCHARACTERSET= "UTF8"
#----指定使用内存的大小,单位是MB。物理内存的60%-70%。
TOTALMEMORY = "8192"
$cd /u01/oracle/database
$ ./runInstaller -silent -ignorePrereq -responseFile /u01/oracle/rsp/db_install.rsp
使用root执行脚本
# /u01/oraInventory/orainstRoot.sh
# /u01/oracle/product/11.2.0/dbhome_1/root.sh
配置监听程序
$ cd $ORACLE_HOME/bin/
$ netca /silent /responsefile /u01/oracle/rsp/netca.rsp
配置建库
$ cd $ORACLE_HOME/bin/
$dbca -silent -responseFile /u01/oracle/rsp/dbca.rsp
2.10 配置数据库启动参数
$vi /etc/oratab
zabbix:/u01/oracle/product/11.2.0/dbhome_1:Y
$ vi /u01/oracle/product/11.2.0/dbhome_1/bin/dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME
$ vi /u01/oracle/product/11.2.0/dbhome_1/bin/dbstart
ORACLE_HOME_LISTNER=$ORACLE_HOME
启动、停止数据库命令
$dbshut
$dbstart
2.11 防火墙开放数据库端口(root用户)
编辑firewall开放相关端口:(--permanent永久生效,没有此参数重启后失效)
# firewall-cmd --zone=public --add-port=1521/tcp --permanent
重新载入
# firewall-cmd --reload
2.12 数据导入
# su -l oracle
$ mkdir /u01/oracle/backup
SQL> conn system/密码@zabbix;
SQL> create temporary tablespace zabbix_temp tempfile '/u01/oracle/oradata/zabbix/zabbix_temp.dbf' size 64m autoextend on next 64m maxsize unlimited extent management local;
SQL> create tablespace zabbix_data logging datafile '/u01/oracle/oradata/zabbix/zabbix_data.dbf' size 64m autoextend on next 64m maxsize unlimited extent management local;
SQL> create user 用户 identified by 密码 default tablespace zabbix_data temporary tablespace zabbix_temp;
SQL> grant connect,resource to 用户;
SQL> grant create view to 用户;
SQL> grant create public synonym to 用户;
SQL> grant drop public synonym to 用户;
SQL> grant unlimited tablespace to 用户;
SQL> create or replace directory dir_dump as '/u01/oracle/backup';
SQL> grant read,write on directory dir_dump to 用户;
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
SQL> alter system set processes=500 scope=spfile;
SQL> alter system set sessions=555 scope=spfile;
SQL> exit
$ impdp 用户名/密码@库名 DUMPFILE=zabbix.dmp DIRECTORY=dir_dump remap_schema=(dmp库名:当前用户名) remap_tablespace=(dmp库表空间:当前用户表空间) )
参数及部署过程有不足之处,还请多多指教!!