一、环境准备
有需要安装时的软件或安装中遇到的一些问题,请私信解决!
1.linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip (下载地址)
2.还可能会用到Xmanager中的Xstart
二、 安装前准备
1、创建oracle数据库的系统用户和用户组
*:-g:指定用户所属的群组 -G:指定用户所属的附加群组 -m:自动建立用户的登入目录
2、创建oracle数据库安装目录
3、修改OS系统标识
oracle默认不支持CentOS系统安装, 修改文件 /etc/RedHat-release 内容为RedHat-7
4、安装oracle数据库所需要的软件包
可参考:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#BABCFJFG 安装所需安装包
检测是否31个包都有安装
5、关闭防火墙
CentOS 7默认使用的是firewall作为防火墙
6、修改内核参数
7、设置用户限制,提高软件运行性能
8、配置用户的环境变量
必须与Oracle客户端安装时设置的字符集保持一致。有的是设为AL32UTF8,根据需要自行设定。
获取安装包文件的方式,可通过ftp服务器,也可通过wget下载到指定目录,解压方式如下
在oracle用户中上传1gR2_database_1of2.ziplinux.x64_11gR2_database_2of2.zip安装包上传到/usr/local/src
三、oracle安装、问题及解决方法
3.1、安装 ORALE
安装问题:
问题1、安装Oracle数据库软件,提示“检查监视器”未通过
检查临时空间: 必须大于 120 MB。 实际为 36939 MB 通过
检查交换空间: 必须大于 150 MB。 实际为 8047 MB 通过
检查监视器: 监视器配置至少必须显示 256 种颜色
DISPLAY 变量。 未通过 <<<<
解决方法:根据报错信息,首先想到的是配置DISPLAY变量(一般配置一下就可以解决)
正在启动 Oracle Universal Installer…
问题2、过程弹框界面是一个白色竖线一般,整个界面无法点击next按钮
解决办法:这里推荐使用Xmanager工具中的Xstart。
保持CentOS联网状态,以root用户登录,执行命令:
安装完毕后,启动Xstart,输入主机IP并用oracle用户登录,
输入命令:
3.2、进入安装界面
(1) 如下图所示,去掉“I wish receive security via My Oracle Support”的勾选,单击“next”,选“yes”继续。
(2)选中“Create and configure a database”,点击“next”
第一项为企业级应用 第二项只安装数据库 第三项为升级现有数据库
(3) 选中“DesktopClass”,点击“next”
第一项为桌面类:一般适用于台式机和笔记本,包含最小数据库和最低配置要求,安装时只有基本选项。
第二项为服务类:适用于服务器,例如,它会向您提供数据中心和用于支持企业级的应用程序。
(4) 这里如果安装前准备按照文档操作的话,这里只需填写passwrod即可(无视警告),点击“next”
默认选择
(5) 之后的配置一般都选择默认,当流转到这个界面时,选中Character sets选项,
修改字符集为UTF-8后继续“next”
(6) 之后配置继续按照默认即可,当流转到这个界面时,可以为所有用户设置密码,我设置的oracle,点击“next
(7) 流转到这个页面,如果之前安装依赖包会有下面图中包提示失败,一个一个检查package,在准备阶段中漏掉的,此处再安装,有些系统报错是因为现有的包的版本比检测要高,最后忽略即可。(点击Check_Again 多检查几次,根据错提示进行操作)
(8) 当安装进度达到68%时,会出现如上图所示报错(根据报错打开该文件)
查找安装目录下该文件:/usr/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk
保存(:wq)后,点击Retry继续安装
若还报错 打开此安装目录下文件:/usr/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk
打开控制端,以root权限执行所示两个脚本
3.3、创建Oracle监听
选择监听器协议,默认TCP,点击Next 配置监听端口,默认1521,点击Next 配置完成,提示是否增加另外的监听器,选择No,点击Next 点击Finish结束配置程序,命令行界面会提示配置的信息并将新的监听器启动
3.4、监听器的启动和停止
3.5、安装oracle数据库实例
1)、在/etc/fstab中明确指定/dev/shm的挂载sizes大小参数**
查看/dev/shm的大小
可以看到/dev/shm的大小为1.9G,设置为70%的时候所需空间的大小为2582M,已经超出其最大空间。/dev/shm默认为物理内存大小的一半,根据需要我将其设为3G,以root权限执行以下命令:
如果没有就直接添加上去,保存退出(:wq)
2)、将/dev/shm重新挂载
此种方式是永久更改/dev/shm 的空间大小,如果只要临时更改(重启无效),执行如下命令:
设置字符集,选择与安装Oracle时的设置相同的字符集,ZHS16GBK。如果Oracle用的字符集为AL32UTF8,就选择AL32UTF8。当然,如果这里字符集选错了,安装好了也是可以修改的,只是稍有麻烦。
设置连接类型,共享内存或者独享内存,也可以默认,点击Next
选择Generate Database Creation scripts(生成数据库创建脚本),可以为手工建库脚本提供参考
点击Finish,完成创建
启动监听:lsnrctl start #必须将监听启动,如果之前防火墙没关,还需要关闭防火墙。
输入:
输入:
其中,orcl是实例名,sys是它的密码。如果出现下图所示的“Connected.”则连接成功,说明数据库建立成功(这里是在CentOS终端上使用的)。
输入: ,回车(查询ip,使用ifconfig 命令)
查询当前用户: 查询用户下有几张表: 查询表字段: #emp是表名 查询表数据: 退出SQL命令模式exit;
3.6、创建表空间和用户授权
1)、连接数据库
2)、创建数据表空间
说明:
CREATE TABLESPACE 表空间名 LOGGING DATAFILE ‘存放路径’ SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE 20480M EXTENT MANAGEMENT LOCAL;
3)、创建用户并指定表空间
说明:
CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE 表空间名;
4)、给用户授予权限
说明: grant connect,resource,dba to 用户名;
5)、删除表空间
说明:
drop tablespace 表空间名 including contents and datafiles cascade constraints;
including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间无法删除。
including datafiles 删除表空间中的数据文件
cascade constraints 同时删除表空间中表的外键参照
至此所有安装完成!!!
四、 设置数据库自启动
方法一: 1、安装好Oracle数据库后: 执行 dbstart和dbshut
错误原因:dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题
修改后保存退出,问题解决
2、Linux启动时自动启动Oracle监听和实例
(这个路径跟安装路径有关,$ORACLE_SID:$ORACLE_HOME:<N|Y>)
第二步:把lsnrctl start和dbstart添加到rc.local文件中:
root权限执行
说明:
第一行为开机启动数据库监听服务,第二行为开机启动数据库。(路径跟安装路径相关)。
注意:CentOs7中/etc/rc.d/rc.local不会开机执行,需添加执行权限。
查看/etc/rc.d/rc.local的权限
3、重启电脑后查看是否自启动成功
查看监听是否自启动成功
4、oracle的启动或关闭管理
方法二:
1、修改/etc/oratab文件
root权限执行
(这个路径跟安装路径有关,$ORACLE_SID:$ORACLE_HOME:<N|Y>)
2、新建Oracle服务自启动脚本
3、检查脚本能否执行
4、添加执行权限并建立链接
更改oracle脚本的执行权限
建立链接
将启动脚本添加到系统服务并设置自启动
修改服务运行等级(虽然脚本里写过,但还是重新设置一下),可以自行设置oracle脚本的运行级别
说明:设置oracle脚本在运行级别为2、3、4、5时,都是on(开启)状态,off为关闭
查看oracle自动启动设置
手动创建符号链接文件(执行效果和执行chkconfig --add oracle是一样,作为知识笔记记录,可以不执行)
5、oracle的启动或关闭管理
五、 数据库字符集修改
注意事项:修改字符集前先将数据库进行备份
此处演示将ZHS16GBK字符集修改为AL32UTF8
1、修改server端字符集
登录sqlpus查看字符集设置
数据库未启动,先启动数据库。最好将数据库设未开机启动
依次执行如下命令
2、修改client端字符集
查看系统环境变量设置的字符集(client端字符集)
进入编辑界面,将ZHS16GBK改为AL32UTF8,保存退出
如果创建用户名密码登陆不上,仔细查看环境变量(vim /home/oracle/.bash_profile)是否正确,可能原因找不到SID,执行: