linux新手安装oracle(新手必备)



从安装系统到oracle数据库生产环境(centos6.8)搭建-完全版

      前言: linux系统有区别与windows 系统,因此在学习本文档前务必学习linux 操作系统的一些基本知识,

对后续文档所描述的内容才有深刻了解。本文以centos6.8为例,安装oracle 11.2.4.0版本。

                                                                                -Samlinux

大纲:  1.服务器安装

       2.JDK配置

       3.oracle 数据库安装配置

 

 

1服务器安装

关于安装中可能出现的几个问题,在这里进行解决:
1)使用u盘安装完后,系统进入GRUB引导,无法启动:  解决办法:

  
出现上述状况的原因可能是在系统安装最后,把系统的引导程序安装到了U盘中。

  
(在BIOS中)设置U盘启动,然后成功进入系统并登录。

1、输入grub进入grub命令行模式。 #[root@localhost /]# grub

2、输入find/boot/grub/stage1 或者 find /grub/stage1(我的是这个)   #grub> find/boot/grub/stage1 grub> find /grub/stage1 

返回的值通常是这样的格式:(hd0,0

3、输入quit 退出grub命令行模式

4cd /boot/grub目录下,使用vi命令,将grub.confmenu.lst文件里面的(hd1,0)或者(hdx,x)修改为(hd0,0)就是刚才find出来的位置。

5、再次输入grub,进入grub命令行模式。依次执行:root hd0,0);setup hd0);reboot 这三条命令

6、输入quit退出grub模式,然后重启计算机

BINGO~~

[Linux中,#代表root用户,$代表其他用户]

 

2centos6.8最小安装开机后默认不会启动网卡   
可使用命令ifup eth0 启动,然后就可以愉快的使用远程终端了:)

  启动网卡

 #ifup eth0  开机自启动网卡

#vim/etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=yes  

 

   配置静态IP     特别说明:IP,子网掩码,网关,DNS可以全部在ifcfg-eth0上配置。

#vim/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=FF:FF:FF:FF:FF:FF

TYPE=Ethernet

UUID=5be104cf-2c4e-4f40-8c4d-d9c745841783

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.3.104

NETMASK=255.255.255.0

GATEWAY=192.168.3.1

DNS1=202.96.128.86

DNS2=114.114.114.114                    

IPV6INIT=NO

USERCTL=NO生效

#service network restart       必须重启服务才能生效!!!!

或者

#/etc/init.d/networkrestart   服务重启后,就可以使用Xshell这样的工具进行远程管理~~!!

 

 3)更新yum资源  (这步可以不操作)

#yum install wget

#cd /etc/yum.repos.d

下载网易镜像源:

#wget -O/etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo

或者

下载搜狐镜像源:

#wgethttp://mirrors.sohu.com/help/CentOS-Base-sohu.repo

#yum makecache

如果镜像不能使用则在文件注释掉整个addon

#yum update

#yum upgrade

关于时间设置

yuminstall ntpdate -y

 

4)关闭防火墙和SElinux     暂时关闭可以减少在安装oracle会报无权限这样的错误,有利于初学者安装

查看开启状态

[root@localhost ~]#/usr/sbin/sestatus -v

SELinux status:                 enabled//显示为开启

SELinuxfs mount:                /selinux

 

#vi /etc/selinux/config 修改 SELINUX=disabled

iptables防火墙规则清理:

清空iptables规则

#iptables -F

查看iptables规则

#iptables -L

保存规则,注意,虽然清空了,不保存的话,重启后,又会有规则。

#/etc/init.d/iptablessave

如果是centos7   #停止firewalld服务

systemctl stop firewalld

 

 

也可以使用  setup 工具进行关闭防火墙的操作,如果发现set工具没有安装,可以通过yum进行安装:

安装工具组件

安装好setup tools 工具之后,我们需要安装工具组件如ntsysv(系统服务)system-config-network-tui(网络服务)iptables(防火墙配置),system-config-securistylevel-tui

