oracle软件安装对操作系统的要求
硬件要求
物理内存不小于1G(grep MemTotal /proc/meminfo)
swap空间不小于2G(grep SwapTotal /proc/meminfo)
硬盘空间一般不小于5G
软件要求
操作系统的限制:详情请见oracle官方文档
软件依赖:(摘自oracle 11g Release 1)
https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#BABCFJFG
binutils-2.15.92.0.2 compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.97
elfutils-libelf-devel-0.97 expat-1.95.7
gcc-3.4.6 gcc-c++-3.4.6
glibc-2.3.4-2.41 glibc-2.3.4-2.41 (32 bit)
glibc-common-2.3.4 glibc-devel-2.3.4
glibc-headers-2.3.4 libaio-0.3.105
libaio-0.3.105 (32 bit) libaio-devel-0.3.105
libaio-devel-0.3.105 (32 bit) libgcc-3.4.6
libgcc-3.4.6 (32-bit) libstdc++-3.4.6
libstdc++-3.4.6 (32 bit) libstdc++-devel 3.4.6
make-3.80 numactl-0.6.4.x86_64
pdksh-5.2.14 sysstat-5.0.5
静默方式安装oracle server
软件依赖的安装
创建操作系统所需的用户和组
修改操作系统的内核参数
修改用户限制
使用oracle-rdbms-server-11gR2-preinstall来简化oracle的安装
这个包是oracle官方提供给安装oracle用户的,用来简化oracle软件的安装。执行这个步骤,可以省略上述带有删除线的步骤。
下面是步骤:
1)根据操作系统的版本,选择合适的yum源。
cd /etc/yum.repos.d wget http://yum.oracle.com/public-yum-ol7.repo
2)选择合适的GPG KEY,进行验证安装
wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
3)安装oracle-rdbms-server-11gR2-preinstall
yum install oracle-rdbms-server-11gR2-preinstall
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers pdksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
yum install elfutils-libelf-devel yum install glibc-2.5 yum install pdksh yum install unixODBC yum install unixODBC-devel
4)设置oracle的用户的密码
passwd oracle
创建oracle安装目录和设置环境变量
创建相关安装目录:
mkdir -p /u01/app/oracle mkdir /u01/app/oracle/oraInventory chown -R oracle:oinstall /u01/app/oracle chmod -R 755 /u01/app/oracle/ source /home/oracle/.bash_profile
设置环境变量:
ORACLE_BASE=/u01/app/oracle export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_HOME ORACLE_SID=orcl export ORACLE_SID PATH=$PATH:$ORACLE_HOME/bin
source /home/oracle/.bash_profile
设置操作系统的hostname
vi /etc/hosts #realip hostname.domain.com hostname 192.168.233.133 oracledb.localdomain.com oracledb hostname oracledb 重启服务器 reboot
解压缩文件
unzip linux.x64_11gR2_database_1of2.zip -d /upload/ unzip linux.x64_11gR2_database_2of2.zip -d /upload/chown -R oracle:oinstall /upload/database/
准备应答文件
oracle解压缩之后,在database/response中存放着一些应答文件的模板,可以使用这些应答模板进行修改,来执行非交互式的数据库软件和数据库的安装。
-
dbca.rsp:创建数据库的应答文件模板
-
db_install.rsp:安装数据库软件的应答文件模板:
-
netca.rsp:配置oracle中的网络使用的应答文件的模板
cd /u01/app/oracle mkdir responseFiles cp /upload/database/response/* responseFiles/ cp responseFiles/db_install.rsp responseFiles/enterprise.rsp chown -R oracle:oinstall responseFiles chmod -R 755 responseFiles/ enterprise.rsp中改动的内容如下:
oracle.install.option=INSTALL_DB_SWONLY // 安装类型 ORACLE_HOSTNAME=oracledb // 主机名称(hostname查询) UNIX_GROUP_NAME=oinstall // 安装组 INVENTORY_LOCATION=/u01/app/oracle/oraInventory SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言 ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE // oracle版本 oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件 oracle.install.db.DBA_GROUP=dba // dba用户组 oracle.install.db.OPER_GROUP=oinstall // oper用户组 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型 oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName oracle.install.db.config.starterdb.SID=orcl //SID oracle.install.db.config.starterdb.memoryLimit=512//自动管理内存的内存(M) oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码 SECURITY_UPDATES_VIA_MYORACLESUPPORT=false(手动写了false) DECLINE_SECURITY_UPDATES=true(如果不设置成true,安装失败,会提示输入邮件地址)
执行命令完成安装
cd database/ su - oracle cd /upload/database/ ./runInstaller -silent -force -ignoreSysPrereqs -ignorePrereq -responseFile /u01/app/oracle/responseFiles/enterprise.rsp
-
-silent:z指定安装的类型
-
-ignoreSysPrereqs:忽略系统先决条件的检查
-
-ignorePrereq:忽略系统运行条件的检查
-
-ignorePrereq:执行应答文件的位置
当日志出现如下时,以root用户登录,执行以下脚本:
To execute the configuration scripts: 1. Open a terminal window 2. Log in as "root" 3. Run the scripts 4. Return to this window and hit "Enter" key to continue /u01/app/oracle/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
要执行配置脚本, 请执行以下操作:
1. 打开一个终端窗口
2. 以 "root" 身份登录
3. 运行脚本
4. 返回此窗口并按 "Enter" 键继续
sh /u01/app/oracle/oraInventory/orainstRoot.sh sh /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
验证实例安装结果(oracle用户下执行):
sqlplus / as sysdba
出现:
SQL*Plus: Release 11.2.0.1.0 Production on Sat Mar 17 12:16:29 2018
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
则说明oracle实例安装完成。
create database创建oracle数据库
oracle数据库启动状态可以分为三个阶段。
nomount:主要读取参数文件
mount:主要读取控制文件
open::主要读取参数文件
create database语句,需要数据库在nomount状态下执行,我们需要手动的创建参数文件。参数文件可以从别的数据库拷贝过来。下面我们演示的是手动的创建文本的参数文件(pfile)
创建数据库文件的相关目录
mkdir -p /u01/app/oracle/admin/ORCL/adump #oracle相关日志的存放位置 mkdir -p /u01/app/oracle/oradata/orcl #oracle数据文件的存放位置 mkdir -p /u01/app/oracle/flash_recovery_area/db_1 #oracle闪存恢复的工作空间
准备参数文件
vi /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora
ORCL.__db_cache_size=486539264 ORCL.__java_pool_size=16777216 ORCL.__large_pool_size=16777216 ORCL.__oracle_base='/u01/app/oracle' ORCL.__pga_aggregate_target=620756992 ORCL.__sga_target=973078528 ORCL.__shared_io_pool_size=0 ORCL.__shared_pool_size=402653184 ORCL.__streams_pool_size=33554432 *.aq_tm_processes=0 *.audit_file_dest='/u01/app/oracle/admin/ORCL/adump' *.audit_trail='db' *.compatible='11.2.0.1.0' *.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl' *.db_block_size=8192 *.db_domain='' *.db_name='db1' *.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area' *.db_recovery_file_dest_size=4070572032 *.diagnostic_dest='/u01/app/oracle' *.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)' *.job_queue_processes=0 *.memory_target=400M *.open_cursors=300 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.undo_tablespace='UNDOTBS1'
准备和运行create database语句
启动数据库到nomount状态:
SQL> startup nomount pfile=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora;
出现如下信息,则说明数据库切换到nomount状态成功
SQL> startup nomount; ORACLE instance started. Total System Global Area 417546240 bytes Fixed Size 2213936 bytes Variable Size 268437456 bytes Database Buffers 142606336 bytes Redo Buffers 4288512 bytes SQL>
执行create database语句,根据要求进行相关设置,注意字符集的相关设置。
CREATE DATABASE db1 USER SYS IDENTIFIED BY oracle USER SYSTEM IDENTIFIED BY oracle MAXLOGMEMBERS 5 MAXLOGFILES 5 MAXLOGHISTORY 1 MAXDATAFILES 100 CHARACTER SET US7ASCII NATIONAL CHARACTER SET AL16UTF16 EXTENT MANAGEMENT LOCAL 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 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 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED DEFAULT TEMPORARY TABLESPACE tempts1 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 AUTOEXTEND ON MAXSIZE UNLIMITED;
第一次运行create database语句出错,删除相关目录
rm -rf /u01/app/oracle/admin/orcl/adump/* rm -rf /u01/app/oracle/oradata/orcl/*
运行sql脚本生成数据字典
SQL> @?/rdbms/admin/catalog.sql SQL> @?/rdbms/admin/catproc.sql SQL> @?/sqlplus/admin/pupbld.sql#[以system用户运行] SQL> @?/rdbms/admin/spcreate; #create statpack
注:如果不执行 spcreate脚本,生成ASH时,可能会报如下错误:
Ora-20200: No Ash Samples Exist For Database/Instance
测试数据库是否创建成功
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 417546240 bytes Fixed Size 2213936 bytes Variable Size 268437456 bytes Database Buffers 142606336 bytes Redo Buffers 4288512 bytes Database mounted. Database opened. SQL> create spfile from pfile; File created. SQL>