目录
- 一、关闭防火墙
- 二、安装补丁
- 1. 在线安装(需连接外网)
- 2. 离线安装(内网环境推荐)
- 3. 挂载镜像后执行1命令
- 二、建立用户和组:
- 三、创建安装目录
- 四、修改内核参数
- 参数说明
- 五、改文件限制:
- 六、修改oracle用户的环境变量
- 七、创建交换空间
- 八、安装软件
- 1.修改/etc/profile
- 2.修改/etc/selinux/config里SELINUX的值
- 3.安装数据库软件
- 4.创建监听
- 5.创建数据库
- 6.专用模式改为共享模式
- 九、测试oracle是否安装成功
- 十、修改字符集
- 十一、调整process(进程数)
- 十二、修改密码过期策略
- 总结
一、关闭防火墙
# 查看防火墙状态 systemctl status firewalld # 关闭防火墙 systemctl stop firewalld # 开启防火墙 systemctl disable firewalld
二、安装补丁
先更新环境依赖库,看有没有报错
yum update
(三选一即可)
1. 在线安装(需连接外网)
执行命令:
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ gcc-c++glibc*.i686 glib c glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcclibstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaiolibaio*.i686 libaio-devel libaio-devel*.i686 make sysstat UnixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp libXtst
检查是否安装成功(31个安装包)
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
2. 离线安装(内网环境推荐)
网上下载对应操作系统版本的rpm依赖包,执行下述命令编程客栈
rpm -ivh *.rpm --nodeps --force
3. 挂载镜像后执行1命令
- 修改yum镜像
cd /etc/yum.repos.d/ vim iso.repo
#### [base] name=iso #mirrorlist=http://mirrorlist.Centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra baseurl=file:///mnt gpgcheck=0 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enable=1 #######
- 每次重启都要,执行挂载命令:
mount -o loop /home/software/rhel-server-7.7-x86_64-dvd.iso /mnt #iso.repo里的baseurl
- 测试
yum repolist
- 清理
yum makecache yum clean all
二、建立用户和组:
groupadd oinstall 编程客栈groupadd dba groupadd oper useradd -g oinstall -G dba,oper oracle #oracle用户的密码设置,后面会用到 echo "您的密码" | passwd --stdin oracle
三、创建安装目录
mkdir -p /app/oracle/product/12c/dbhome chown -R oracle:oinstall /app chmod -R 775 /app
四、修改内核参数
(先看下方参数声明,根据服务器参数对配置文件的插入语句做适当修改)
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576 fs.fi编程le-max = 6815744 #设置最大打开文件数 kernel.shmall = 2097152 # 共享内存总量,以页为单位。 kernel.shmmax = 4294967295 # 共享内存段的最大尺寸(以字节为单位) kernel.shmmni = 4096 # 整个系统共享内存段的最大数量 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 # 应用程序可使用的IPv4端口范围 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
改好后,使之生效:
sysctl -p
参数说明
kernel.shmall = 6580668 # 可以使用的共享内存的总页数(Linux共享内存页大小为4kb) kernel.shmmni=4096 # 设置系统范围内共享内存段的最大数量(默认4096) kernel.shmmax = 33693024256 # 单个共享内存段的最大值(字节);一个共享内存段应容纳下整个SGA(>=sga_max_size) 32位linux系统:推荐值 4294967295 64位linux系统:推荐值 内存|kernel.shmmax|kernel.shmall 12G | 12884901887 | 3145728 16G | 17179869183 | 4194304 32G | 34359738367 | 8388608 64G | 68719476735 | 16777216 128G | 137438953471 | 33554432 # 计算公式如下 kernel.shmmax = 内存*1024*1024*1024 kernel.shmall = kernel.shmmax/1024/4
五、改文件限制:
vim /etc/security/limit编程客栈s.conf #(没有前面这个文件,则 vi /etc/security/limits.d/20-nproc.conf )
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 #oracle soft memlock unlimited #oracle hard memlock unlimited
六、修改Oracle用户的环境变量
su - oracle vim .bash_profile
export ORACLE_BASE=/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/12c/dbhome export ORACLE_SID=orcl export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
# 加载环境变量 source .bash_profile
七、创建交换空间
dd if=/dev/zero of=/home/swap bs=1024 count=8000000 mkswap /home/swap swapon /home/swap
八、安装软件
1.修改/etc/profile
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 fi #使配置生效 source /etc/profile
2.修改/etc/selinux/config里SELINUX的值
vim /etc/selinux/config SELINUX=disabled
3.安装数据库软件
su - oracle cd /app/database ./runInstaller -silent -responseFile /app/database/db_install.rsp
完成数据库软件安装,切到root用户,运行以下脚本。
sh /app/oraInventory/orainstRoot.sh sh /app/oracle/product/12c/dbhome/root.sh
4.创建监听
su - oracle cd /app/database/ netca -silent -responsefile /app/database/netca.rsp
5.创建数据库
su - oracle dbca -silent -createDatabase -responseFile /app/database/dbca.rsp
设置密码: ***
6.专用模式改为共享模式
--没有返回值,说明处于专用模式: SQL>select * from v$dispatcher; SQL>show parameter shared_ser --在线修改共享服务器进程的数量 --(若执行下方SQL出现乱码,可执行“十二、修改字符集”,修改数据库字符集) SQL> alter system set shared_servers=5 scope=both; --配置dispatchersDispatchers参数用于配置共享模式架构中dispatcher进程,共享模式只少需要一个dispatcher进程。 SQL> alter system set dispatchers='(PROTOCOL=TCP) (dispatchers=3)' scope=both; -- 启动数据库 SQL> startup; -- 关闭数据库 SQL> shutdown immediate;
九、测试oracle是否安装成功
#先启动监听 [oracle@ etlsrv ~]$ lsnrctl start #连接sqlplus [oracle@ etlsrv ~]$ sqlplus /nolog
--连接dba SQL> conn / as sysdba --启动服务 SQL> startup -- 启动startup,停止 shutdown / shutdown immediate SQL> alter system register; SQL> select status from v$instance; --查看状态 SQL> desc dba_tablespaces; --测试:显示表空间 SQL> quit
# 查看监听状态 [oracle@ etlsrv ~]$ lsnrctl status
十、修改字符集
#系统字符集 [root@localhost /root]$ vim ~oracle/.bash_profile export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8" #使设置生效 [root@localhost /root]$source ~oracle/.bash_profile
#linux下查看oracle字符集 # 切换oracle用户 su - oracle # 进入SQL plus控制台 sqlplus / as sysdba
SQL>select * from v$nls_parameters; --AL32UTF8 SQL>select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; --AL32UTF8 SQL>select userenv('language') from dual; --SIMPLIFIED CHINESE_CHINA.AL32UTF8
十一、调整process(进程数)
# 查看ORACLE最大进程数: su - oracle # 先查看现在情况 sqlplus / as sysdba
SQL> select count(*) from v$session; #当前连接数 SQL> Select count(*) from v$session where status='ACTIVE'; #当前并发连接数 SQL> show parameter processes; #最大连接 SQL> show parameter sessions; # 在Linux系统中, 1个用户session 对应一个操作系统 process ,而 Windows体现在线程 # 修改ORACLE最大进程数:sessions=(1.1*processes+5) SQL> alter system set processes = 4000 scope = spfile; #修改连接 SQL> alter system set sessions= 4405 scope = spfile; # 系统已更改。 SQL> show parameter processes; SQL>shutdown immediate; # 数据库已经关闭。 # 已经卸载数据库。 # ORACLE 例程已经关闭。 SQL> startup # ORACLE 例程已经启动。 # 看提示信息,database open后,则表明该数据库全部启动完毕,启动完毕后,再查看一下。 SQL> show parameter processes;
十二、修改密码过期策略
# 设置密码永不过期 SQL> alter profile default limit password_life_time unlimited;
总结
以上为个人经验,希望能给大家一个参考,也希望大php家多多支持编程客栈(www.devze.com)。
精彩评论