【Oracle入门到删库跑路-02】基础入门:Oracle安装与配置

系统要求和准备工作

在安装Oracle数据库之前,需要确保系统满足最低硬件和软件要求。

硬件要求

  1. 内存:至少4GB RAM(推荐8GB或更高)
  2. 磁盘空间
    • 企业版:至少6.5GB
    • 标准版:至少6GB
    • 临时安装空间:1GB
  3. 显示器:1024×768分辨率或更高

软件要求

  1. 操作系统
    • Windows Server 2016/2019/2022
    • Red Hat Enterprise Linux 7/8
    • Oracle Linux 7/8
    • SUSE Linux Enterprise Server 12/15
  2. 内核参数 (Linux):
    • semmsl=250
    • semmns=32000
    • semopm=100
    • semmni=128

安装前准备

  1. 创建专用的Oracle用户和组
  2. 配置系统环境变量
  3. 关闭防火墙和杀毒软件(临时)
  4. 下载Oracle安装介质

2.2 Windows环境下Oracle安装

安装步骤

  1. 解压安装文件

    bash 复制代码
    # 解压下载的zip文件到指定目录
  2. 运行安装程序

    • 以管理员身份运行setup.exe
    • 选择"创建和配置数据库"
  3. 配置安全更新

    • 可选择跳过更新注册
  4. 选择安装选项

    • 创建和配置数据库
    • 系统类:桌面类或服务器类
  5. 典型安装配置

    • Oracle基目录:C:\app\username
    • 数据库文件位置:C:\app\username\product\version\dbhome
    • 全局数据库名:orcl
    • 管理员密码:设置SYS和SYSTEM用户密码
  6. 先决条件检查

    • 系统会自动检查环境
    • 如有问题需要解决后再继续
  7. 概要信息

    • 确认安装配置信息
    • 点击"完成"开始安装
  8. 安装进度

    • 等待安装过程完成
    • 自动执行配置脚本

安装后验证

sql 复制代码
-- 连接到数据库验证安装
sqlplus / as sysdba

-- 查看数据库状态
SELECT status FROM v$instance;

-- 查看数据库版本
SELECT * FROM v$version;

2.3 Linux环境下Oracle安装

系统配置

  1. 创建用户和组

    bash 复制代码
    # 创建oinstall组
    groupadd oinstall
    
    # 创建dba组
    groupadd dba
    
    # 创建oracle用户
    useradd -g oinstall -G dba oracle
    
    # 设置密码
    passwd oracle
  2. 配置内核参数

    bash 复制代码
    # 编辑/etc/sysctl.conf文件
    vi /etc/sysctl.conf
    
    # 添加以下参数
    kernel.shmall = 2097152
    kernel.shmmax = 4294967295
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    fs.file-max = 6815744
    fs.aio-max-nr = 1048576
    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
  3. 应用内核参数

    bash 复制代码
    # 使配置生效
    /sbin/sysctl -p

安装步骤

  1. 解压安装文件

    bash 复制代码
    # 切换到oracle用户
    su - oracle
    
    # 解压安装文件
    unzip linuxamd64_19c_database.zip
  2. 运行安装程序

    bash 复制代码
    # 进入安装目录
    cd database
    
    # 运行安装程序
    ./runInstaller
  3. 图形化安装界面

    • 选择"创建和配置数据库"
    • 选择"桌面类"或"服务器类"
    • 配置Oracle基目录和软件位置
    • 设置数据库标识符和密码
    • 执行先决条件检查
    • 确认配置并开始安装
  4. 执行配置脚本

    • 安装完成后,以root用户执行提示的脚本
    bash 复制代码
    # 以root身份执行
    /oraInventory/orainstRoot.sh
    /u01/app/oracle/product/19.0.0/dbhome_1/root.sh

2.4 数据库创建和配置

使用DBCA创建数据库

  1. 启动DBCA

    bash 复制代码
    # 在命令行中运行
    dbca
  2. 创建数据库向导

    • 选择"创建数据库"
    • 选择"高级配置"
    • 输入全局数据库名和SID
    • 选择数据库模板(通用或数据仓库)
  3. 配置数据库选项

    • 启用企业管理器
    • 配置字符集(推荐AL32UTF8)
    • 设置管理员密码
  4. 存储配置

    • 选择文件系统或ASM存储
    • 配置快速恢复区
  5. 初始化参数

    • 内存管理选项
    • 进程数配置
    • 字符集设置

手动创建数据库

sql 复制代码
-- 1. 设置环境变量
export ORACLE_SID=orcl

-- 2. 启动实例到nomount状态
sqlplus / as sysdba
STARTUP NOMOUNT

