安装环境
一、安装前准备
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)
2、修改/etc/sysctl.conf文件,输入命令:vi /etc/sysctl.conf ,将下列内容加入该文件。
fs.file-max = fs.aio-max-nr = kernel.shmall = kernel.shmmax = kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = net.core.rmem_max = net.core.wmem_default = net.core.wmem_max =
使用/sbin/sysctl -p命令使 sysctl.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
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、下载安装包
2、安装
解压安装包,命令如下:
unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip
切换到oracle用户
su - oracle
进入 database 目录,使用./runInstaller命令安装,如下
cd database ./runInstaller
注:如果安装过程中出现弹窗很小,显示不全的问题,安装命令换为如下即可。
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0
不出意外的话,恭喜你,将弹出安装界面,如果遇到display at least 256 colors这个问题,请看文末的解决办法。弹出安装界面后安装过程比较简单,就不细说了,步骤截图如下。

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”
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、安装过程中弹出错误,如下图所示

查看日志如下:

可能是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

接着又提示错误如下:

$(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)。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213750.html原文链接:https://javaforall.net
