Redhat7下安装oracle11g
来源:互联网 发布:mac如何拷贝文件到u盘 编辑:程序博客网 时间:2024/06/09 04:28
由于工作需要,从小白的状态学习Linux,到完成oracle的安装。栽了很多坑,这里一一记录下来,以便后边学习。
准备工作
安装VMware
安装VMware的过程比较简单,就和安装普通软件一样。VMware百度云链接:
安装Redhat
由于个人是小白,所以最开始安装Redhat的时候安装成了简易服务器版本。后边又重新装回带GUI版本,建议初学的小白在安装的过程中选择GUI版本,另外由于后边安装Oracle的安装包是英文,所以为了方便在后边选择语言的时候就选英文吧,反正也是一些简单普通的词汇。Redhat7是64位的,附百度云链接:
准备Oracle安装包
这里我用的是Oracle11g 64位,需要先进行下载,文件比较大有2.5G左右。附百度云链接:
挂载移动硬盘
Linux的文件系统都是基于树形,所以不能像window一样能自动识别外部介质,需要手工进行挂载。U盘的文件系统大部分是FAT32格式,所以挂载比较容易。但是最开始因为我把安装包放在了移动硬盘里边,我的移动硬盘格式是NTFS,所以在虚拟机读取移动硬盘需要进行挂载的时候折腾了半天。这里主要用到ntfs-3g进行挂载。ntfs-3g下载地址:
下载完了之后,进入ntfs-3g的目录下边。如果Linux无法联网,可以先放在U盘里边,挂载U盘然后解压。
挂载U盘步骤
- 进入终端并进入root模式 su root 输入密码
- 进入根目录 cd /
- 查看介质 fdisk -l 找到自己的U盘 例如我的是:/dev/sdc1
- 进行挂载 首先建立挂载目录 mkdir /mnt/usb,然后挂载命令 mount -t vfat /dev/sdc1 /mnt/usb
- 挂载完了之后进入/mnt/usb目录下查看是否挂载成功 ls /mnt/usb,看到自己U盘里边的文件即挂载成功
解压运行ntfs-3g
- 先在根目录下运行mkdir myFolder 新建一个自己的文件夹
- 找到U盘的ntfs-3g_ntfsprogs-2017.3.23.tgz包 执行 cp -r ntfs-3g_ntfsprogs-2017.3.23.tgz /myFolder
- 解压 tar –zxvf ntfs-3g_ntfsprogs-2017.3.23.tgz
- 进入解压包 cd ntfs-3g_ntfsprogs-2017.3.23
- 运行 ./configure
- make
- make install
- 进行挂载 挂载命令 mount -t ntfs-3g /dev/sdb1 /mnt/usb 其中sdb1要根据自己的移动硬盘的节点进行 挂载
配置yum源
这一步之所以放在准备工作里边,主要是因为后边安装oracle过程中,需要导入相应的依赖包。为了避免被安装oracle的过程弄晕掉,先把准备工作做足,以便一劳永逸也挺好的。yum是基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。(Python安装其他包 pip install 也是对这种方式进行参照的。 ),现在进行yum源的配置,也就是后边yum install 命令的下载地址,这里主要配置163yum源和epel源。
配置163yum源
- 进入源管理目录 cd /etc/yum.repos.d
- 新建一个163.repo文件 vim 163.repo
- 163.repo文件内容如下:
[163]name=163baseurl=http://mirrors.163.com/centos/7/os/x86_64/gpgcheck=0enabled=1
这里要注意的是,baseurl这一项,你要到http://mirrors.163.com/centos这里,去找到你对应的redhat版本的目录,然后点os、再点x86_64(一般都有),然后用你地址栏上显示的网址替换上面的baseurl就行了。
4. 保存退出。:wq
配置epel源
运行 rpm -vih http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
注意,我的redhat是7,所以如果你的版本不是7,那你要到http://dl.fedoraproject.org/pub/epel找到你对应版本的rpm包,然后用上面的命令下载,这条命令的作用就是在/etc/yum.repos.d目录下生成epel源。
OK,准备工作终于做完了,下面进入安装Oracle的重头戏!
安装ORACLE
要想顺利的安装Oracle,最好当然是参考Oracle公司的用户指南,虽然是英文的,但是没有哪个参考文档比这更权威了,用户指南可以在Oracle公司的官方网站下载:
http://www.oracle.com/technetwork/database/enterprise-edition/documentation/index.html
准备Oracle的安装环境(root用户)
检查和和更新所需要的软件包
执行命令
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel rpm -q gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers rpm -q ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat
我的Linux环境显示如下,其中重点关注加粗部分,也就是提示未安装的包
binutils-2.23.52.0.1-30.el7.x86_64
package compat-libstdc++-33 is not installed
elfutils-libelf-0.160-1.el7.x86_64
package elfutils-libelf-devel is not installed
gcc-4.8.3-9.el7.x86_64
gcc-c++-4.8.3-9.el7.x86_64
glibc-2.17-78.el7.x86_64
glibc-common-2.17-78.el7.x86_64
glibc-devel-2.17-78.el7.x86_64
glibc-headers-2.17-78.el7.x86_64
package ksh is not installed
libaio-0.3.109-12.el7.x86_64
package libaio-devel is not installed
libgcc-4.8.3-9.el7.x86_64
libstdc++-4.8.3-9.el7.x86_64
libstdc++-devel-4.8.3-9.el7.x86_64
make-3.82-21.el7.x86_64
package numactl-devel is not installed
sysstat-10.1.5-7.el7.x86_64
对于未安装的这些包执行yum install [包名],命令如下
yum install compat-libstdc++-33yum install elfutils-libelf-develyum install kshyum install libaio-develyum install numactl-devel
在Oracle数据库软件安装时,ksh实际是用的pdksh,但ksh也是可以使用的,只是安装时会有警告,pdksh是一个早期的软件包,可以在http://rpm.pbone.net/ 中找到。
验证系统要求
- 查看内存大小
grep MemTotal /proc/meminfo
- 查看交换空间
grep SwapTotal /proc/meminfo
- 查看磁盘空间
df -h
Oracle 11g R2 x64企业版的磁盘空间要求4.35GB以上。
创建Oracle用户组和用户账号(root用户)
# groupadd oinstall # groupadd dba # useradd -g oinstall -G dba oracle # passwd oracle
配置内核参数(root用户)
- 修改文件/etc/sysctl.conf
vim /etc/sysctl.conf
文件内容如下:
#/etc/sysctl.conf # for oracle fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 # 官方文档kernel.shmmax = 536870912,实际软件中需要kernel.shmmax = 980742144 kernel.shmmax = 980742144 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
执行命令: /sbin/sysctl -p
使参数生效。
2. 修改文件/etc/security/limits.conf vim /etc/security/limits.conf
文件内容如下:
# /etc/security/limits.conf # for oracle oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240
:wq保存文件并退出
创建Oracle的安装目录(root用户)
# mkdir -p /u01/app/ # chown -R oracle:oinstall /u01/app/ # chmod -R 775 /u01/app/
编辑Oracle用户环境(Oracle用户)
- 在root用户下输入
su oracle
进入oracle用户环境 - 编辑.bash_profile文件
vim /home/oracle/.bash_profile
.bash_profile文件内容如下:
#For Oracle export DISPLAY=:0.0 export TMP=/tmp; export TMPDIR=$TMP; export ORACLE_BASE=/u01/app/oracle; export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_SID=DBDW; 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;
:wq保存退出。
重新启动Linux,选择oracle用户环境的时候,系统会根据环境变量进行配置,后边的oracle命令才能正常执行。
输入 echo $ORACLE_HOME
查看环境变量是否配置成功,如果正常输出了配置的路径,则成功,如果输出为空白,可以在本次手动执行 source /home/oracle/.bash_profile
执行环境变量的加载。但是仅在当前终端窗口有效。
安装ORACLE数据库(oracle用户)
- 进入oracle解压缩后的安装目录,我的目录是 /mnt/usb/database
cd /mnt/usb/database
- 键入
vncserver
如果提示command not found,则在root用户下使用yum install tigervnc-server -y
进行安装 - 执行
./runInstaller
进入安装界面,我之前遇到过无法启动用户界面的情况,报的错误忘记了,反正能正常进入安装界面就行了。 - 进入安装界面后,安装过程和Windows下大致相同。其中如果报错误:Error in invoking target ‘agent nmhs’ of makefile ‘/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk’ 解决方案是: 保留安装过程,另外开启一个终端窗口,将ins_emagent.mk文件中的(MK_EMAGENT_NMECTL)更改为(MK_EMAGENT_NMECTL) -lnnz11,然后在安装过程中点击Retry即可。
- 安装最后步骤按提示在root用户下执行脚本.
# cd /u01/app/oraInventory/ # sh orainstRoot.sh # cd /u01/app/oracle/product/11.2.0/dbhome_1/ # sh root.sh 在Enter the full pathname of the local bin directory:[/usr/local/bin]:直接回车即可
配置监听器
oracle安装成功后需要配置监听器,直接键入 netca
命令,如果提示bash:netca:command not found ,手工执行source /home/oracle/.bash_profile
,就可以进入配置监听器的用户界面了,根据需要配置监听器。
1. 配置Listener configuration
2. 配置Local Net Service Name configuration
新建数据库实例
键入 dbca
命令,进行数据库实例配置
测试数据库
测试监听命令
$ lsnrctl stop $ lsnrctl start
如果在start这个过程中 报The listener supports no services
解决办法:打开listener.ora 文件 vim $ORACLE_HOME/network/admin/listener.ora
添加内容:
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = DBDW) (SID_NAME = DBDW) ))
其中orcl是自己配置的服务器名称.
操作sqlplus
- 命令
sqlplus /nolog
进入SQL控制台 - 命令
connect /as sysdba
sysdba连接数据库。如果此时显示Connected to an idle instance,不用着急,进入第3个步骤 - 命令
shutdown immediate
,如果此时报service handle not initialized。在sysdba连接上之后键入shutdown abort
- 命令
startup
.如果此时报错,请检查一下.bash_profile下边的$ORACLE_SID是否和建的数据库的SID一直,然后保存为一致之后重新启动。
其他测试命令,比如select userenv(‘language’) from dual,查看数据库的dataset编码,为后续oracle数据库的导入做准备。
至此,oracle数据库已经完全安装在Linux服务器上了!
- Redhat7下安装oracle11g
- RedHat7下安装MySQL
- win7下安装Oracle11g
- Linux下安装Oracle11g
- linux下oracle11g安装
- linux 下oracle11g 安装
- Solaris10下安装Oracle11g
- linux下安装Oracle11g
- Linux下安装Oracle11g
- windows下安装oracle11g
- Linux下安装Oracle11g
- Linux下安装oracle11g
- Win7下安装Oracle11g
- linux 下安装 Oracle11g
- linux下安装oracle11g
- win7下安装oracle11G
- linux下安装oracle11g
- centos7下安装oracle11g
- 【unique函数】
- codeblocks调试
- Spark Streaming---WindowBasedTopWord(java)
- 数据科学风云之互联网金融
- python实现自动监测目标网站的爬取速度_以及整体网络环境分析
- Redhat7下安装oracle11g
- 每日积累(20170819-day-25)(Ubuntu Nvidia Driver loop in sign)
- 从0开始写一个基于注解的轻量级分布式RPC框架(4)自定义Spring的IOC,自定义属性注入bean的过程
- 跨域问题解决(一):tamcat下的配置
- wamp安装配置问题
- Git十周岁之际,Linus Torvalds大谈Git开发故事
- 【Two Sum】 --MyLeetCode(一)
- 图像边界识别梯度与热度关系
- 拓扑排序