Oracle数据库管理之道oracle经验之谈

Linux下 Oracle数据库安装详解

2020-01-19  本文已影响0人  程序员大佬超

安装环境

系统:Linux CentOS7 64位
Oracle版本:Oracle 11g R2

文章重点

1、安装前准备
2、安装详解
3、相关使用配置
4、遇到的问题及解决方法


一、安装前准备

1、创建运行oracle数据库的系统用户和用户组

[yxc@localhost ~]$ su root  #切换到root
Password: 
[root@localhost ~]# groupadd oinstall  #创建用户组oinstall
[root@localhost ~]# groupadd dba  #创建用户组dba
[root@localhost ~]# useradd -g oinstall -g dba -m oracle  #创建oracle用户,并加入到oinstall和dba用户组
[root@localhost ~]# passwd oracle  #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
Changing password for user oracle.
New password:   # 密码
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:   # 确认密码
passwd: all authentication tokens updated successfully.
[root@localhost ~]# id oracle # 查看新建的oracle用户
uid=1001(oracle) gid=1002(dba) groups=1002(dba)

如下图所示:


创建用户及用户组.png

2、修改/etc/sysctl.conf文件,输入命令:vi /etc/sysctl.conf ,将下列内容加入该文件。

fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 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

使用/sbin/sysctl -p命令使 sysctl.conf 配置生效。

3、修改操作系统核心参数
输入命令:vi /etc/security/limits.conf,将下列内容加入该文件。

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

4.、修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,将下列内容加入该文件。

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

5、 编辑 /etc/profile ,输入命令: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

6、创建数据库软件目录和数据文件存放目录,注意磁盘空间即可,这里我放到oracle用户下,输入如下命令:

mkdir /home/oracle/app
mkdir /home/oracle/app/oracle
mkdir /home/oracle/app/oradata
mkdir /home/oracle/app/oracle/product

7、更改目录属主为 oracle 用户所有,输入命令:

chown -R oracle:oinstall /home/oracle/app

8、切换为oracle用户登录

su - oracle

9、配置 oracle 用户环境变量
编辑 bash_profile ,输入命令:vi .bash_profile,添加如下环境变量。

export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

10、切换为 root 用户,关闭 selinux

su root
# 修改/etc/selinux/config文件
vi /etc/selinux/config

修改SELINUX为disabled,如下:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled   #此处修改为disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

二、软件包依赖

安装oracle之前需要许多软件包依赖,如果可用外网,使用如下命令安装。

yum install binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

查看这些软件包版本,可使用如下命令,如有未安装的会有提示。

rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

如果 compat-libstdc++ 安装提示No package compat-libstdc++ available.,请使用命令yum install compat-libstdc++-33安装。
使用rpm -qa | grep "compat-libstdc"可查看。

三、安装

1、下载安装包

官网下载地址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#11g,这里下载11g R2版本,两个包都下载,如下:

download.png
2、安装

解压安装包,命令如下:

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

解压完成后,database目录如下


unzip.png

切换到oracle用户

su - oracle

进入 database 目录,使用./runInstaller命令安装,如下

cd database
./runInstaller

注:如果安装过程中出现弹窗很小,显示不全的问题,安装命令换为如下即可。

./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

不出意外的话,恭喜你,将弹出安装界面,如果遇到display at least 256 colors这个问题,请看文末的解决办法。弹出安装界面后安装过程比较简单,就不细说了,步骤截图如下。

1configureSU.png

安装选项,三个选项分别为:①创建并配置一个新数据库。②只安装数据库软件,适用于已有Oracle数据库数据用于数据迁移的。③升级已有数据库。这里选择第一个选项。


