换了好几个系统终于还是利用centos安装oralce成功了,这里我也参考了网上的好多资料以及oracle的官方文档
1、下载oracle,我这里选择的是11gr2版本,下载下来后有两个文件,利用unzip命令解压到相同目录
2、在磁盘中建立oracle的安装目录
mkdir -p /oracle/oraclebase #这是oracle的安装基目录
mkdir -p /oracle/oraInventory #这是一些文件日志的目录
3、创建oracle用户和组
这里说以下为什么要建立用户和组,因为数据库存放一些重要的数据,并不是谁想访问就可以访问的,必须对用户的权限进行管理,只有用户加入了当前组,并赋予其权限才能够对数据库进行操作。
groupadd oinstall #创建用户组oinstall
groupadd dba #创建用户组dba
useradd -g oinstall -g dba -m oracle #创建用户oracle,并加入oinstall和dba用户组
passwd oracle #设置用户oracle的登录密码,根据提示输入两次密码
chown -R oracle:oinstall /oracle/oraclebase #设置目录所有者为oinstall用户组的oracle用户
chown -R oracle:oinstall /oracle/oraInventory
4、修改操作系统名称
vi /etc/redhat-release #编辑
修改为:redhat-7
这里我也不大清楚,因为oracle官方认证的系统是redhat、oracle linux、suse等等,最后选择centos来安装oracle,也是因为centos是redhat的一个发行版,我想兼容还是可以的。
5、修改内核参数
这一步修改主要是因为,在oracle的官方文档中有对oracle数据库安装配置的最低要求,因此需要修改一下
vi /etc/sysctl.conf #编辑,
#在最后添加以下代码
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
保存退出后要进行如下操作以使配置生效
sysctl -p #使配置立即生效
6、对oracle用户设置限制
vi /etc/security/limits.conf #在末尾添加以下代码
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
注:突然想起来,加入要是vi编辑文件内容较多的话,可以进入命令模式输入“$”来跳到文尾。
7、配置用户的环境变量
vi /home/oracle/.bash_profile
#在最后添加以下代码
export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #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 #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出中文乱码问题
保存退出以后,输入如下命令使配置生效
source .bash_profile #使设置立刻生效
8、关闭SELINUX
vi /etc/selinux/config
#编辑配置文件
#注释掉SELINUX=enforcing
# 注释掉SELINUXTYPE=targeted
SELINUX=disabled #增加
9、配置防火墙
由于我安装的系统是centos 7 的Live版本,所以有好多东西没有,我再添加完如下代码之后,没有找到iptables restart命令,然后重启了下系统,反正最后也没什么影响,我猜我的这个版本中没有防火墙。网上代码如下:
vi /etc/sysconfig/iptables #编辑防火墙配置文件,添加以下内容
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 1521 -j ACCEPT
/etc/init.d/iptables restart #重启防火墙使配置生效
10、检查依赖关系
这里我检查了两步,首先是按照官方文档检查了一遍,在官方文档中我参考的是redhat-7所有需要的东西,如下:
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
检查的时候就利用如下命令即可,直接在线安装,假如安装了的肯定会提示,否则就安装了
yum install binutils #以第一个包为例子
接下来顺便将我参考的一篇文章检测以来关系的方法也用了下,这条命令有通配符,安装的package比以上更多,辐射范围更广,保证万无一失么。
yum install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-*
这个有一个pdksh可能提示没有此包之类的,不过没关系,在第一步的时候已经检测安装了ksh
11、接下来进行图形界面的安装,首先要切换到上边创建的用户oracle下,最好logout后在登陆。
12、cd进入上边解压的oracle安装文件目录database中
注意:由于上边的那个database的owner是root,oracle没有权限访问,可以利用如下命令,将此文件夹的所有者该为oracle.
su - root #切换到root用户
chown -R oracle /.../database
13、运行如下命令启动安装界面
export LANG=en_US #设置编码,防止图形界面乱码
./runInstaller
注意:此处可能会提醒DISPLAY未通过是怎么的,我忽略的,貌似没影响
接下来就进入一步一步的安装步骤中,很简单的,按部就班来就可以了,选择部分按默认的就可以
在接下来的安装当中可能会提示有错误之类的email的忽略继续,
然后可能还会有主机名与Ip没映射的利用如下命令修改hosts文件就可以
vi /etc/hosts
#进入之后将你的主机名加入到127.0.0.1的对应中,注意是主机名,不是你的用户名
14、我在安装过程中还遇到了两个其他的错误是关于makefile,和一个警告,但是我忽略后,安装完毕以后,也没发现有问题,将错误代码贴到这里,留待以后解决
install makfile error
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'install' of makefile '/oracle/oraclebase/product/11.2.0/db_1/ctx/lib/ins_ctx.mk'. See '/oracle/oraInventory/logs/installActions2014-12-22_05-24-27PM.log' for details.
Exception Severity: 1
INFO: Calling Action unixActions10.2.0.3.0 make
registerOnly = false
installMakePath = /usr/bin/make
installMakeFileName = /oracle/oraclebase/product/11.2.0/db_1/racg/lib/ins_has.mk
installTarget = racg_install
undoMakeFileName =
installArguments = ORACLE_HOME=/oracle/oraclebase/product/11.2.0/db_1
logFile = /oracle/oraclebase/product/11.2.0/db_1/install/make.log
undoTarget =
progMsg = Linking RACG Executables
INFO: Linking RACG Executables
INFO: Linking RACG Executables
INFO: The output of this make operation is also available at: '/oracle/oraclebase/product/11.2.0/db_1/install/make.log'
INFO:
agent nmhs makefile error
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'agent nmhs' of makefile '/oracle/oraclebase/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'. See '/oracle/oraInventory/logs/installActions2014-12-22_05-24-27PM.log' for details.
Exception Severity: 1
INFO: Calling Action unixActions10.2.0.3.0 make
registerOnly = false
installMakePath = /usr/bin/make
installMakeFileName = /oracle/oraclebase/product/11.2.0/db_1/rdbms/lib/ins_rdbms.mk
installTarget = all_no_orcl
undoMakeFileName =
installArguments = ORACLE_HOME=/oracle/oraclebase/product/11.2.0/db_1
logFile = /oracle/oraclebase/product/11.2.0/db_1/install/make.log
undoTarget =
progMsg = Linking RDBMS Executables
INFO: Linking RDBMS Executables
INFO: Linking RDBMS Executables
INFO: The output of this make operation is also available at: '/oracle/oraclebase/product/11.2.0/db_1/install/make.log'
INFO:
创造与魔法 安卓版v1.0.0750
创造与魔法是一款开放世界手游,在游戏中玩家可探索这个奇妙的世
创造与魔法修改版 最新版v1.0.0750
创造与魔法无限点券版是款探索冒险游戏,该款游戏的操作还是蛮自
战争与文明官方版本 安卓版v1.7.16
战争与文明是一款由上海邮通科技有限公司开发的战争策略游戏,这
迷你世界0元领皮肤无限迷你币版 最新安卓版v1.43.0
迷你世界0元购买皮肤版是这款开放沙盒冒险建造游戏的特殊破解版
创造与魔法无限经验版 安卓版v1.0.0750
创造与魔法无限经验版是款可以改造环境,整个游戏的自由度还是蛮