Oracle安装与配置 #
一、安装前准备 #
1.1 系统要求 #
Windows系统要求 #
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Windows Server 2012+ | Windows Server 2019+ |
| 内存 | 2GB | 8GB+ |
| 磁盘空间 | 10GB | 50GB+ |
| CPU | 2核 | 4核+ |
Linux系统要求 #
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | RHEL 7+ / CentOS 7+ | RHEL 8+ / Oracle Linux 8+ |
| 内存 | 2GB | 16GB+ |
| 磁盘空间 | 15GB | 100GB+ |
| CPU | 2核 | 8核+ |
1.2 下载Oracle #
text
Oracle下载步骤:
1. 访问Oracle官网:https://www.oracle.com
2. 进入 Downloads -> Oracle Database
3. 选择版本(推荐19c LTS)
4. 选择操作系统平台
5. 下载安装包(需要Oracle账号)
二、Windows安装 #
2.1 安装步骤 #
步骤1:解压安装包 #
text
1. 下载完成后,解压安装包
2. 进入解压目录,找到 setup.exe
3. 右键以管理员身份运行
步骤2:配置安全更新 #
text
配置安全更新:
├── 电子邮件:可选填写
├── 希望接收安全更新:取消勾选
└── 点击"下一步"
步骤3:选择安装选项 #
text
安装选项:
├── 创建和配置单实例数据库 ← 推荐
├── 仅安装数据库软件
└── 升级现有数据库
步骤4:系统类 #
text
系统类选择:
├── 桌面类 ← 学习开发推荐
└── 服务器类 ← 生产环境推荐
步骤5:安装类型 #
text
安装类型:
├── 单实例数据库安装 ← 推荐
└── Real Application Clusters数据库安装
步骤6:典型安装配置 #
text
典型安装配置:
├── Oracle基目录:D:\app\oracle
├── 软件位置:D:\app\oracle\product\19.3.0\dbhome_1
├── 数据库文件位置:D:\app\oracle\oradata
├── 数据库版本:企业版
├── 字符集:ZHS16GBK 或 AL32UTF8
├── 全局数据库名:orcl
├── SID:orcl
└── 口令:设置管理员密码
2.2 环境变量配置 #
batch
-- 设置Oracle环境变量(系统环境变量)
-- ORACLE_HOME
变量名:ORACLE_HOME
变量值:D:\app\oracle\product\19.3.0\dbhome_1
-- TNS_ADMIN
变量名:TNS_ADMIN
变量值:%ORACLE_HOME%\network\admin
-- PATH(添加到现有PATH)
%ORACLE_HOME%\bin
2.3 验证安装 #
batch
-- 打开命令提示符
-- 连接Oracle
sqlplus / as sysdba
-- 查看版本
SQL> SELECT * FROM V$VERSION;
-- 查看实例状态
SQL> SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;
三、Linux安装 #
3.1 系统准备 #
配置主机名 #
bash
-- 设置主机名
hostnamectl set-hostname oracle-server
-- 配置hosts文件
vi /etc/hosts
-- 添加:
192.168.1.100 oracle-server
关闭防火墙和SELinux #
bash
-- 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
-- 关闭SELinux
setenforce 0
vi /etc/selinux/config
-- 修改:
SELINUX=disabled
配置内核参数 #
bash
-- 编辑内核参数文件
vi /etc/sysctl.conf
-- 添加以下内容:
fs.aio-max-nr = 1048576
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 = 1048586
-- 使配置生效
sysctl -p
创建用户和组 #
bash
-- 创建用户组
groupadd oinstall
groupadd dba
groupadd oper
-- 创建oracle用户
useradd -g oinstall -G dba,oper oracle
-- 设置密码
passwd oracle
创建目录结构 #
bash
-- 创建Oracle目录
mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
mkdir -p /u01/app/oraInventory
-- 设置权限
chown -R oracle:oinstall /u01
chmod -R 775 /u01
配置用户限制 #
bash
-- 编辑limits.conf
vi /etc/security/limits.conf
-- 添加以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
3.2 安装依赖包 #
bash
-- CentOS/RHEL 7/8
yum install -y \
bc \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
fontconfig-devel \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libX11 \
libXau \
libXi \
libXtst \
libgcc \
libstdc++ \
libstdc++-devel \
libxcb \
make \
net-tools \
smartmontools \
sysstat \
unixODBC \
unixODBC-devel
3.3 配置环境变量 #
bash
-- 切换到oracle用户
su - oracle
-- 编辑配置文件
vi ~/.bash_profile
-- 添加以下内容:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
-- 使配置生效
source ~/.bash_profile
3.4 静默安装 #
准备响应文件 #
bash
-- 解压安装包
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
-- 编辑响应文件
vi $ORACLE_HOME/install/response/db_install.rsp
-- 修改以下参数:
oracle.install.option=INSTALL_DB_AND_CONFIG
ORACLE_HOSTNAME=oracle-server
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.rootconfig.executeRootScript=true
oracle.install.db.rootconfig.configMethod=ROOT
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=2048
oracle.install.db.config.starterdb.password.ALL=YourPassword123
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
执行安装 #
bash
-- 执行安装脚本
cd $ORACLE_HOME
./runInstaller -silent -responseFile install/response/db_install.rsp
-- 等待安装完成
-- 安装完成后会提示执行root脚本
3.5 执行root脚本 #
bash
-- 切换到root用户
su - root
-- 执行脚本
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.3.0/dbhome_1/root.sh
3.6 验证安装 #
bash
-- 切换到oracle用户
su - oracle
-- 连接数据库
sqlplus / as sysdba
-- 查看版本
SQL> SELECT * FROM V$VERSION;
-- 查看实例状态
SQL> SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;
-- 查看监听状态
lsnrctl status
四、监听配置 #
4.1 listener.ora配置 #
text
-- 文件位置:$ORACLE_HOME/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle-server)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1)
(SID_NAME = orcl)
)
)
4.2 tnsnames.ora配置 #
text
-- 文件位置:$ORACLE_HOME/network/admin/tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle-server)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
4.3 监听管理命令 #
bash
-- 启动监听
lsnrctl start
-- 停止监听
lsnrctl stop
-- 重启监听
lsnrctl reload
-- 查看监听状态
lsnrctl status
-- 查看监听服务
lsnrctl services
五、数据库启停 #
5.1 启动数据库 #
sql
-- 启动数据库(三种模式)
-- 1. NOMOUNT模式(只启动实例)
STARTUP NOMOUNT;
-- 2. MOUNT模式(加载控制文件)
STARTUP MOUNT;
-- 3. OPEN模式(完全启动)
STARTUP;
-- 强制启动
STARTUP FORCE;
5.2 关闭数据库 #
sql
-- 关闭数据库(四种方式)
-- 1. NORMAL(正常关闭,等待所有用户断开)
SHUTDOWN NORMAL;
-- 2. TRANSACTIONAL(事务关闭,等待事务完成)
SHUTDOWN TRANSACTIONAL;
-- 3. IMMEDIATE(立即关闭,回滚事务)
SHUTDOWN IMMEDIATE;
-- 4. ABORT(中止关闭,不推荐)
SHUTDOWN ABORT;
5.3 启停顺序 #
text
启动顺序:
1. 启动监听 → lsnrctl start
2. 启动数据库 → startup
关闭顺序:
1. 关闭数据库 → shutdown immediate
2. 关闭监听 → lsnrctl stop
六、常见问题 #
6.1 安装问题 #
| 问题 | 解决方案 |
|---|---|
| 内存不足 | 调整SGA和PGA大小 |
| 磁盘空间不足 | 清理空间或更换安装目录 |
| 端口被占用 | 修改监听端口 |
| 权限问题 | 检查用户权限和目录权限 |
6.2 连接问题 #
sql
-- 问题:ORA-12541: TNS:无监听程序
-- 解决:启动监听
lsnrctl start
-- 问题:ORA-12154: TNS:无法解析指定的连接标识符
-- 解决:检查tnsnames.ora配置
-- 问题:ORA-28000: 账户被锁定
-- 解决:解锁用户
ALTER USER scott ACCOUNT UNLOCK;
6.3 字符集问题 #
sql
-- 查看数据库字符集
SELECT * FROM NLS_DATABASE_PARAMETERS
WHERE PARAMETER = 'NLS_CHARACTERSET';
-- 查看客户端字符集
SELECT * FROM NLS_SESSION_PARAMETERS
WHERE PARAMETER = 'NLS_LANGUAGE';
-- 设置客户端字符集
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
七、总结 #
安装配置要点:
| 步骤 | 要点 |
|---|---|
| 系统准备 | 内存、磁盘、内核参数 |
| 用户配置 | 创建用户、设置权限 |
| 环境变量 | ORACLE_HOME、ORACLE_SID |
| 监听配置 | listener.ora、tnsnames.ora |
| 启停管理 | startup、shutdown命令 |
下一步,让我们学习Oracle基础语法!
最后更新:2026-03-27