美文网首页
Linux安装Oracle数据库

Linux安装Oracle数据库

作者: david161 | 来源:发表于2023-03-21 23:08 被阅读0次

    我们这里的安装过程,主要指的是CentOS7安装数据库的步骤,其他的Linxt系统可以参照该过程。

    基础环境准备

    在安装Oracle数据库的服务器上面

    1.检查主机名和网络并且配置/etc/hosts文件
    关闭防火墙
    检查防火墙状态
    systemctl status firewalld.service
    暂时关闭防火墙,下次启动时防火墙仍随系统启动而启动
    systemctl stop firewalld.service
    彻底永久关闭防火墙
    systemctl disable firewalld.service

    关闭SELINUX防火墙!
    vi /etc/selinux/config
    将内容
    SELINUX=enforcing
    更改为
    SELINUX=disabled

    完成后重新加载防火墙配置命令firewall-cmd --reload重新加载一下使得配置生效。

    配置YUM源解决程序依赖的问题

    进入Package目录中将所有的软件包复制到我们预设的目录下,在CentOS7下面挂载点在/run/media/root/CentOS 7 x86_64/Packages目录下。
    在这个目录下面通过mkdir /yums创建一个yums目录,然后执行cp * /yums把Packages下的文件复制到yums文件夹下面。
    rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm
    rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm
    rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm
    createrepo . //千万不要把那个“.”给忘记了,因为它代表本目录

    然后删除 /etc/yum.repos.d目录
    cd /etc/yum.repos.d/
    rm -rf *
    vi yum.local.repo

    [local]
    name=yum local repo
    baseurl=file:///yums
    gpgcheck=0
    enable=1

    yum clean all //yum配置生成

    安装ORACLE先决条件的软件包

    yum install -y bc
    yum install -y compat-libcap1*
    yum install -y compat-libcap*
    yum install -y binutils
    yum install -y compat-libstdc++-33
    yum install -y elfutils-libelf
    yum install -y elfutils-libelf-devel
    yum install -y gcc
    yum install -y gcc-c++
    yum install -y glibc-2.5
    yum install -y glibc-common
    yum install -y glibc-devel
    yum install -y glibc-headers
    yum install -y ksh libaio
    yum install -y libaio-devel
    yum install -y libgcc
    yum install -y libstdc++
    yum install -y libstdc++-devel
    yum install -y make
    yum install -y sysstat
    yum install -y unixODBC
    yum install -y unixODBC-devel
    yum install -y binutils*
    yum install -y compat-libstdc*
    yum install -y elfutils-libelf*
    yum install -y gcc*
    yum install -y glibc*
    yum install -y ksh*
    yum install -y libaio*
    yum install -y libgcc*
    yum install -y libstdc*
    yum install -y make*
    yum install -y sysstat*
    yum install -y libXp*
    yum install -y glibc-kernheaders
    yum install -y net-tools-*

    修改LINUX的内核文件

    vi /etc/sysctl.conf
    kernel.shmmax = 277495689510912
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048586
    fs.file-max = 6815744
    kernel.shmall = 4294967296
    net.ipv4.tcp_max_tw_buckets = 6000
    net.ipv4.ip_local_port_range = 9000 65500
    net.ipv4.tcp_tw_recycle = 0
    net.ipv4.tcp_tw_reuse = 1

    net.core.somaxconn = 262144

    net.core.netdev_max_backlog = 262144
    net.ipv4.tcp_max_orphans = 262144
    net.ipv4.tcp_max_syn_backlog = 262144
    net.ipv4.tcp_synack_retries = 2
    net.ipv4.tcp_syn_retries = 1
    net.ipv4.tcp_fin_timeout = 1
    net.ipv4.tcp_keepalive_time = 30
    net.ipv4.tcp_keepalive_probes = 6
    net.ipv4.tcp_keepalive_intvl = 5
    net.ipv4.tcp_timestamps = 0
    fs.aio-max-nr = 1048576
    net.ipv4.conf.all.rp_filter = 2
    net.ipv4.conf.default.rp_filter = 2
    参数说明:
    fs.file-max //文件句柄数 一次可以打开文件的个数

    kernel.shmall //公式:内存大小102410241024/41024 //表示所有内存大小(单位:页=4K)

    kernel.shmmax //表示最大共享内存大小,一般为物理内存的3/4 但是常用的就是将所有内存换算成字节后-1(单位:字节)

    kernel.shmmni = 4096 //表示最小共享内存固定4096KB 一般是固定值

    kernel.sem //4个参数依次是SEMMSL:每个用户拥有信号量最大数,SEMMNS:系统信号量最大数,SEMOPM:每次semopm系统调用操作数,SEMMNI:系统辛苦量集数最大数。这4个参数为固定内容大小

    net.ipv4.ip_local_port_range = 9000 65500 //ip_local_port_range表示端口的范围,为指定的内容 一般是固定值

    net.core.rmem_default //表示套接字接收缓冲区大小的缺省值

    net.core.rmem_max //表示套接字接收缓冲区大小的最大值。

    net.core.wmem_default //表示套接字发送缓冲区大小的缺省值。

    net.core.wmem_max //表示套接字发送缓冲区大小的最大值。

    参数编辑完成后执行下面的命令

    sysctl -p 生成系统参数

    5.添加下列参数到/etc/security/limits.conf

    vi /etc/security/limits.conf

    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft nproc 16384
    oracle hard nproc 16384
    oracle soft stack 10240
    oracle hard stack 32768
    oracle hard memlock 134217728
    oracle soft memlock 134217728

    6.添加下列条目到/etc/pam.d/login 这两个主要是限制使用进程数可以不用了解

    vim /etc/pam.d/login

    session required /lib/security/pam_limits.so
    session required pam_limits.so

    7.环境变量中添加下列语句

    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
    8.创建文件目录和相应的用户

    groupadd oinstall
    groupadd dba
    groupadd oper
    useradd -g oinstall -G dba,oper oracle

    groupadd oinstall --创建 oinstall组 安装数据库软件用
    groupadd dba --创建 dba组 管理数据库软件用
    groupadd oper --创建 oper组 操作数据库软件用--但是基本用不到。因为官方文档要求,所以我们最好还是给他建立上
    useradd -g oinstall -G dba,oper oracle -g代表的是主组 -G代表的属组 oracle代表的是建立的用户名
    这个命令的意思是 我建立一个oracle用户 让他的主组数据oinstall组 让他数组属于dba oper组

    mkdir -p /u01/app/oracle
    mkdir -p /u01/oraInventory
    chown -R oracle.oinstall /u01
    chown -R oracle:oinstall /u01/app/oracle
    chmod -R 775 /u01/app/oracle

    mkdir -p /u01/app/oracle --级联创建/u01/app/oracle目录
    mkdir -p /u01/oraInventory --级联创建oraInventory目录 这个目录下放置的是安装oracle所需要的的环境
    chown -R oracle.oinstall /u01 --该命令为把/u01这个目录的所属用户和所属组变为oracle用户和oracle用户所在的oinstall组
    chown -R oracle:oinstall /u01/app/oracle --该命令为把/u01/app/oracle这个目录所属用户和所属组改成oracle用户和oinstall组
    chmod -R 775 /u01/app/oracle --该命令为把/u01/app/oracle这个目录的权限改为所属用户可对可写可执行 所属用户所在组下的所有同组成员皆为可读可写可执行 其他用户对这个目录只有可读和可执行

    drwxr-xr-x. 3 root root 217088 Oct 2 19:19 yums
    d代表的是目录 如果d的位置是个-代表为他是一个文件 如果d的位置是个l(英文的L)的话代表他是一个链接
    rwxr-xr-x 三个为一组可变型为rwx r-x r-x 其中r代表为read读权限 w代表的是write写权限 x代表的是执行权限 那么他有第二种表示方式,为数字表示法 则r-4 w-2 x-1,并且三个为一组 第一组代表的是所属用户权限 (由上面可知所属用户对该目录具备可读可写可执行权限) 第二组代表所属用户的所属组权限,这里的所属组代表和所属用户同组的其他用户(有上面可知所属用户的同组用户具备可读和可执行权限)第三组代表的是其他用户(有上面可知其他用户具有可读和可执行权限) 这里的其他用户既不是该文件或目录的所属用户 也不是该文件或目录所属用户的同组用户 就是其他用户。另外这三组还有英文表示法 所属用户用u表示 同组用户用g表示 其他用户用o表示 还有一个特殊的所有用户用a表示。如果权限用数字法去标识的话 那么 所属用户的权限数字为rwx=4+2+1=7 同组用户的权限数字为4+1=5 其他用户的权限数字为4+1=5.所以,rwxr-xr-x可以用数字755表示。 可以用chmod命令修改
    root root 代表 该目录所属用户为root用户 所属组为root组 可以用chown去修改 chown -R代表级联修改,更改目录下所有
    修改例子
    chown -R oracle:oinstall /u01/linuxx64_12201_database.zip

    //给oracle用户加一个密码
    passwd oracle

    9.配置ORACLE用户的环境变量

    su - oracle

    修改oracle用户的环境变量文件
    vim .bash_profile

    export EDITOR=vi
    export TMP=/tmp
    export TMPDIR=TMP export ORACLE_SID=orcl export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=ORACLE_BASE/product/12.2.0/db_1
    export INVENTORY_LOCATION=/u01/oraInventory
    export TNS_ADMIN=ORACLE_HOME/network/admin export LD_LIBRARY_PATH=ORACLE_HOME/lib
    export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
    export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
    export PATH=ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:PATH:$HOME/bin
    umask 022

    source .bash_profile

    参数说明
    export EDITOR=vi 默认的编辑器是vi
    export TMP=/tmp ORACLE默认的临时目录是/tmp
    export TMPDIR=TMP 临时目录生成 export ORACLE_SID=orcl ORACLE实例名称是orcl export ORACLE_BASE=/u01/app/oracle ORACLE的基本目录 export ORACLE_HOME=ORACLE_BASE/product/12.2.0/db_1 ORACLE数据库的HOME目录
    export INVENTORY_LOCATION=/u01/oraInventory ORACLE安装时的inventory
    export TNS_ADMIN=ORACLE_HOME/network/admin ORACLE的网络文件主目录 export LD_LIBRARY_PATH=ORACLE_HOME/lib ORACLE的库文件目录
    export NLS_LANG="AMERICAN_AMERICA.AL32UTF8" ORACLE的字符集 不过我们弃用 因为我们使用UTF8
    export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" ORACLE的日期格式 我们使用会话的方式修改 没有上面的NLS_LANG,那么这个参数不会生成
    export PATH=ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:PATH:$HOME/bin 生成相关参数
    umask 022

    生成参数
    source .bash_profile或 . ~/.bash_profile

    10 上传软件并且解压
    详细看操作

    11 rlwrap软件配置
    rlwrap-0.37-1.el6.x86_64.rpm 该软件务必在ROOT用户下安装,如果切换到ORACLE用户下安装可能会发生相关的权限问题

    在oracle用户下的.bash_profile文件中添加一下两个别名
    如果你当前是oracle用户的话 直接使用 vi /home/oracle/.bash_profile进入到环境变量文件(绝对路径)
    如果你当前不是oracle用户的话请执行以下命令
    su - oracle
    vi /home/oracle/.bash_profile

    将下面两行文字粘贴进该文件中即可
    alias sqlplus='rlwrap sqlplus'
    alias rman='rlwrap rman'

    添加完内容后保存退出 并执行以下命令来生成环境变量

    . /home/oracle/.bash_profile

    在日常工作中,关于数据库的启停:
    先关闭上层应用服务---->关闭监听---->关闭数据库
    启动数据库----->启动监听----->启动应用 进行相关的连接测试

    操作系统重启命令 shutdown -r now
    操作系统关闭命令 shudtown -h now
    数据库关闭命令 shutdown immediate
    数据库启动命令 startup
    监听启动命令 lsnrctl start
    监听关闭命令 lsnrctl stop
    监听查看命令 lsnrctl status

    相关文章

      网友评论

          本文标题:Linux安装Oracle数据库

          本文链接:https://www.haomeiwen.com/subject/dzjpqdtx.html