2installOption.png 3systemClass.png 4gridOption.png 5installType.png 6languages.png 7dbEdition.png 8installLocation.png 8installLocation.png 9createInventory.png 10configurationType.png 11databaseIdentifiers.png 12configOption.png 13managementOptions.png 14dbStorage.png 15Backup.png 16schemaPwd.png 17OprSysGroup.png 18PrerequisiteChecks.png 19Summary.png 20InstallProduct.png 21dbca.png 22pwdManage.png 23unlockPwdM.png 24shScript.png

这里提示执行这两个脚本,执行即可,如下:


25runScript.png 26finish.png

至此,数据库安装成功。
注:listener.ora和tnsnames.ora所在路径为
/home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/

3、防火墙设置

oracle数据库默认端口号1521,这里设置防火墙开放1521端口,如下

firewall-cmd --add-port=1521/tcp --permanent --zone=public
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

四、相关使用

1、启动与关闭数据库
//oracle11为需要执行的oracle实例
export ORACLE_SID=oracle11

sqlplus /nolog
connect /as sysdba

//启动数据库
startup
//关闭数据库
shutdown

//查看登录的数据库实例
select instance_name from v$instance;
//查看当前登录的用户
show user
//查看数据字典包含哪些字段
desc dba_users;
2、启动和停止监听器

在oracle用户下的OS层面执行,而不是在sqlplus中执行

//启动监听
lsnrctl start
//停止监听
lsnrctl stop
3、解锁用户
alter user username account unlock;
//例如解锁scott用户,如下:
alter user scott account unlock;
4、创建用户
sqlplus /nolog
//登录指定数据库
conn sys/pwd@oracle11 as sysdba;

查看用户表空间放置位置:

select name from v$datafile;

创建用户表空间

CREATE TABLESPACE NOTIFYDB DATAFILE '/home/oracle/app/oradata/oracle11/scsdb.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; 

创建用户,指定密码和上面创建的用户表空间

CREATE USER yxc IDENTIFIED BY yxc DEFAULT TABLESPACE NOTIFYDB;

赋予权限

grant connect,resource to yxc;
grant unlimited tablespace to yxc;
grant create database link to yxc;
grant select any sequence,create materialized view to yxc;

五、问题及解决方法

1、使用dbca创建数据库时,中文乱码

使用如下命令启动 dbca 即可

export LANG="en_US:UTF-8"
dbca
2、【ORACLE】安装时遇到“display at least 256 colors”

解决方法:
方式1:

su - root
password
DISPLAY=:0.0
export DISPLAY
ehco $DISPLAY
xhost
xhost +
su - oracle
DISPLAY=:0.0
export DISPLAY
echo $DISPLAY

方式2:也可以直接将DISPLAY写入配置文件

vim .bash_profile
//配置display变量
export display=:0.0 

生效配置文件
source .bash_profile 
3、安装过程中弹出错误,如下图所示
installError.png

查看日志如下:


errorLog.png

可能是glibc的版本过高所致(高于2.14),解决办法:
下载安装glibc-static-2.17-292.el7.x86_64.rpm,如下图所示,如需下载此包请前往:传送门

安装glibc.png

修改文件/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,将

ctxhx: $(CTXHXOBJ)
    $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)

改为:

ctxhx: $(CTXHXOBJ)
    -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
ins_ctx.png

接着又提示错误如下:


installError2.png

莫要慌张,修改
/home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk文件,将

$(MK_EMAGENT_NMECTL)

改为:

$(MK_EMAGENT_NMECTL) -lnnz11
ins_emagent.png

保存后点击 Retry 即可,如下:


retry.png
4、plsql连接数据库时,报如下错误
plsql连接报错.png

解决:listener.ora中加入如下内容,其中orcl改为你的数据库实例名称

SID_LIST_LISTENER =  
(SID_LIST =  
  (SID_DESC =  
  (GLOBAL_DBNAME = orcl)
  (SID_NAME = orcl)
  )
)
listenerora.png

原创不易,转载请注明出处!最后感兴趣的可以关注下我的公众号(公众号搜索chaodev)。

上一篇下一篇

猜你喜欢

热点阅读