centos6安装oracle10g总结

http://blog.csdn.net/sheen1991/article/details/47026591

在Linux系统中,安装oracle有时还是比较蛋疼的一件事情。但是如果安装前的准备工作做的好的话,可能就比较顺利。如依赖包安装完整,配置文件设置正确。如下的总结是在centos服务器上安装oracle10g,不过此方法在本机的centos7上安装oracle12C验证也通过,感觉在centos7上安装oracle12C要比在censor6.5上安装oracle10g容易,可能是新系统兼容性比较好的缘故。
由于本人水平有限,搞Linux只是业余,主要工作还是Java后端开发,目前使用kotlin语言。可能很多地方不完善,希望大家提出宝贵的意见,大家一起进步。谢谢!!


centos6系列安装oracle11g教程
1、centos系统的安装
1、做好u盘启动系统。
2、安装系统。
a、安装系统时,分区一般按照如下分配:
/boot 200MB
/swap 一般为内存的1.5到2倍
/u01 120000MB
/ 剩余的空间
3、安装定制软件包。
注意:Development Tools中,选中libXp和glibc开头的几个包。
4、网络配置
vi /etc/sysconfit/network-scripts/ifcfg-eth0
一般更改为如下配置:
ONBOOT=yes
BOOTPROTO=static #注意:此处应该更改为static,否则安装会报错
IPADDR=X.X.X.X #ip地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=X.X.X.X #默认网关
dns1=X.X.X.X #DNS
保存退出,然后重启网络。
service network restart
如果以上命令失败,则直接配置网络。

打开网络配置:

按照如上配置之后,点击Apply保存网络。然后重启网络。
重启成功之后,进入网络配置,vi /etc/sysconfit/network-scripts/ifcfg-eth0
将里面的BOOTPROTO更改为static,然后重启网络。在终端ping www.baidu.com,如果通了说明网络配置好了。
5、安装必须的依赖包。
执行以下命令,安装完所有的依赖包,一般在oracle安装时不会再报错了(一下安装包在oracle10g和oracle12c已经验证)。
yum install -y compat-libcap1.i686 binutils.x86_64 binutils-devel.x86_64 compat-libstdc++-296.i686 compat-libstdc++-33.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.x86_64 libstdc++-devel.i686 libaio.i686 libaio.x86_64 libaio-devel.x86_64 libaio-devel.i686 libXext.x86_64 libXext.i686 libXext-devel.i686 libXext-devel.x86_64 libXtst.x86_64 libXtst-devel.x86_64 libXtst.i686 libXtst-devel.i686 libX11.x86_64 libX11.i686 libX11-devel.x86_64 libX11-devel.i686 libXau.x86_64 libXau.i686 libXau-devel.x86_64 libXau-devel.i686 libxcb.x86_64 libxcb-devel.x86_64 libxcb.i686 libxcb-devel.i686 libXi.x86_64 libXi.i686 libXi-devel.x86_64 libXi-devel.i686 make.x86_64 sysstat.x86_64 libXp.x86_64 libXp-devel.x86_64 libXp.i686 libXp-devel.i686 libXpm.x86_64 libXpm-devel.x86_64 libXpm.i686 libXpm-devel.i686

2、安装oracle之前必要配置
1、修改linux系统所需的配置文件
Oracle数据库的安装不建议在超级用户root上安装,建议另外增加一个用户oracle在linux系统上。但是在增加该用户之前,我们还需要为该用户设置一些系统内核参数。
使用Vi编辑器在/etc/sysctl.conf文件的末尾增加下面的参数:


kernel.shmall= 2097152 #表示系统一次可以使用的共享内存总量(以页为单位)。
kernel.shmmax= 2147483648 #定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。
kernel.shmmni= 4096 #用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096
kernel.sem= 250 32000 100 128 #表示设置的信号量
net.ipv4.ip_local_port_range= 1024 65000 #本地端口数量上限
net.core.rmem_default=4194304 #默认的接收窗口大小
net.core.rmem_max=4194304 #接收窗口的最大大小
net.core.wmem_default=262144 #默认的发送窗口大小
net.core.wmem_max=262144 #发送窗口的最大大小
[root@CentOS6~]# /sbin/sysctl -p #执行生效

编辑/etc/security/limits.conf文件,用于设置系统资源限制。假如未来由oracle这个用户来安装oracle数据库,则需要系统管理员将以下参数添加到limits.conf。

