Linux环境下Oracle 11g的离线安装与配置历程

        在成功体验了 Windows 版本的Oracle 11g 后,这几天心血来潮,决定再挑战一下Linux 环境下的安装,特别是在考虑到部门内部虚拟机无法联网的情况下,我选择了在CentOS 7上进行离线安装。这次安装之旅,主要参考了下面大佬的详尽教程,并结合自身实践进行了必要的补充与调整。

参考文章:     Linux 下静默安装/无网络安装/ Oracle 11g 11.2.0 步骤(CentOS 7)_centos7离线安装oracle数据库-CSDN博客

        好了,说干就干。

第一步:构建基础环境

首先,我安装了VMware 17.5.1 build-23298084作为虚拟机平台,随后下载并安装了CentOS 7操作系统,以便为下载 oracle 基础安装包做准备。虽然寻找合适的安装包稍显繁琐,但系统的安装过程却相当顺畅。

说明:所需的安装包以及第二步所需基础安装包均已上传,地址如下:

链接:https://pan.baidu.com/s/1qctZHfXG1v6xu2olWTlAEw?pwd=kyx0 
提取码:kyx0

第二步:准备 Oracle 所需基础安装资源

在无法联网的环境下,我提前下载并上传好了Oracle 11g所需的所有安装包及依赖库,确保安装过程中不会因缺少资源而中断。

yum install --downloadonly --downloaddir=/tmp/ compat-libstdc++-33 elfutils-libelf-devel gcc* glibc-* ksh libaio libaio-devel libstdc++-devel unixODBC unixODBC-devel sysstat -y

第三步:静默安装Oracle 11g

依据参考文章中的步骤,我顺利完成了Oracle 11g的离线安装。安装完成后,我立即创建了hr 用户及其对应的表空间,为后续操作打好了基础。

-- 使用 dba 身份免密登录
sqlplus / as sysdba

-- 新建用户 hr
create user hr identified by 123456;

-- 赋权限(使用第1个即可,session 权限只能连接数据库,不能创建表)
(1)GRANT CONNECT, RESOURCE TO hr;
(2)GRANT CREATE SESSION TO hr;

-- 创建表空间
CREATE TABLESPACE hr_data  
DATAFILE '/u01/app/oracle_data/hr_data01.dbf' -- 替换为实际的文件路径  
SIZE 100M -- 初始大小,可以根据需要调整  
AUTOEXTEND ON -- 开启自动扩展  
NEXT 50M -- 下一次自动扩展的大小,可以根据需要调整  
MAXSIZE UNLIMITED; -- 设置最大空间大小不限制

第四步:客户端连接与字符集问题

在尝试通过PL/SQL和sqlPlus连接数据库时,我遇到了连接问题。详情如下:

使用 sqlPlus hr/123456 命令登录,新建了一个t_user_test 测试表,新增了2条数据,然后去查询,发现乱码了。

INSERT INTO t_user_test VALUES(1, '张三');
INSERT INTO t_user_test VALUES(2, '李四');

SELECT * FROM t_user_test;

通过 sqlPlus 查询乱码,那通过本地客户端 PL/SQL 会怎样呢?首先是连接数据库,刚开始一直连不上,问了DBA大佬,数据库地址是XXX.XXX.XXX.XXX:1521/SERVICE_NAMES,SERVICE_NAMES 的查询方法如下,得出来 orcl11g.us.oracle.com,终于连上了。

查询结果:

看起来仅通过 sqlPlus 查询乱码,使用PL/SQL 连接查看都正常,又问了DBA大佬,说是字符集问题,接着开始设置字符集,期间试过下面三种方法但都不好使。

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK、

export NLS_LANG=ZHS16GBK、

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK",

最后通过下面的方法解决了乱码问题,目前通过 PL/SQL 和 SqlPlus 查询正常,基本大功告成了。

vim /etc/profile

# 在最后面输入下面一行
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"

# 最后执行source 命令使生效
source /etc/profile

第五步:重启测试与问题排查

这一步是重启测试,在重启系统后,我发现无法通过 sqlPlus 以hr 用户身份登录,使用 dba 身份免密登录时提示实例不存在。但奇怪的是,通过本地 PL/SQL 客户端却能正常连接并查询。通过重启服务器并监控连接状态,我排除了连接错误的可能性,并最终确定是Oracle 实例在重启后未能正确启动。

最后怀疑是自启动问题,去掉oracle 自启动后,重启机器,然后开始手动重启 oracle.

好了,启动完成,SqlPlus 也能正常登录了。

但问题又来了,本地的 PL/SQL 又连不上了,提示了下面的错误,没有监听器。对于第一次安装和使用oracle 来说,确实有点崩溃了,这是在修水管吗,这点修好那点坏?

好在oracle 社区群体比较庞大,很快找到了问题解决方法,操作和截图如下:

