Linux安装Oracle12C.docx
《Linux安装Oracle12C.docx》由会员分享,可在线阅读,更多相关《Linux安装Oracle12C.docx(25页珍藏版)》请在冰豆网上搜索。
Linux安装Oracle12C
lxw
Linux安装Oracle12C
学习资料
文件状态:
文件标识:
[√]草稿
当前版本:
V1.0
[]正式发布
作者:
lxw
[]正式修改
完成日期:
2016-01-18
版本历史
版本号
文档状态
简要说明
(变更内容和变更范围)
修改日期
变更人
V1.0
A
新增文档
lxw
说明:
文档状态:
R――发布,A——增加,M——修改,D——删除
文档状态对应的版本号规则:
发布的版本号只有x.y,处于修改状态的号则为x.y.z的方式。
如:
V1.1为发布版本;V1.0.1为修改版本。
目录
1系统配置4
1.1安装前准备4
1.2安装依赖包4
1.3创建用户和组4
1.4修改内核参数5
1.5修改系统资源限制5
1.6创建安装目录及设置权限5
1.7设置oracle环境变量6
1.8安装oracle6
1.9安装步骤截图7
2参考28
2.1开启、关闭数据库28
2.2compat-libstdc++老是装不上29
2.3pdksh-5.2.14-37.el5_8.1.x86_64.rpm29
2.4没有网络的情况下安装依赖包29
2.5提示:
检查监视器:
监视器配置至少必须显示256种颜色。
。
。
解决办法30
2.6linux通过一根网线与笔记本直连上网31
2.7设置sqlplus中的退格键31
2.8备份数据库32
2.9查询表空间33
2.10检查oracle死锁33
2.11System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本34
系统配置
操作系统:
CentOS6.5_x64Desktop
1.1安装前准备
#关闭防火墙
#serviceiptablesstop
#修改主机名
[root@oracledb~]#sed-i"s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/"/etc/sysconfig/network
[root@oracledb~]#hostnameoracledb
#添加主机名与IP对应记录
[root@oracledb~]#vi/etc/hosts
127.0.0.1oracledb
#关闭Selinux
[root@oracledb~]#sed-i"s/SELINUX=enforcing/SELINUX=disabled/"/etc/selinux/config
[root@oracledb~]#setenforce0
1.2安装依赖包
#需要在能上网的情况下进行
[root@oracledb~]#yum-yinstallgccgcc-c++makebinutilscompat-libstdc++-33elfutils-libelfelfutils-libelf-develglibcglibc-commonglibc-devellibaiolibaio-devellibgcclibstdc++libstdc++-develunixODBCunixODBC-devel
1.3创建用户和组
#sysctl-p
#groupadd-g200oinstall
#groupadd-g201dba
#useradd-u440-goinstall-Gdbaoracle
#passwdoracle
1.4修改内核参数
#vi/etc/sysctl.conf#末尾添加如下
net.ipv4.ip_local_port_range=900065500
fs.file-max=6815744
kernel.shmmni=4096
kernel.sem=25032000100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr=1048576
vm.dirty_background_ratio=3
vm.dirty_ratio=5
vm.min_free_kbytes=1048576
1.5修改系统资源限制
#vi/etc/security/limits.conf#末尾添加如下
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536
#vi/etc/pam.d/login
sessionrequiredpam_namespace.so#下面添加一条pam_limits.so
sessionrequiredpam_limits.so
#vi/etc/profile
if[$USER="oracle"]||[$USER="grid"];then
if[$SHELL="/bin/ksh"];then
ulimit-u16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
umask022
fi
1.6创建安装目录及设置权限
#mkdir/data1/
#mkdir/data1/oracle/
#mkdir/data1/oracle/app/
#mkdir/data1/oracle/oradata/
#chmod755/data1/oracle/
#chmod775/data1/oracle/app/
#chownoracle.oinstall-R/data1/oracle/
1.7设置oracle环境变量
#su-oracle
#vi~/.bash_profile
exportORACLE_BASE=/data1/oracle/app
exportORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
exportPATH=$PATH:
$ORACLE_HOME/bin
exportORACLE_SID=orcl
#source.bash_profile#立即生效
1.8安装oracle
下载并解压:
下载压缩包放在/tmp路径下
[root@oracledb~]#unzip/media/linux.x64_11gR2_database_1of2.zip
[root@oracledb~]#unzip/media/linux.x64_11gR2_database_2of2.zip
[root@oracledb~]#xhost+#使所有用户都能访问图形桌面
[root@oracledb~]#su–oracle
[oracle@oracle~]#./tmp/database/runInstaller
1.9安装步骤截图
运行过程会提示让你用root账户执行2个脚本,你将脚本的文件拿下来,在root账户下执行即可。
参考
1.10开启、关闭数据库
1)切换用户
su-oracle
2)命令行启动监听
lsnrctl
>start#启动
>stauts#查看状态
>exit#退出
3)启动数据库
sqlplus"/assysdba"
>startup
4)关闭数据库
sqlplus"/assysdba"
>shutdownimmediate
1.11compat-libstdc++老是装不上
在Linux上安装Oracle时,检测软件包compat-libstdc++时老是显示没有安装,重新从网上下载了最新的安装包后虽然显示安装成功了,但是重新检测还是显示没有安装。
最后Google到了结果,原因是,检测的时候应该使用:
rpm-qa'compat-libstdc++*'
而非
rpm-qcompat-libstdc++
1.12pdksh-5.2.14-37.el5_8.1.x86_64.rpm
pdksh-5.2.14-37.el5_8.1.x86_64.rpmOracle安装时需要安装的包
rpm–qa|greppdksh#查看是否安装
rpm–ivhpdksh-5.2.14-37.el5_8.1.x86_64.rpm#安装,冲突时rpm-e卸载冲突的包
1.13没有网络的情况下安装依赖包
在没有网络的情况下可以从启动优盘或光盘中将Packages文件夹拷贝到目标机器上。
Packages中都是rmp包
#检查
rpm-qbinutilscompat-libstdc++gccgcc-c++glibcglibc-develkshlibaiolibaio-devellibgcclibstdc++libstdc++-devellibXextlibXtstlibX11libXaulibXimakesysstat
#cd到拷贝的路径中,按照以下顺利安装。
rpm-ivhcompat-libstdc++-33-3.2.3-61.x86_64.rpm
rpm-ivhlibaio-0.3.107-10.el6.x86_64.rpm
rpm-ivhlibaio-devel-0.3.107-10.el6.x86_64.rpm
rpm-ivhmpfr-2.4.1-6.el6.x86_64.rpm
rpm-ivhppl-0.10.2-11.el6.x86_64.rpm
rpm-ivhcloog-ppl-0.15.7-1.2.el6.x86_64.rpm
rpm-ivhcpp-4.4.7-4.el6.x86_64.rpm
rpm-ivhgcc-4.4.7-4.el6.x86_64.rpm
rpm-ivhlibstdc++-devel-4.4.7-4.el6.x86_64.rpm
rpm-ivhgcc-c++-4.4.7-4.el6.x86_64.rpm
rpm-ivhcompat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
rpm-ivhksh-20120801-10.el6.x86_64.rpm
1.14提示:
检查监视器:
监视器配置至少必须显示256种颜色。
。
。
解决办法
切换到root用户
#suroot
#xhost+
提示:
xhost:
unabletoopendisplay“”
#exportDISPLAY=:
0.0
#xhost+
提示:
accesscontroldisabled,clientscanconnectfromanyhost
切换oracle用户
#su–oracle
再执行#shrunInstaller
问题解决!
出现乱码则设置
exportLANG="en_US.UTF-8"
1.15linux通过一根网线与笔记本直连上网
首先将笔记本(笔记本IP为11.101.9.20)的无线网络共享。
然后在linux输入
route-net11.101.9.100netmask255.255.255.0gw11.101.9.104routeadddefaultgw11.101.9.104
注:
11.101.9.100(与笔记本IP一个网段)
11.101.9.104(笔记本的IP)
然后重启网卡/etc/init.d/networkrestart
1.16设置sqlplus中的退格键
有些时候当你使用sqlplus登录到数据库中的时候,敲错了命令想要删除修改的时候,发现以前敲入的字符无法删除,反而多出了^H字符。
SQL>show^H^H
[oracle@zeng~]$stty-a//显示所有的终端设置。
其中会有这样的一个字段erase=^?
;表示终端的清除字符的方式是Ctrl+Backspace。
可以修改成我们经常使用的Backspace键。
[oracle@zeng~]$sttyerase^H
在进入sqlplus中就可以按照我们熟悉的方式删除敲错的字符了。
当你注销linux会话再次登录linux系统进入sqlplus的时候问题又来了。
SQL>show^H^H
想要让该设置在每次登录linux系统创建会话的时候生效,可以写入.bash_profile文件中,在执行生效。
[oracle@zeng~]$vi.bash_profile//加入sttyerase^H
[oracle@zeng~]$..bash_profile
1.17查询表空间
SELECTUPPER(F.TABLESPACE_NAME)"表空间名",
D.TOT_GROOTTE_MB"表空间大小(M)",
D.TOT_GROOTTE_MB-F.TOTAL_BYTES"已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB-F.TOTAL_BYTES)/D.TOT_GROOTTE_MB*100,2),'990.99')||'%'"使用比",
F.TOTAL_BYTES"空闲空间(M)",
F.MAX_BYTES"最大块(M)"
FROM(SELECTTABLESPACE_NAME,
ROUND(SUM(BYTES)/(1024*1024),2)TOTAL_BYTES,
ROUND(MAX(BYTES)/(1024*1024),2)MAX_BYTES
FROMSYS.DBA_FREE_SPACE
GROUPBYTABLESPACE_NAME)F,
(SELECTDD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES)/(1024*1024),2)TOT_GROOTTE_MB
FROMSYS.DBA_DATA_FILESDD
GROUPBYDD.TABLESPACE_NAME)D
WHERED.TABLESPACE_NAME=F.TABLESPACE_NAME
ORDERBY1;
1.18检查oracle死锁
查看锁表进程SQL语句1:
selectsess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
fromv$locked_objectlo,
dba_objectsao,
v$sessionsess
whereao.object_id=lo.object_idandlo.session_id=sess.sid;
查看锁表进程SQL语句2:
select*fromv$sessiont1,v$locked_objectt2wheret1.sid=t2.SESSION_ID;
杀掉锁表进程:
如有記錄則表示有lock,記錄下SID和serial#,將記錄的ID替換下面的738,1429,即可解除LOCK
altersystemkillsession'738,1429';
1.19System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本
ASP.NET连接Oracle问题1:
System.Exception:
System.Data.OracleClientrequiresOracleclientsoftwareversion8.1.7orgreater
原因:
NTFS权限问题,在ORACLE9I时总是遇到
解决方法:
1、以管理员的用户登录;
2、找到ORACLE_HOME文件夹(我的是C:
\oracle\ora92),点右键,选属性--安全,在组或用户栏中选“AuthenticatedUsers”,在下面权限列表中把“读取和运行”的权限去掉,再按应用;重新选上“读取和运行”权限,点击应用;选权限框下面的“高级”按钮,确认“AuthenticatedUsers”后面的应用于是“该文件夹、子文件夹及文件”,按确定把权限的更改应用于该文件夹;
3、重新启动计算机,让权限设置生效(请注意,这一步很重要);
4、登录后运行应用,正常取得Oracle数据库的数据。