vi/etc/security/limits.conf

加入以下四行:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
然后在编辑/etc/pam.d/login文件,增加以下参数:

vi/etc/pam.d/login

session required /lib/security/pam_limits.so
session required pam_limits.so
注:
etc目录下包括pam.d目录,在pam.d目录下还有个login子目录。etc指的系统配置文件目录,pam.d指的是验证登陆配置,login是登陆配置文件。简单说就是linux操作系统的登陆配置文件。
2、创建相应的用户名及用户组
在这里只讨论单主机环境,不考虑RAC环境的配置。执行以下指令以新增oracle安装时所需要的使用者与群组。
2.1建立群组oinstall

groupadd oinstall

2.2建立群组dba

groupadd dba

2.3建立用户oracle将加入oinstall和dba群组,并测试

useradd -g oinstall -G dba oracle

2.4 建立oracle的新密码

passwd oracle

3、修改/etc/profile,修改用户的shell limits
将以下代码新增到profile文件中:
if [[ $USER = "oracle" ]]; then
if [[ $SHELL = "/bin/ksh" ]]; then
ulimit -p16384
ulimit -n65536
else
ulimit -u16384 -n 65536
fi
fi
注意中括号的空格。
4、修改Linux发行版本信息
由于Oracle10g发行的时候,CentOS6.6没有发行,所以Oracle10g并没有对CentOS6.6确认支持,需要修改相关文件让Oracle10g支持CentOS 6。
我们需要手工修改Linux的发行注记,让Oracle 10g支持CentOS6.5。
编辑/etc/RedHat-release文件

vim /etc/redhat-release

将其中的内容CentOS release 6.5 (Final)修改为redhat 4
5、创建oracle的安装文件夹及数据存放目录
mkdir –p /u01/app/oracle
5.1修改/u01/app/oracle目录所属用户及组,修改为oracle和oinstall组。
查看目前oracle目录的用户及组:ls –la |grep oracle
修改oracle目录用户及组:
chown -R oracle:oinstall /u01/app/oracle
5.2 修改/u01/app/oracle的目录权限,使oinstall组对/u01/app/oracle目录也有可读写执行权限。
使用如下命令:
chmod -R 775 /u01/app/oracle

6、配置oracle用户的环境变量
打开cd /home/oracle,使用Vi编辑.bash_profile。如下图:
修改并加入以下內容:
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;
export ORACLE_SID=orcl;
export ORACLE_TERM=xterm;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
保存后使用如下命令,使设置生效:
source /home/oracle/.bash_profile
7、安装Oracle,并进行相关设置
7、1将下载的压缩包放至即将安装oracle的文件夹/uo1/app/oracle下
unzip 文件名,将该文件解压。
解压缩完成会在同一个文件夹中看到database的文件夹
目前database文件夹的所有者和用户组均是root。现在我们要该更它:

chown -R oracle:oinstall /u01/app/oracle/database

3、安装oracle数据库
1、安装准备
上述解压oracle安装包后,我们要注销掉root用户,使用Oracle用户登录,然后使用该用户进行oracle的安装。
在终端下,进入/u01/app/oracle/database目录:
准备执行数据库安装,如果你的centos是中文环境,安装时会出现中文乱码,请下以下指令。使系统临时为英文状态:
export LC_ALL=en_US.UTF-8
2、安装oracle
进入database目录,执行./ runInstaller
等待一会,出现下面这个界面,说明启动安装。

选择高级安装

注意:修改存放目录。
上图是指定证书存放的目录。(如果提示目录不存在,请先创建目录)

上图选择安装的数据库类型及oracle所支持的语言,这里选择企业版,语言选择英文和简体中文。

上图指定oracle环境变量,及安装路径。因为我们在.bash_profile中已经声明,所以这里会自动填充。

以上步骤,如果有错或者警告,根据信息来做相应调整,调整之后,再次点击Retry检查,检查通过后,点击Next继续安装。

选择配置选项,在这有三个选择项:创建数据库、配置自动存储管理、只安装数据软件。
我们在此选择第一项,创建数据库。创建数据库后,我们就不必再执行"dbca"进行数据库的创建。

此处选择第四个Advanced,因为 "Advanced" 后面有很多SGA,文件系统都可以自行设置。

指定oracle数据库默认的SID。指定字符集为库所用的字符集,中文为simplified Chinesezhs16gbk。如果字符集不对,可能造成以后数据乱码。最下面不用打钩Create databasewithsample schemas(已有的模式建库)。