Centos7 以上直接使用nmtui 命令就可以了  (networkManager Tui

安装完后就能直接界面进行参数配置

 

(5) 锁定关键文件系统(禁止非授权用户获得权限)  5~8步可以先不设置!如果想将权限限制起来可以设置!

 #chattr +i /etc/passwd

#chattr +i /etc/inittab

#chattr +i/etc/group

#chattr +i/etc/shadow

#chattr +i /etc/gshadow

 

6ssh安全 创建sudo用户

#useradd XXXX

#passwd XXXX

#vim /etc/sudoers

99行写入

XXXX  ALL=(ALL)       ALL

wq

修改SSH安全配置

#vi /etc/ssh/sshd_config

SSH链接默认端口

port 23333

禁止root账号登陆

PermitRootLogin no

禁止空密码

PermitEmptyPasswords no

不使用DNS

UseDNS no

重启SSH服务

Service sshd  restart 

 

(7)精简开机自启动服务

#关闭全部服务

for sun in`chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $sunoff;done

#或者

for sun in`chkconfig --list|grep 3:启用|awk'{print $1}'`;do chkconfig --level 3 $sun off;done

#开启需要的服务

for sun in crondrsyslog sshd network;do chkconfig --level 3 $sun on;done

#或者需要使用防火墙的话可以开启iptablesip6tables

for sun in crond rsyslog sshd network iptablesip6tables;do chkconfig --level 3 $sun on;done

 

8)设置以下全局变量 

#设置自动退出终端,防止非法关闭ssh客户端造成登录进程过多,可以设置大一些,单位为秒

echo"TMOUT=3600">> /etc/profile

#历史命令记录数量设置为10

sed -i"s/HISTSIZE=1000/HISTSIZE=10/" /etc/profile

#立即生效

source /etc/profile

 

2.JDK配置

查看库中版本

[root@localhost~]# yum search java|grep jdk

选择需要版本进行安装

[root@localhost~]# yum install java-1.8.0-openjdk.x86_64 //安装目录是在: /usr/lib/jvm/java-1.8.0-openjdkXXX

设置环境变量  "/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/"

[root@localhost~]# vi /etc/profile

    #set java environment

    JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk //注意修改路径

    JRE_HOME=$JAVA_HOME/jre

   CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

    export JAVA_HOME JRE_HOME CLASS_PATH PATH

 

[root@localhost java]# source /etc/profile //使修改生效

配置完成后,在终端输入 “JAVA  -version”  返回信息确认安装是否成功。

 

3.数据库安装

1)安装依赖包 

   把下述txt 内容复制到 Xshell工具运行即可

等待安装完毕即可,因为比较多依赖包需要安装,因此时间会有点长。

pdksh-5.2.14-36.el5.i386.rpm 这个包库里没有,需要手动下载,[root]# rpm -ivhpdksh-5.2.14-36.el5.i386.rpm 安装,安装时可能会报错,
 error: Failed dependencies:
 pdksh conflicts with ksh-20120801-33.el6.x86_64
先删除这个
rpm -eksh-20120801-33.el6.x86_64 然后就可以安装了

  

 

2) 修改内核参数

[root@X]# vi /etc/sysctl.conf   //以下为简写使用X代替~路径

# 在文件末尾添加

net.ipv4.ip_local_port_range = 900065500

fs.file-max = 6815744

kernel.shmall = 10523004

kernel.shmmax = 6465333657

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.core.rmem_default=262144

net.core.wmem_default=262144

net.core.rmem_max=4194304

net.core.wmem_max=1048576

fs.aio-max-nr = 1048576

注意下面几行需要注释

#net.bridge.bridge-nf-call-ip6tables= 0

#net.bridge.bridge-nf-call-iptables =0

#net.bridge.bridge-nf-call-arptables= 0

生效命令

[root@X]#sysctl -p

解析下各个参数的意义    参数可以增加可以减少,按自己实际情况来设置
net.ipv4.ip_local_port_range
:可使用的IPv4端口范围
fs.file-max
:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。

kernel.shmall
:该参数表示系统一次可以使用的共享内存总量(以页为单位)

kernel.shmmax
:该参数定义了共享内存段的最大尺寸(以字节为单位)

kernel.shmmni
:这个内核参数用于设置系统范围内共享内存段的最大数量

kernel.sem
: 该参数表示设置的信号量。

net.core.rmem_default
:默认的TCP数据接收窗口大小(字节)。

net.core.wmem_default
:默认的TCP数据发送窗口大小(字节)。

net.core.rmem_max
:最大的TCP数据接收窗口(字节)。

net.core.wmem_max
:最大的TCP数据发送窗口(字节)。

fs.aio-max-nr
:同时可以拥有的的异步IO请求数目。

 

(3) 创建用户、组及配置(因为oracle不允许使用用root进行启动)

创建组和用户

[root@X]# groupadd -g 200 oinstall

[root@X]# groupadd -g 201 dba     附加组暂时没有发现有什么用,不过可以先添加

[root@X]# useradd -u 440 -g oinstall-G dba -d /home/oracle oracle

[root@X]#passwd oracle

 

在此中添加:

[root@X]# vi /etc/pam.d/login                   这步可以不操作         

session    required    pam_limits.so

在末尾添加:

[root@X]# vi /etc/security/limits.conf

# 在文件末尾添加

oracle   soft  nproc   2047

oracle   hard  nproc   16384

oracle   soft  nofile   1024

oracle   hard  nofile   65536

# 在文件末尾添加

[root@X]# 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

 

 

[root@X]# su - oracle  //切换用户

[oracle@X]$ chmod 755 /home/oracle

[oracle@X]$ mkdir /home/oracle/app

[oracle@X]$ chmod 755/home/oracle/app/

[oracle@X]$ mkdir/home/oracle/oradata

[oracle@X]$ chmod 755/home/oracle/oradata/

切换回root用户

[oracle@X]# chown -R  oracle:oinstall  /ora/database --oracle用户赋予访问oracle安装文件的所有权

[oracle@X]$# chgrp -R oinstall /ora/database --sql用户组赋予访问oracle安装文件的所有权

切换回oracle用户,并且切换到用户目录下  /home/oracle

[oracle@X]$ vi ./.bash_profile

# 在文件末尾添加

umask 022

exportORACLE_BASE=/home/oracle/app

 

 

4.安装oracle软件  

4.1) 安装VNC 服务

因为oracle的安装必须要图形界面才能操作,所以我使用VNC这款软件来进行远程图形化连接,windows下直接安装完就可以使用  安装:

# yum install tigervnc-server

启动:# vncserver :1

输入完这条命令后,会让用户设置输入两次VNC链接的密码

如果链接完成后出错,链接客户端黑屏

检查VNC启动日志(类似这个文件"~/.vnc/localhost.localdomain:0.log")

会发现日志中

   /home/cake/.vnc/xstartup: line 27: xsetroot: command not found

   /home/cake/.vnc/xstartup: line 28: xterm: command not found

   /home/cake/.vnc/xstartup: line 29: twm: command not found

原因是这三个依赖包没安装

# yum install -y  xsetroot xterm  twm 安装完重启VNC服务即可

    可以# vncserver -kill :1       # vncserver :1   重启

     也可以直接重启系统重启VNC

 

 

 

 

4.2)安装前准备   切换到oracle用户,配置oracle用户环境变量

oracle@X]$ vi ~/.bash_profile

# 文件末尾增加

export ORACLE_BASE=/home/oracle/app

exportORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl  #SID注意和自己即将建立的SID对应

exportPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

 也可以在安装后配置

vi /etc/profile

在文件末尾复制下面的一段话:

exportORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

 

(4.3)调整Swap分区大小

oracle 安装文件检查发现swap 空间不足,这个问题在服务器提供商,如阿里云,腾讯云的主机上出现的比较多。

dd if=/dev/zero of=/var/swap bs=2046 count=1000000
mkswap /var/swap
swapon /var/swap
echo LABEL=SWAP-sda /var/swap swap swap defaults 0 0 >> /etc/fstab   写入配置文件,以后开机自动挂载

 

4.4)切换到oracle用户,启动安装程序

因为中国区下载的oracle默认安装界面是中文,服务器可能会出现乱码,所以安装前先改变语言

在解压后的database目录里输入下行命令

$export  LANG=en_US.UTF-8      

运行

$ ./runInstaller

在执行./runInstaller命令后可能会报错,这时需要使用root用户执行xhost +命令,然后su- oracle切换回oracle用户执行./runInstaller

 

4.5)解压两个oracle 安装包

[root@X]# unzip linux_11gR2_database_1of2.zip

[root@X]# unzip linux_11gR2_database_2of2.zip

 -可以制定解压路径

 

4.5)安装界面

后续安装与window 差不多, 再次就不叙述了。

注意安装到最后:

使用ROOT用户执行这两条命令

/home/oracle/oraInventory/orainstRoot.sh
/home/oracle/app/product/11.2.0/dbhome_1/root.sh

直接回车  安装完成。  后续查看监听是否创建,数据库能否正常启动

vnc命令行中输入下命令创建监听
$netca
这里可能会报错~0.0
 
是因为安装系统时使用了默认的主机名,修改即可

 
点击查看解决办法  https://blog.csdn.net/cd1321/article/details/8766402

4.6)启动数据库

$sqlplus "/as sysdba"

启动

SQL>startup

停止

SQL>shutdown immediate

查看监听状态:

$lsnrctl status

启动监听

$lsnrctlstart

(4.6)oracle服务器在重启后,最好还是手动启动oracle服务,如果是学习需要,可以参考下方设置。

设置开机启动项

[1] 更改/etc/oratab

MFGS:/usr/oracle/app/product/11.2.0/dbhome_1:Y#改变此处

 

[2] oracle用户profile文件中增加SID环境变量(这一步我当时没成功,不过好像没影响)可以不设置

[root@localhost ~]# vi/usr/oracle/.bash_profile

export ORACLE_SID=ORCL

 

[3] 创建启动OracleInit脚本

[root@localhost ~]# vi/etc/rc.d/init.d/oracle

 

[4] 更改启动脚本权限

[root@localhost ~]#chmod 755 /etc/rc.d/init.d/oracle

 

[5]设置oracle为开机自启动

[root@localhost ~]#chkconfig oracle on

[root@localhost ~]#chkconfig --list oracle

oracle          0:off   1:off  2:on    3:on    4:on   5:on    6:off

  

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值