centos7安装oracle11g
挂载光盘
用系统光盘作为yum仓库
mount /dev/cdrom /media/cdrom
安装unzip
yum install unzip
检查并安装必要的软件包
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat ld-linux.so.2 unixODBC unixODBC-devel
yum install libXp
添加用户和组
groupadd oinstall # 添加组
groupadd dba # 添加组
useradd -g oinstall -G dba oracle # 添加用户
passwd oracle # 填写密码
添加sudoers oracle
# vi /etc/sudoers
添加写权限
# chmod u+w /etc/sudoers
# vi /etc/sudoers
找到:
root ALL=(ALL) ALL
添加:
oracle ALL=(ALL) ALL
:x 保存退出
取消写权限
# chmod u-w /etc/sudoers
修改用户
vi /home/oracle/.bash_profile
export ORACLE_BASE=/usr/local/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product #oracle数据库路径
export ORACLE_SID=orcl #oracle #启动数据库实例名
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
使配置生效:
source /home/oracle/.bash_profile
创建数据库安装目录
mkdir -p /usr/local/oracle/product
mkdir /usr/local/oraInventory
chown -R oracle:oinstall /usr/local/oracle/
chown -R oracle:oinstall /usr/local/oraInventory
安装图形界面
yum groupinstall "X Window System"
输出服务器界面到客户端
DISPLAY=192.168.1.128:0.0; export DISPLAY
我的虚拟机可以可以使用X11方式安装oracle,但是实体机不能通过X11访问,需要通过VNC方式访问:
安装vncserver
vnc的比x11图形界面转发方式流畅;
yun install vnc-server
服务端启动 vncserver
vncserver
客户端通过vncviewer访问服务器
测试环境变量
su - oracle
env | grep ORA //检查环境变量是否设置生效
解压安装oracle
解压:
$unzip linux.x64_11gR2_database_1of2.zip
$unzip linux.x64_11gR2_database_2of2.zip
cd database
./runInstaller # 安装数据库
安装oracle 11gR2遇到的错误处理
Check & Fix
在安装准备阶段,提示某些系统配置项不符合要求,可以点击 Check & Fix
,oracle自动生成脚本,需要使用root账户执行即可。
ins_ctx.mk 错误
如果查看安装错误日志,提示如下:
Error in invoking target 'install' of makefile '/usr/local/oracle/product/ctx/lib/ins_ctx.mk'.
See '/usr/local/oraInventory/logs/installActions2018-09-12_09-45-05AM.log' for details.
Exception Severity: 1
解决办法:
安装glibc-static-2.17-157.el7.x86_64.rpm
下载地址(用于下载linux的rpm安装包):http://rpmfind.net/linux/rpm2html/search.php
在上述网站中搜索glibc-static就可以找到对应的上述版本
这里需要切记,安装glibc-static的时候需要:
rpm –ivh glibc-static-2.17-157.el7.x86_64.rpm --nodeps
这里特别强调需要–nodeps,如果没有这个参数,你需要安装一大堆依赖包,最后还无法解决问题.
安装好这个软件之后,会生成一个静态链接库:
/usr/lib64/libc.a
需要修改 ins_ctx.mk
文件,找到如下内容:
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为:
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ)$(INSO_LINK) /usr/lib64/libc.a
:x 保存文件,并点击Retry继续进行安装;
继续提示如下错误:
ins_emagent.mk 错误
Error in invoking target 'agent nmhs' of makefile '/usr/local/oracle/product/sysman/lib/ins_emagent.mk'.
See '/usr/local/oraInventory/logs/installActions2018-09-12_04-06-36PM.log' for details.
解决方法:
修改ins_emagent.mk
文件:
vi ins_emagent.mk
找到:
$(MK_EMAGENT_NMECTL)
修改为:
$(MK_EMAGENT_NMECTL) -lnnz11
然后点击Retry继续安装,就可以安装成功了
创建数据库
字符集设置 ZHS16GBK
安装数据库时,需要确认字符集为:ZHS16GBK
,这个值在windows下是默认值,但是linux下与操作系统有关,需要手工修改,否则导入数据时将出现乱码;
NLS_LANGUAGE=AMERICAN
NLS_TERRITORY=AMERICA
NLS_CHARACTERSET=ZHS16GBK
NLS_NCHAR_CHARACTERSET=AL16UTF16
查看字符集方式
(1).数据库服务器字符集
select * from nls_database_parameters;
来源于props$,是表示数据库的字符集。
(2).服务端字符集环境
select * from nls_instance_parameters;
其来源于v$parameter,表示服务端的字符集的设置,可能是参数文件,环境变量或者是注册表
(3).会话字符集环境
select * from nls_session_parameters;
来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。
添加防火墙
firewall-cmd –zone=public –add-port=1521/tcp –permanent
firewall-cmd –reload