oracle数据库安装和配置

大家好,我是程序员小羊!

前言:

Oracle 数据库的安装和配置是一个较为复杂的过程,涉及多个步骤和配置项。以下将详细介绍如何在 Linux 和 Windows 系统中安装 Oracle 数据库并进行基础配置。

一、Oracle 数据库安装前的准备

1. 系统要求

操作系统
  • Oracle 数据库可以安装在多种操作系统上,常见的是 Linux(例如 RHEL、CentOS、Oracle Linux)和 Windows。
硬件要求
  • CPU:至少 2 核。
  • 内存:建议至少 4GB,推荐 8GB 或以上。
  • 硬盘空间:至少 15GB,视安装的数据库版本和存储需求而定。
软件要求
  • Linux 环境 :需要特定的软件包和依赖项,如 glibclibaio 等。
  • Windows 环境:确保操作系统更新到最新版本,安装前关闭防火墙、杀毒软件等。

2. 预安装步骤(Linux)

创建 Oracle 用户和用户组

Oracle 安装需要单独的用户和用户组来进行管理。

bash 复制代码
# 创建用户组
groupadd oinstall
groupadd dba

# 创建 Oracle 用户并设置主目录
useradd -g oinstall -G dba -d /home/oracle -m oracle

# 为 oracle 用户设置密码
passwd oracle
创建安装目录

创建 Oracle 软件和数据库的安装目录,并赋予适当的权限。

bash 复制代码
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oradata
chown -R oracle:oinstall /u01
chmod -R 775 /u01
配置内核参数

编辑 /etc/sysctl.conf 文件,设置 Oracle 所需的内核参数。

bash 复制代码
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 = 1048576

更新内核参数:

bash 复制代码
sysctl -p
配置用户限制

编辑 /etc/security/limits.conf 文件,为 Oracle 用户设置资源限制:

bash 复制代码
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

3. 下载 Oracle 数据库软件

从 Oracle 官方网站下载合适的版本,如 Oracle 19c 或 21c。

  • Linux 用户下载 RPM 或 ZIP 安装包。
  • Windows 用户下载 EXE 文件。

4. 安装前检查

  • 确保所有必需的依赖项已安装。
  • 确保磁盘空间充足。
  • 关闭防火墙和安全软件,避免影响安装。

二、Oracle 数据库安装

1. 在 Linux 上安装 Oracle 数据库

安装 Oracle 软件

首先,以 oracle 用户身份登录,并切换到数据库软件所在的目录。执行以下命令解压 ZIP 文件并运行安装程序:

bash 复制代码
unzip linuxx64_19c_database.zip
cd database
./runInstaller
安装向导步骤
  1. 安装选项 :选择 创建并配置数据库
  2. 安装类型 :选择 服务器类
  3. 典型安装 :选择默认的典型安装类型,并选择 Oracle 基本安装目录(例如 /u01/app/oracle)。
  4. 配置 Oracle 实例 :提供全局数据库名称(如 orcl),设置 SYS 和 SYSTEM 用户密码。
  5. 配置组和权限:选择 OINSTALL 和 DBA 组。

最后,安装程序会提示运行几个脚本,切换到 root 用户运行:

bash 复制代码
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh
安装完成

完成安装后,可以通过 Oracle SQL*Plus 登录到数据库并进行测试:

bash 复制代码
sqlplus / as sysdba

2. 在 Windows 上安装 Oracle 数据库

安装 Oracle 软件

双击下载的安装文件(EXE),安装向导将引导你完成以下步骤:

  1. 安装选项 :选择 创建并配置数据库
  2. 安装路径:选择安装路径,通常默认路径即可。
  3. 配置全局数据库名和 SID :例如,数据库名为 orcl
  4. 设置管理员密码:设置 SYS 和 SYSTEM 用户的密码。
  5. 选择典型配置:继续安装,等待安装程序完成。
完成安装

安装完成后,使用 SQL*PlusSQL Developer 登录:

bash 复制代码
sqlplus / as sysdba

三、Oracle 数据库配置

1. 配置监听器(Listener)

Oracle 使用监听器接受客户端连接请求,默认监听端口是 1521。可以通过以下步骤配置监听器。

手动配置监听器

编辑 listener.ora 文件(通常位于 $ORACLE_HOME/network/adminC:\app\oracle\product\19.0.0\dbhome_1\network\admin)。

bash 复制代码
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = your-hostname)(PORT = 1521))
    )
  )

启动监听器:

bash 复制代码
lsnrctl start
检查监听器状态
bash 复制代码
lsnrctl status

2. 数据库启动与关闭

启动数据库
  • 进入 SQL*Plus:

    bash 复制代码
    sqlplus / as sysdba
  • 启动数据库:

    sql 复制代码
    STARTUP;
关闭数据库
  • 进入 SQL*Plus:

    bash 复制代码
    sqlplus / as sysdba
  • 正常关闭数据库:

    sql 复制代码
    SHUTDOWN IMMEDIATE;

3. 创建表空间和用户

创建表空间

表空间是 Oracle 数据库用于存储数据的逻辑结构。可以使用以下 SQL 命令创建表空间:

sql 复制代码
CREATE TABLESPACE mytablespace
DATAFILE '/u01/app/oracle/oradata/mytablespace01.dbf' SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M;
创建用户并分配权限

使用以下命令创建用户并分配表空间和权限:

sql 复制代码
CREATE USER myuser IDENTIFIED BY mypassword
DEFAULT TABLESPACE mytablespace
TEMPORARY TABLESPACE temp;

GRANT CONNECT, RESOURCE TO myuser;

4. 配置自动备份

Oracle 推荐使用 RMAN(Recovery Manager)进行备份和恢复。

设置备份策略

进入 RMAN 命令行工具:

bash 复制代码
rman target /

执行备份命令:

bash 复制代码
BACKUP DATABASE;

可以配置自动备份计划,通过 Oracle Enterprise Manager 或使用脚本实现定时备份。

5. 配置监听器访问权限

在防火墙环境下,可能需要开放监听器端口。修改防火墙设置以允许 Oracle 使用的端口(如 1521)。

四、验证安装和配置

1. 检查数据库状态

登录 SQL*Plus,并检查数据库状态:

bash 复制代码
sqlplus / as sysdba
SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;

2. 验证监听器

使用以下命令验证监听器配置:

bash 复制代码
lsnrctl status

3. 验证数据库连接

使用 SQL*Plus 或 Oracle SQL Developer 连接数据库,确保可以成功登录和执行查询。

总结

Oracle 数据库的安装和配置过程包括多个步骤,从系统准备、软件安装到数据库的启动和配置。用户可以根据需求定制表空间、用户以及自动备份策略等,确保数据库的正常运行和维护。

结尾

csharp 复制代码
今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文
相关推荐
科技小花2 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸2 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain2 小时前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希2 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神2 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员3 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java3 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿3 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb
不知名的老吴3 小时前
Redis的延迟瓶颈:TCP栈开销无法避免
数据库·redis·缓存
YOU OU3 小时前
三大范式和E-R图
数据库