lsnrctl status # 查看监听器状态
lsnrctl start  # 开启监听器,如果重启后,不开启监听器,那么客户端就连接不上

当然,这里也重新配置了 tnsnames.ora 和 listener.ora,内容如下:

1、listener.ora内容: 
SID_LIST_LISTENER=
  (SID_LIST=
    (SID_DESC=
      (SID_NAME=orcl11g)
      (ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
      (GLOBAL_DBNAME = orcl11g)
    )
  )

LISTENER =
  (DESCRIPTION=
    (ADDRESS=(PROTOCOL=TCP)(HOST=server01)(PORT=1521))
  )


2、tnsnames.ora内容
orcl=
  (DESCRIPTION=
    (ADDRESS=(PROTOCOL=TPC)(HOST=server01)(PORT=1521)(KEY=EXTPROC1521))
    (CONNECT_DATA=
      (SERVER = DEDICATED)
      (SERVICE_NAME=orcl11g.us.oracle.com)
    )
  )

orcl11g=
  (DESCRIPTION=
    (ADDRESS=(PROTOCOL=TPC)(HOST=server01)(PORT=1521)(KEY=EXTPROC1521))
    (CONNECT_DATA=
      (SERVER = DEDICATED)
      (SERVICE_NAME=orcl11g)
    )
  )

其中,server01通过 hostname 命令得出,也可通过命令 vim /etc/hostname 修改。

第六步:数据导入与权限问题

在尝试使用hr用户导入表结构时,我遇到了权限不足的错误。在改用system用户后,导入操作顺利完成。看来,在进行数据库操作时,务必注意用户的权限设置。

imp system/123456 file=/tmp/importData/backup.dmp fromuser=ca touser=hr

如果要使用 hr 用户导入,那么需要给 hr 用户赋权限:

grant imp_full_database to hr;

        至此,Linux 环境下 Oracle 11g 的离线安装与配置工作基本完成。这次经历不仅让我掌握了Oracle数据库在Linux环境下的安装与配置方法,还让我对数据库的权限管理、字符集设置等有了更深刻的理解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/793763.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

记录些Redis题集(1)

为什么Redis要有淘汰机制? 淘汰机制的存在是必要的,因为Redis是一种基于内存的数据库,所有数据都存储在内存中。然而,内存资源是有限的。在Redis的配置文件redis.conf中,有一个关键的配置项: # maxmemory…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第二十六章 安装超级终端软件

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

Python | Leetcode Python题解之第229题多数元素II

题目: 题解: class Solution:def majorityElement(self, nums: List[int]) -> List[int]:cnt {}ans []for v in nums:if v in cnt:cnt[v] 1else:cnt[v] 1for item in cnt.keys():if cnt[item] > len(nums)//3:ans.append(item)return ans

Oracle 23ai 中的重要新特性 VECTOR 数据类型

Oracle 23ai 中的 VECTOR 数据类型是 Oracle 数据库在 AI 领域的一个重要新特性,它允许用户以向量的形式存储数据,并在这些向量的基础上进行高效的搜索和分析。以下是对 Oracle 23ai VECTOR 数据类型的详细解析: 参考官方文档地址 https://d…

集成sa-token前后端分离部署配置corsFliter解决跨域失效的真正原因

文章目录 1.前言2.问题复现3.解决方法3.1 方式一:后端修改CorsFilter源码3.2 方式二:前端禁用或移除浏览器referrer-policy引用者策略 4.总结 1.前言 缘由请参看下面这篇文章:sa-token前后端分离解决跨域的正确姿势 https://mp.weixin.qq.co…

【算法】二叉树-迭代法实现前后中序遍历

递归的实现就是:每一次递归调用都会把函数的局部变量,参数值和返回地址等压入调用栈中,然后递归返回的时候,从栈顶弹出上一次递归的各项参数,这就是递归为什么可以返回上一层位置的原因 可以用栈实现二叉树的前中后序遍历 1. 前序…

base SAS programming学习笔记(functions)

1.SAS function 分类&#xff1a; 计算描述统计量的函数&#xff1a; 举例如下&#xff1a;avgscoremean(exam1,exam2,exam3) 2.function 基本格式 function-name(argument1,argument2,......<argumentn>&#xff09; argument可以如下&#xff1a;变量名&#xff1b;常…

redis学习(009 实战:黑马点评:缓存穿透、缓存雪崩 、缓存击穿)

黑马程序员Redis入门到实战教程&#xff0c;深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 总时长 42:48:00 共175P 此文章包含第40p-第p45的内容 文章目录 缓存穿透解决方案缓存空对象布隆过滤 解决方案实现缓存穿透总结 缓存雪崩解决方案 缓存击穿解决方…

Elasticsearch 更新指定字段

Elasticsearch 更新指定字段 准备条件查询数据更新指定字段更新子级字段 准备条件 以下查询操作都基于索引crm_clue来操作&#xff0c;索引已经建过了&#xff0c;本文主要讲Elasticsearch更新指定字段语句&#xff0c;下面开始写更新语句执行更新啦&#xff01; 查询数据 查…

小阿轩yx-NoSQL 之 Redis 配置与优化

小阿轩yx-NoSQL 之 Redis 配置与优化 Redis 数据库介绍 是一个非关系型数据库 关系数据库与非关系型数据库 按照数据库结构划分的 关系型数据库 是一个结构化的数据库&#xff0c;创建在关系模型基础上&#xff0c;一般面向于记录借助集合代数等数学概念和方法处理数据库…

边缘计算网关:一种高效安全的工业物联网解决方案-天拓四方

在工业物联网&#xff08;IIoT&#xff09;领域&#xff0c;数据处理和实时响应的需求日益增长&#xff0c;尤其是在智能制造、远程监控和预测性维护等场景中。边缘计算网关作为一种前端数据处理和决策设备&#xff0c;正逐渐成为满足这些需求的理想解决方案。 在一个大型制造…

音频语言学习领域数据集现状、分类及评估

Audio Language Learning (Audio-Text Learning) 是一个新兴的研究领域&#xff0c;专注于处理、理解和描述声音。它的发展动力是机器学习技术的进步以及越来越多地将声音与其相应的文本描述相结合的数据集的可用性。 Audio Language Models (ALMs) 是这个领域的关键技术&#…

部署大语言模型并对话

在阿里云的https://developer.aliyun.com/adc/scenario/b105013328814fe995c0f091d708d67d 选择函数计算 设置服务器配置 复制公网地址 这个地址不能直接 在返回应用&#xff0c;创建应用LLM 对话页面 Open WebUI 点击下面的创建应用 部署完成后访问域名 打开访问地址

欧科云链研究院:坎昆升级后,Layer2变得更好了吗?

本文由欧科云链研究院OKG Research联合PANews出品&#xff1a;以数据为导向&#xff0c;洞察真实的链上世界。 作者&#xff5c;Jason Jiang, OKG Research 坎昆升级后&#xff0c;以太坊L2的交易费用降低明显且吞吐量有所提升&#xff0c;但整体生态并没有迎来想象中的繁荣景…

0基础学会在亚马逊云科技AWS上利用SageMaker、PEFT和LoRA高效微调AI大语言模型(含具体教程和代码)

项目简介&#xff1a; 小李哥今天将继续介绍亚马逊云科技AWS云计算平台上的前沿前沿AI技术解决方案&#xff0c;帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS上的AI软甲开发最佳实践&#xff0c;并应用到自己的日常工作里。本次介绍的是如何在Amazon SageMaker上…

【漏洞复现】Splunk Enterprise for Windows 任意文件读取漏洞 CVE-2024-36991

声明&#xff1a;本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动&#xff0c;将与本文档的作者或发布者无关。 一、漏洞描述 Splunk Enterprise 是一款强大的机器数据管理和分析平台&#xff0c;广泛应用于企业中&#xff0c;用于实…

应用最优化方法及MATLAB实现——第3章代码实现

一、概述 在阅读最优方法及MATLAB实现后&#xff0c;想着将书中提供的代码自己手敲一遍&#xff0c;来提高自己对书中内容理解程度&#xff0c;巩固一下。 这部分内容主要针对第3章的内容&#xff0c;将其所有代码实现均手敲一遍&#xff0c;中间部分代码自己根据其公式有些许的…

百度安全大模型智能体实践入选信通院“安全守卫者计划”优秀案例

7月3日&#xff0c;由全球数字经济大会组委会主办&#xff0c;中国信息通信研究院&#xff08;以下简称中国信通院&#xff09;与中国通信标准化协会联合承办的2024全球数字经济大会“云和软件安全论坛暨第二届SecGo云和软件安全大会”在北京召开。本届论坛聚焦云和软件安全最新…

从基础到进阶:无线局域网技术解析

在局域网刚刚问世后的一段时间内&#xff0c;无线局域网的发展比较缓慢&#xff0c;其原因是价格贵、数据传输速率低、安全性较差。但自20世纪80年代末以来&#xff0c;由于人们工作和生活节奏的加快&#xff0c;以及移动通信技术的飞速发展&#xff0c;无线局域网逐步进入市场…

今年2024,而那一年是1984

那一年&#xff0c;是1984 对于经历了改革开放洪流的国人来说&#xff0c;1984年似乎没有什么特别。 可是这一年&#xff0c;又确确实实非同寻常&#xff0c;许多后来的巨大变迁&#xff0c;在这一年埋下了伏笔…… 文学创作: 余华、莫言等作家在这一年迎来了自己的创作高峰…