获课♥》789it.top/2853/
Oracle数据库软件安装与环境配置全指南
一、安装前准备工作
1. 系统需求核查
硬件要求:
-
内存:最小1GB(生产环境建议8GB+)
-
磁盘空间:企业版需要至少10GB空间
-
交换分区:内存的1.5-2倍
软件要求:
-
操作系统:Oracle Linux/RHEL/SUSE/Windows Server
-
依赖包:
bash
复制
# RHEL/CentOSyum install -y binutils compat-libcap1 gcc glibc ksh libaio libXext libXtst libX11 libXau libxcb libXi make sysstat
2. 环境配置
内核参数调整:
bash
复制
# /etc/sysctl.conf 添加:fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 4294967295kernel.shmmni = 4096sem.semmsl=250 sem.semns=32000 sem.semopm=100 sem.semmni=128net.ipv4.ip_local_port_range=9000 65500net.core.rmem_default=262144net.core.wmem_default=262144
用户与目录准备:
bash
复制
groupadd oinstallgroupadd dbauseradd -g oinstall -G dba oraclemkdir -p /u01/app/oracle/product/19.0.0/dbhome_1chown -R oracle:oinstall /u01chmod -R 775 /u01
二、Oracle软件安装步骤
1. 图形界面安装(推荐新手)
-
以oracle用户登录
-
解压安装包:
bash
复制
unzip linuxx64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1
-
启动安装向导:
bash
复制
export DISPLAY=:0cd /u01/app/oracle/product/19.0.0/dbhome_1./runInstaller
安装选项:
-
选择"创建和配置数据库"
-
企业版(Enterprise Edition)
-
典型安装配置
-
指定SID(如ORCL)
-
启用自动内存管理
-
设置SYS/SYSTEM密码
2. 静默安装(适合批量部署)
bash
复制
./runInstaller -silent \-responseFile /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_install.rsp \oracle.install.option=INSTALL_DB_SWONLY \UNIX_GROUP_NAME=oinstall \INVENTORY_LOCATION=/u01/app/oraInventory \ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 \ORACLE_BASE=/u01/app/oracle \oracle.install.db.InstallEdition=EE \oracle.install.db.OSDBA_GROUP=dba \oracle.install.db.OSOPER_GROUP=dba \oracle.install.db.OSBACKUPDBA_GROUP=dba \oracle.install.db.OSDGDBA_GROUP=dba \oracle.install.db.OSKMDBA_GROUP=dba \oracle.install.db.OSRACDBA_GROUP=dba \SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \DECLINE_SECURITY_UPDATES=true
三、数据库创建与配置
1. 使用DBCA创建数据库
bash
复制
dbca -silent -createDatabase \-templateName General_Purpose.dbc \-gdbName ORCL -sid ORCL \-responseFile NO_VALUE \-characterSet AL32UTF8 \-memoryPercentage 40 \-emConfiguration LOCAL \-sysPassword Oracle_123 \-systemPassword Oracle_123 \-datafileDestination /u01/app/oracle/oradata \-recoveryAreaDestination /u01/app/oracle/fast_recovery_area \-storageType FS \-databaseType MULTIPURPOSE
2. 基础环境配置
环境变量设置:
bash
复制
# oracle用户.bash_profile添加:export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1export PATH=$ORACLE_HOME/bin:$PATHexport ORACLE_SID=ORCLexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
监听器配置:
bash
复制
netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp
四、实验环境优化设置
1. 开发测试参数调整
sql
复制
ALTER SYSTEM SET processes=300 SCOPE=SPFILE;ALTER SYSTEM SET sessions=335 SCOPE=SPFILE;ALTER SYSTEM SET transactions=400 SCOPE=SPFILE;ALTER SYSTEM SET memory_target=2G SCOPE=SPFILE;ALTER SYSTEM SET undo_retention=1800 SCOPE=BOTH;
2. 常用用户与表空间创建
sql
复制
CREATE TABLESPACE tbs_learnDATAFILE '/u01/app/oracle/oradata/ORCL/tbs_learn01.dbf' SIZE 500MAUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;CREATE USER learner IDENTIFIED BY "Training_123"DEFAULT TABLESPACE tbs_learnTEMPORARY TABLESPACE tempQUOTA UNLIMITED ON tbs_learn;GRANT CONNECT, RESOURCE, CREATE VIEW TO learner;
五、验证与连接测试
1. 服务状态检查
bash
复制
sqlplus / as sysdba <<EOFSELECT status FROM v\$instance;SELECT * FROM v\$version;EXIT;EOF
2. 远程连接配置
修改监听器:
bash
复制
# $ORACLE_HOME/network/admin/listener.oraSID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1) (SID_NAME = ORCL) )
重启服务:
bash
复制
lsnrctl stoplsnrctl start
六、实验环境快速重置方案
1. 数据库快照管理
sql
复制
-- 创建还原点CREATE RESTORE POINT before_lab GUARANTEE FLASHBACK DATABASE;-- 恢复到实验前状态SHUTDOWN IMMEDIATE;STARTUP MOUNT;FLASHBACK DATABASE TO RESTORE POINT before_lab;ALTER DATABASE OPEN RESETLOGS;
2. 自动清理脚本
bash
复制
# 清理测试数据sqlplus learner/Training_123 <<EOFBEGIN FOR tab IN (SELECT table_name FROM user_tables) LOOP EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || tab.table_name; END LOOP;END;/EXIT;EOF
七、常见问题解决
安装完成后建议进行以下操作:
-
执行
$ORACLE_HOME/rdbms/admin/utlrp.sql
编译无效对象 -
配置定时备份策略(即使实验环境)
-
安装SQL Developer等管理工具辅助学习
对于教学实验环境,可考虑使用Oracle提供的预构建虚拟机(Oracle Developer Day)快速获得配置好的环境,但手动安装过程对于深入理解Oracle体系结构非常有帮助。