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 复制代码
今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文
相关推荐
dazhong20121 小时前
PLSQL 客户端连接 Oracle 数据库配置
数据库·oracle
了一li3 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
码农君莫笑4 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
别致的影分身4 小时前
使用C语言连接MySQL
数据库·mysql
京东零售技术5 小时前
“慢”增长时代的企业数据体系建设:超越数据中台
数据库
sdaxue.com6 小时前
帝国CMS:如何去掉帝国CMS登录界面的认证码登录
数据库·github·网站·帝国cms·认证码
o(╥﹏╥)6 小时前
linux(ubuntu )卡死怎么强制重启
linux·数据库·ubuntu·系统安全
阿里嘎多学长7 小时前
docker怎么部署高斯数据库
运维·数据库·docker·容器
Yuan_o_7 小时前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
Sunyanhui17 小时前
牛客网 SQL36查找后排序
数据库·sql·mysql