-- 3. 创建数据库
CREATE DATABASE orcl
   USER SYS IDENTIFIED BY password
   USER SYSTEM IDENTIFIED BY password
   LOGFILE GROUP 1 ('/u01/app/oracle/oradata/orcl/redo01.log') SIZE 100M,
           GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02.log') SIZE 100M,
           GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03.log') SIZE 100M
   MAXLOGFILES 5
   MAXLOGMEMBERS 5
   MAXLOGHISTORY 1
   MAXDATAFILES 100
   CHARACTER SET AL32UTF8
   NATIONAL CHARACTER SET AL16UTF16
   EXTENT MANAGEMENT LOCAL
   DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf'
     SIZE 325M REUSE
   SYSAUX DATAFILE '/u01/app/oracle/oradata/orcl/sysaux01.dbf'
     SIZE 325M REUSE
   DEFAULT TABLESPACE users
     DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf'
     SIZE 20M REUSE
   DEFAULT TEMPORARY TABLESPACE temp
     TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf'
     SIZE 20M REUSE
   UNDO TABLESPACE undotbs1
     DATAFILE '/u01/app/oracle/oradata/orcl/undotbs01.dbf'
     SIZE 200M REUSE;

-- 4. 运行脚本创建数据字典
@$ORACLE_HOME/rdbms/admin/catalog.sql
@$ORACLE_HOME/rdbms/admin/catproc.sql
@$ORACLE_HOME/sqlplus/admin/pupbld.sql

2.5 Oracle网络配置

监听器配置

  1. 启动Net Configuration Assistant

    bash 复制代码
    netca
  2. 配置监听器

    • 选择"监听程序配置"
    • 添加或配置监听器
    • 设置监听端口(默认1521)
    • 选择协议(TCP)
  3. 手动配置监听器

    bash 复制代码
    # 编辑listener.ora文件
    vi $ORACLE_HOME/network/admin/listener.ora
    
    # 示例配置
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        )
      )
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = orcl)
          (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
        )
      )

客户端连接配置

  1. 配置tnsnames.ora

    bash 复制代码
    # 编辑tnsnames.ora文件
    vi $ORACLE_HOME/network/admin/tnsnames.ora
    
    # 示例配置
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
  2. 测试连接

    bash 复制代码
    # 使用tnsping测试网络连接
    tnsping orcl
    
    # 使用sqlplus连接数据库
    sqlplus system/password@orcl

2.6 安装后配置和优化

启动和停止数据库

bash 复制代码
# 启动数据库
sqlplus / as sysdba
STARTUP

# 停止数据库
SHUTDOWN IMMEDIATE

# 启动监听器
lsnrctl start

# 停止监听器
lsnrctl stop

创建启动脚本

bash 复制代码
# 创建数据库启动脚本
vi /home/oracle/startdb.sh

#!/bin/bash
export ORACLE_SID=orcl
sqlplus / as sysdba << EOF
STARTUP
EXIT
EOF
lsnrctl start

# 创建数据库停止脚本
vi /home/oracle/stopdb.sh

#!/bin/bash
lsnrctl stop
export ORACLE_SID=orcl
sqlplus / as sysdba << EOF
SHUTDOWN IMMEDIATE
EXIT
EOF

常见配置参数

  1. 内存配置

    sql 复制代码
    -- 查看SGA大小
    SHOW PARAMETER sga;
    
    -- 修改SGA大小
    ALTER SYSTEM SET sga_max_size=2G SCOPE=SPFILE;
    ALTER SYSTEM SET sga_target=1G SCOPE=BOTH;
  2. 进程配置

    sql 复制代码
    -- 查看进程数
    SHOW PARAMETER processes;
    
    -- 修改进程数
    ALTER SYSTEM SET processes=300 SCOPE=SPFILE;

2.7 本章小结

本章详细介绍了Oracle数据库在Windows和Linux环境下的安装过程,包括系统要求、安装步骤、数据库创建和网络配置等内容。掌握这些技能是使用Oracle数据库的基础。

练习题

  1. 列出Oracle数据库安装的系统要求
  2. 描述在Linux环境下创建Oracle用户和组的步骤
  3. 解释如何使用DBCA创建数据库
  4. 配置监听器和客户端连接的步骤
  5. 编写一个简单的数据库启动和停止脚本
相关推荐
爱可生开源社区1 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1771 天前
《从零搭建NestJS项目》
数据库·typescript
加号32 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏2 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐2 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再2 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest2 天前
数据库SQL学习
数据库·sql
jnrjian2 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle
十月南城2 天前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark
Henry Zhu1232 天前
数据库:并发控制基本概念
服务器·数据库