准备工作(安装环境)
1. 使用VMware14 搭建centos7的虚拟机
ip:192.168.126.129
2. 下载Oracle11g安装文件
链接: https://pan.baidu.com/s/1DaMJ8Nei5a9tUfDfvHd8Jw 提取码: nhv6
3.使用xhell5工具连接虚拟机,把两个文件上传到/home目录下
使用命令
4.使用root用户登录linux,yum安装unzip软件,用来解压上传的oracle安装文件
5…解压oracle安装程序
解压完成后,在/home目录下生成一个database文件夹,里面就是oracle安装文件
6. yum安装vim软件,用于编辑配置文件
7.在/etc/hosts文件中添加主机名
a. 查看主机名
b. 添加到hosts文件中
8.关掉selinux
为什么要关闭呢?
那是因为在RedHat linux操作系统中默认开启了防火墙,SELinux也处于启动状态,一般状态为enforing。致使很多服务端口默认是关闭的。
9.关闭防火墙,以免安装过程中发生不必要的错误
10.安装oracle11g的依赖包
11.添加用户和组
12.修改内核参数配置文件
13.查看配置是否生效
14.修改用户的限制文件
15.修改用户验证选项(root用户)
如图:
16.创建oracle安装目录和设置文件权限
普及:https://www.runoob.com/linux/linux-comm-mkdir.html 有关linux命令
-p 确保目录名称存在,不存在的就建一个。
17.切换为oracle用户,设置oracle用户环境变量
.bash_profile在/home/oracle/目录下
注意:不要把.bash_profile文件下原有的path和export PATH注释掉
PATH=
P
A
T
H
:
PATH:
PATH:HOME/.local/bin:$HOME/bin
export PATH
注意,ORACLE_SID=infodb与创建的数据库实例名称一致,否则数据库启动后无法访问。
17.1 配置完后使用命令使配置生效
17.2 退出在登录,使得环境变量的配置生效
18. 安装前的最后准备–编辑静默安装响应文件
注:严格按照命令来
a. 将响应文件复制到oracle用户目录 即/home/oracle
b. 编辑相应文件
注:在这个文件db_install.rsp找对应的将等于号后面填了
19.根据响应文件静默安装Oracle11g
可以切换终端执行,切记!! 不要退出当前用户,从新打开一个窗口
执行tail -f /data/oracle/inventory/logs/installActions2015-06-08_04-00-25PM.log命令查看安装程序日志
如果当前用户的窗口出现以successfully Setup Software提示时,代表安装成功
19.1 安装成功后,按照要求执行脚本
注意切换用户
20.静默方式配置监听(图形化、命令)
20.1 命令
切换oracle用户登录,命令安装
可能会报错
oracle is not in the sudoers file. This incident will bereported
oracle 用户不在sudoers组中, 切换成root用户 , 执行命令:chmod u+w /etc/sudoers , vim /etc/sudoers 这个目录,找到 root ALL=(ALL) ALL 这行,在这行下面添加 oracle ALL=(ALL) ALL , chmod u-w /etc/sudoers 最后撤销权限
20.2 图形化
我的安装目录 cd /data/oracle/product/11.2.0
- 成功运行后,在/data/oracle/product/11.2.0/db_1/network/admin/或/data/oracle/product/11.2.0/network/admin/中生成listener.ora和sqlnet.ora
20.3 通过netstat命令可以查看1521端口正在监听。
Yum安装netstat软件,软件包是在net-tools中。
21.以静默方式建立新库,同时也建立一个对应的实例。
用oracle用户登录,再次进去响应文件夹
注:在这个文件dbca.rsp找对应的将等于号后面填了,并且默认为是注释掉的,把用到的不要注释
设置参数:
进行静默配置:
查看监听状态(监听命令 启动监听:lsnrctl start、停止监听:lsnrctl stop、查看监听状态:lsnrctl status
)
登录查看实例状态:
22.创建表空间(模式)、用户及授权
1、创建表空间
INITIAL_G 是表空间的名称,DATAFILE是创建数据库文件的路径,然后初始大小是200m,然后自动增加是500M,参数可以根据自己的需求来调整
2、创建用户 oracle是根据用户区分库的也就是表空间 INITIAL_G 表空间 infodb是数据库用户 by后的是密码
注:如果过出现以下的话就是你没有加分号,oracle语法是非常严格的,加个分号自动退出
3、授权(直接给了 dba权限)
查询数据库用户名
ACCOUNT_STATUS :账户状态 open 启用
oracle的默认的用户名和密码
[oracle@localhost ~]$ sqlplus /nolog 无用户名登录
conn 用户名/密码
切换用户
可能会报错SP2-0306: Invalid option.
换成connect 命令
会提示过期,直接修改密码
如果多次进行密码输入错误,我记得是3次以上就把你这个用户账号锁住了
4、 解锁用户
5、测试远程连接
23、设置开机启动
1、修改/data/oracle/product/11.2.0/bin/dbstart
#将ORACLE_HOME_LISTNER=$1 修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
2、修改/data/oracle/product/11.2.0/bin/dbshut
将ORACLE_HOME_LISTNER=$1 修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
3、修改/etc/oratab 文件
4、创建启动文件
切换root用户 vim /etc/init.d/oracle 添加以下内容
5、设置启动文件权限
6、 重启测试
7、查看状态、没有启动
执行启动监听命令
修改hostname 和 hosts 为同样的
修改hosts
24、解决报错
1、执行了一边命令配置监听有执行了一遍图形化的
(这个原因可能是我在执行步骤20时,执行了一遍图形化和命令监听导致的
)看到这个·Listener "LISTENER" already exists.
,但是我监听的名字是infodb
,然后我查看/home/oracle/response/netca.rsp
文件,将文件中LISTENER_NAMES
改为我的监听 infodb
,重新执行监听netca /silent /responseFile /home/oracle/response/netca.rsp
,启动 lsnrctl statrt
解决过程全命令
2、异常关机(我是通过主动实现,因为我进去listener文件只有监听没有SID_LIST)
报错及解决思路:(该问题是由于缺少监听器的SID_LIST描述项引起的,采用netca进行配置的时候经常不会生成SID_LIST,导致连接出现问题)
Ora-12514:TNS:The listener is currently unable to recognize the service requested in the link descriptor
1、监听加载服务有主动和被动两种方式
主动是通过在listener.ora文件中添加代码来实现的。代码如下:
被动是由实例的pmon进程在listener中注册服务。
(解决办法:
1、把Oracle相关的服务关闭了;
2、接着先启动监听服务(OracleOraDb11g_home1TNSListener)
3、后启动(OracleServiceORCL)可能会出现ORA-01034 - Oracle not available”和“ORA-27101 - shared memory realm does not exist”
下次就直接启动监听和oracleService就ok
如有错误或其他地方哪里不对,大家评论下方评论,及时改正
评论区