安装环境
系统:Linux CentOS7 64位
Oracle版本:Oracle 11g R2
文章重点
1、安装前准备
2、安装详解
3、相关使用配置
4、遇到的问题及解决方法
一、安装前准备
1、创建运行oracle数据库的系统用户和用户组
[yxc@localhost ~]$ su root #切换到rootPassword: [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 charactersRetype new password: # 确认密码passwd: all authentication tokens updated successfully.[root@localhost ~]# id oracle # 查看新建的oracle用户uid=1001(oracle) gid=1002(dba) groups=1002(dba)
如下图所示:
2、修改/etc/sysctl.conf文件,输入命令:vi /etc/sysctl.conf ,将下列内容加入该文件。
export ORACLE_BASE=/home/oracle/appexport ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1export ORACLE_SID=orclexport PATH=$PATH:$HOME/bin:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
使用/sbin/sysctl -p命令使 sysctl.conf 配置生效。
3、修改操作系统核心参数输入命令:vi /etc/security/limits.conf,将下列内容加入该文件。
export ORACLE_BASE=/home/oracle/appexport ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1export ORACLE_SID=orclexport PATH=$PATH:$HOME/bin:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
4.、修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,将下列内容加入该文件。
su root# 修改/etc/selinux/config文件vi /etc/selinux/config
5、 编辑 /etc/profile ,输入命令:vi /etc/profile,将下列内容加入该文件。
export ORACLE_BASE=/home/oracle/appexport ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1export ORACLE_SID=orclexport PATH=$PATH:$HOME/bin:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
6、创建数据库软件目录和数据文件存放目录,注意磁盘空间即可,这里我放到oracle用户下,输入如下命令:
su root# 修改/etc/selinux/config文件vi /etc/selinux/config
7、更改目录属主为 oracle 用户所有,输入命令:
export ORACLE_BASE=/home/oracle/appexport ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1export ORACLE_SID=orclexport PATH=$PATH:$HOME/bin:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
8、切换为oracle用户登录
su root# 修改/etc/selinux/config文件vi /etc/selinux/config
9、配置 oracle 用户环境变量编辑 bash_profile ,输入命令:vi .bash_profile,添加如下环境变量。
export ORACLE_BASE=/home/oracle/appexport ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1export ORACLE_SID=orclexport PATH=$PATH:$HOME/bin:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
10、切换为 root 用户,关闭 selinux
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
修改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版本,两个包都下载,如下:
2、安装
解压安装包,命令如下:
su - oracle
解压完成后,database目录如下
切换到oracle用户
cd database./runInstaller
进入 database 目录,使用./runInstaller命令安装,如下
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0
注:如果安装过程中出现弹窗很小,显示不全的问题,安装命令换为如下即可。
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0
不出意外的话,恭喜你,将弹出安装界面,如果遇到display at least 256 colors这个问题,请看文末的解决办法。弹出安装界面后安装过程比较简单,就不细说了,步骤截图如下。
安装选项,三个选项分别为:①创建并配置一个新数据库。②只安装数据库软件,适用于已有Oracle数据库数据用于数据迁移的。③升级已有数据库。这里选择第一个选项。
这里提示执行这两个脚本,执行即可,如下:
至此,数据库安装成功。注: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=oracle11sqlplus /nologconnect /as sysdba//启动数据库startup//关闭数据库shutdown//查看登录的数据库实例select instance_name from v$instance;//查看当前登录的用户show user//查看数据字典包含哪些字段desc dba_users;
2、启动和停止监听器
在oracle用户下的OS层面执行,而不是在sqlplus中执行
sqlplus /nolog//登录指定数据库conn sys/pwd@oracle11 as sysdba;
3、解锁用户
select name from v$datafile;
4、创建用户
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;
创建用户,指定密码和上面创建的用户表空间
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;
赋予权限
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 即可
su - rootpasswordDISPLAY=:0.0export DISPLAYehco $DISPLAYxhostxhost +
2、【ORACLE】安装时遇到“display at least 256 colors”
解决方法:方式1:
su - rootpasswordDISPLAY=:0.0export DISPLAYehco $DISPLAYxhostxhost +
su - oracleDISPLAY=:0.0export DISPLAYecho $DISPLAY
方式2:也可以直接将DISPLAY写入配置文件
vim .bash_profile//配置display变量export display=:0.0 生效配置文件source .bash_profile
3、安装过程中弹出错误,如下图所示
查看日志如下:
可能是glibc的版本过高所致(高于2.14),解决办法:下载安装glibc-static-2.17-292.el7.x86_64.rpm,如下图所示,如需下载此包请前往:传送门
修改文件/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
接着又提示错误如下:
莫要慌张,修改/home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk文件,将
$(MK_EMAGENT_NMECTL)
改为:
$(MK_EMAGENT_NMECTL) -lnnz11
保存后点击 Retry 即可,如下:
4、plsql连接数据库时,报如下错误
解决:listener.ora中加入如下内容,其中orcl改为你的数据库实例名称
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (SID_NAME = orcl) ))
觉得有帮助点赞转发吧。最后感兴趣的可以关注下我的公众号(公众号搜索chaodev)。
原创不易,转载请注明出处。