配置数据库的数据文件存储的位置

配置数据库备份恢复的相关选项

配置数据库相关用户密码,输入所有用户使用同一个密码。

开启一个新的终端,su到root。将要求执行的两段script依序执行。
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/10.2.0/db_1/root.sh

到此oracle数据库安装完毕。
查看数据库的状态:
登录数据库:
sqplus / as sysdba
SQL> select instance_name,status fromv$instance;
INSTANCE_NAME STATUS
orcl OPEN

3、创建数据库
如果上一步没有选择创建数据库,则现在创建数据库。
进入oracle安装目录的bin/目录下,执行./dbca即可创建数据库。
注意:创建数据的时候,如果报错提示:unable to create shared memory segment
执行如下命令:
[root@zhaotong database]# id oracle
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
[root@zhaotong database]# echo 501 >/proc/sys/vm/hugetlb_shm_group

4、创建监听
如果没有创建监听,则创建监听。
进入oracle的安装目录的bin/目录下,执行./netcat即可创建监听。
4、oracle安装的后续工作
1、oracle数据库中文乱码
SQL> select userenv('language') from dual;
把结果记录下来

然后到Oracle用户下 vim .bash_profile
查看NLS_LANG对应的值与这里写图片是否一样,不一样的话,改为图片上的编码格式。

如果bash_profile里面没有NLS_LANG选项,就自己添加

2、开放端口
/sbin/iptables -I INPUT -p tcp --dport 1521 -j ACCEPT #写入修改
/sbin/iptables -I INPUT -p tcp --dport 1158 -j ACCEPT #写入修改
/etc/init.d/iptables save #保存修改
service iptables restart #重启防火墙,修改生效

3、监听管理
如果没有创建监听,使用oracle用户登录,进入oracle的安装目录下的bin目录,执行./netca即可创建监听

查看oracle的监听状态
lsnrctl status
停止监听
lsnrctl stop
启动监听
lsnrctl start
查看oracle监听参数文件,一般在oracle安装目录下的/network/admin目录下
listener.ora和ternname.ora
启动指定的监听:
lsnrctl start [监听名]
重启监听
lsnrctl reload
监听帮助
lsnrctl help
某个监听命令的详细帮助
lsnrctl help start

4、oracle数据库的启动与停止
4.1、启动数据库
4.1.1、第一种方法:
以oracle用户登录终端,进入到oracle安装目录的bin目录下,执行dbstart,等待完成oracle数据库的启动。
4.1.2.、第二种方法:
以oracle用户登录终端:
使用sqlplus登录数据库:
sqlplus / as sysdba
执行:
startup
4.2、停止数据库
4.2.1、第一种方法
使用sqlplus登录数据库:
sqlplus / as sysdba
执行:
shutdown immediate
4.2.2、第二种方法
以oracle用户登录终端,进入到oracle安装目录的bin目录下,执行dbshut,等待完成oracle数据库的启动
5、oracle设置开机自启动
1、以root身份登录到系统。
执行命令:vi /etc/oratab
orcl:/u01/app/oracle/product/10.2.0/db_1/dbhome_1:N
将以上内容更改为:
orcl:/u01/app/oracle/product/10.2.0/db_1/dbhome_1:Y
保存退出。
注意:/u01/app/oracle/product/10.2.0/db_1为oracle的安装目录。
执行命令:vi /etc/rc.d/rc.local
加入以下配置:
su oracle -lc "/u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start"
su oracle -lc /u01/app/oracle/product/10.2.0/db_1/bin/dbstart
保存退出。
注意:第一行因为有空格,所以要加引号。
重启系统。

6、oracle常见问题
1、启动数据库的时候报错:ORA-27125: unable to create shared memory segment

执行如下命令:
[root@zhaotong database]# id oracle
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
[root@zhaotong database]# echo 501 >/proc/sys/vm/hugetlb_shm_group
但以上这种方式在重启操作系统后失效, /proc/sys/vm/hugetlb_shm_group又变为了0,建议采用以下方式解决:
加入vm.hugetlb_shm_group = 501 到/etc/sysctl.conf中来解决:

vi /etc/sysctl.conf

加入如下的内容,其中501为dba组号,需要根据你实际的情况进行改变。
vm.hugetlb_shm_group = 501
保存退出!
执行生效:
/sbin/sysctl -p

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容