← 返回列表

Oracle 11g 安装指南

发布于 2026-07-17 · 阅读约 4 分钟

安装环境


以下操作使用root用户

0. 系统设置


chkconfig NetworkManager off
chkconfig iptables off
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
echo "192.168.1.2 asp" >> /etc/hosts
# 重启
reboot

getenforce 
# 查看为 Disabled 

chkconfig NetworkManager off
chkconfig iptables off
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
echo "192.168.1.2 asp" >> /etc/hosts
# 重启
reboot

getenforce 
# 查看为 Disabled 

1. 创建安装用户组, 用户


groupadd oinstall
groupadd dba
groupadd oper

useradd -g oinstall -G dba,oper -d /home/oracle oracle 
passwd oracle

# 输入密码
# new unix password: oracle

groupadd oinstall
groupadd dba
groupadd oper

useradd -g oinstall -G dba,oper -d /home/oracle oracle 
passwd oracle

# 输入密码
# new unix password: oracle

2. 创建文件夹, 并设置权限


mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir -p /u02/arch
mkdir -p /u02/software
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /u02 
chmod -R 775 /u01 
chmod -R 775 /u02


mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir -p /u02/arch
mkdir -p /u02/software
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /u02 
chmod -R 775 /u01 
chmod -R 775 /u02

3. 设置oracle用户环境变量


cat > /home/oracle/.bash_profile <<"EOF"
if [ -f ~/.bashrc ]; then
    . ~/.bashrc 
fi

export ORACLE_BASE=/u01/app/oracle 
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:. 
export NLS_LANG=American_america.ZHS16GBK 
export PATH=$PATH:$ORACLE_HOME/bin:.
EOF


cat > /home/oracle/.bash_profile <<"EOF"
if [ -f ~/.bashrc ]; then
    . ~/.bashrc 
fi

export ORACLE_BASE=/u01/app/oracle 
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:. 
export NLS_LANG=American_america.ZHS16GBK 
export PATH=$PATH:$ORACLE_HOME/bin:.
EOF

4. 系统参数配置, 文件数和安全设置


# 系统参数配置
cat >> /etc/sysctl.conf <<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295 
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
EOF
/sbin/sysctl -p

#文件数和安全设置
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047 
oracle hard nproc 16384 
oracle soft nofile 1024 
oracle hard nofile 65536 
oracle soft stack 10240
EOF

cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
session required /lib64/security/pam_limits.so
EOF


# 系统参数配置
cat >> /etc/sysctl.conf <<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295 
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
EOF
/sbin/sysctl -p

#文件数和安全设置
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047 
oracle hard nproc 16384 
oracle soft nofile 1024 
oracle hard nofile 65536 
oracle soft stack 10240
EOF

cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
session required /lib64/security/pam_limits.so
EOF

4. 上传安装包 并解压

上传
p10098816_112020_linux-x86-64_1of7.zip
p10098816_112020_linux-x86-64_2of7.zip

/u02/software


# 解压
cd /u02/software
unzip p13390677_112040_Linux-x86-64_1of7.zip 
unzip p13390677_112040_Linux-x86-64_2of7.zip


# 解压
cd /u02/software
unzip p13390677_112040_Linux-x86-64_1of7.zip 
unzip p13390677_112040_Linux-x86-64_2of7.zip

5. 从安装光盘配置yum源, 安装依赖


mount /dev/cdrom /mnt
mkdir /opt/redhat6
cp -rp /mnt/* /opt/redhat6

cat > /etc/yum.repos.d/base.repo <<EOF
[redhat]
name=redhat
baseurl=file:///opt/redhat6
enabled=1
gpgcheck=0
EOF

yum clean all
yum makecache

# 安装依赖
yum -y install binutils* compat-libstdc++* elfutils-libelf-* gcc* glibc-* glibc-devel-* glibc-headers * ksh * libaio * libgcc-* libstdc++-* make-* numactl-devel-* sysstat-*

# 确认未安装的依赖
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel | grep "not"

# 如果有缺少,手动安装缺少的依赖
# yum install -y ...

mount /dev/cdrom /mnt
mkdir /opt/redhat6
cp -rp /mnt/* /opt/redhat6

cat > /etc/yum.repos.d/base.repo <<EOF
[redhat]
name=redhat
baseurl=file:///opt/redhat6
enabled=1
gpgcheck=0
EOF

yum clean all
yum makecache

# 安装依赖
yum -y install binutils* compat-libstdc++* elfutils-libelf-* gcc* glibc-* glibc-devel-* glibc-headers * ksh * libaio * libgcc-* libstdc++-* make-* numactl-devel-* sysstat-*

# 确认未安装的依赖
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel | grep "not"

# 如果有缺少,手动安装缺少的依赖
# yum install -y ...

7. 登录oracle用户, 进入图形化界面安装

安装oracle


 cd /u02/software/database; ./runInstaller

 cd /u02/software/database; ./runInstaller

安装完成以后根据提示以root运行两个脚本


su -
# 输入root密码

/u01/app/oraInventory/orainstRoot.sh
echo | /u01/app/oracle/product/11.2.0/db_1/root.sh

su -
# 输入root密码

/u01/app/oraInventory/orainstRoot.sh
echo | /u01/app/oracle/product/11.2.0/db_1/root.sh

创建数据库

运行


dbca

dbca


# 添加 sid
echo "export ORACLE_SID=asp" >> /home/oracle/.bash_profile
source /home/oracle/.bash_profile

# 添加 sid
echo "export ORACLE_SID=asp" >> /home/oracle/.bash_profile
source /home/oracle/.bash_profile

创建监听器


netca

netca

7. 数据库配置


# 运行
sqlplus / as sysdba

# 运行
sqlplus / as sysdba

## 密码有效期设置为无限制
SQL> alter profile default limit password_life_time unlimited;

## 错误密码尝试次数设置为无限制
SQL> alter profile default limit failed_login_attempts unlimited;

## 关闭审计
SQL> alter system set audit_trail =false scope=spfile;

## 忽略大小写
SQL> alter system set sec_case_sensitive_logon=false scope=spfile;

## 增加临时表空间容量
SQL> alter tablespace temp add tempfile '/u01/app/oracle/oradata/asp/temp02.dbf' size 5G autoextend on;

## 增加UNDO表空间容量
SQL> alter tablespace undotbs1 add datafile '/u01/app/oracle/oradata/asp/undotbs02.dbf' size 5G autoextend on;

## 修改redo配置
# 新建临时 logfile
SQL> alter database add logfile group 4 ('/u01/app/oracle/oradata/asp/redo4_a.log') size 100M;
SQL> alter database add logfile group 5 ('/u01/app/oracle/oradata/asp/redo5_a.log') size 100M;

# 运行 switch ,并查看, 直到 group 4 状态为 CURRENT
# ====
SQL> alter system switch logfile;
SQL> select * from v$log;
# ====

# 删除 group 1,2,3
SQL> alter system checkpoint;
SQL> alter database drop logfile group 1;
SQL> alter database drop logfile group 2;
SQL> alter database drop logfile group 3;

# 添加 group 1, 2, 3 size=100M
SQL> alter database add logfile group 1 ('/u01/app/oracle/oradata/asp/redo1_a.log') size 100M;
SQL> alter database add logfile group 2 ('/u01/app/oracle/oradata/asp/redo2_a.log') size 100M;
SQL> alter database add logfile group 3 ('/u01/app/oracle/oradata/asp/redo3_a.log') size 100M;

# 切到 group 1, 删除 group 4,5
SQL> alter system switch logfile;
SQL> alter system checkpoint;
SQL> alter database drop logfile group 4;
SQL> alter database drop logfile group 5;

## 修改归档日志目录 
SQL> alter system set log_archive_dest_1='location=/u02/arch' scope=both; 
SQL> alter system set log_archive_format='log_%t_%s_%r.arch' scope=spfile;

# 添加 ctl文件
## 关闭数据库
SQL> shutdown immediate;
## 以nomount启动
SQL> startup nomount;
## 修改文件, 复制文件
SQL> !cp /u01/app/oracle/oradata/asp/control01.ctl /u01/app/oracle/oradata/asp/control03.ctl
SQL> alter system set control_files = '/u01/app/oracle/oradata/asp/control01.ctl','/u01/app/oracle/oradata/asp/control02.ctl','/u01/app/oracle/oradata/asp/control03.ctl' scope=spfile;

# 启动 archive log
SQL> alter database mount;
SQL> alter database archivelog;

## 查看 archive log
SQL> archive log list;

## 重启数据库
SQL> shutdown immediate;
SQL> startup;


## 密码有效期设置为无限制
SQL> alter profile default limit password_life_time unlimited;

## 错误密码尝试次数设置为无限制
SQL> alter profile default limit failed_login_attempts unlimited;

## 关闭审计
SQL> alter system set audit_trail =false scope=spfile;

## 忽略大小写
SQL> alter system set sec_case_sensitive_logon=false scope=spfile;

## 增加临时表空间容量
SQL> alter tablespace temp add tempfile '/u01/app/oracle/oradata/asp/temp02.dbf' size 5G autoextend on;

## 增加UNDO表空间容量
SQL> alter tablespace undotbs1 add datafile '/u01/app/oracle/oradata/asp/undotbs02.dbf' size 5G autoextend on;

## 修改redo配置
# 新建临时 logfile
SQL> alter database add logfile group 4 ('/u01/app/oracle/oradata/asp/redo4_a.log') size 100M;
SQL> alter database add logfile group 5 ('/u01/app/oracle/oradata/asp/redo5_a.log') size 100M;

# 运行 switch ,并查看, 直到 group 4 状态为 CURRENT
# ====
SQL> alter system switch logfile;
SQL> select * from v$log;
# ====

# 删除 group 1,2,3
SQL> alter system checkpoint;
SQL> alter database drop logfile group 1;
SQL> alter database drop logfile group 2;
SQL> alter database drop logfile group 3;

# 添加 group 1, 2, 3 size=100M
SQL> alter database add logfile group 1 ('/u01/app/oracle/oradata/asp/redo1_a.log') size 100M;
SQL> alter database add logfile group 2 ('/u01/app/oracle/oradata/asp/redo2_a.log') size 100M;
SQL> alter database add logfile group 3 ('/u01/app/oracle/oradata/asp/redo3_a.log') size 100M;

# 切到 group 1, 删除 group 4,5
SQL> alter system switch logfile;
SQL> alter system checkpoint;
SQL> alter database drop logfile group 4;
SQL> alter database drop logfile group 5;

## 修改归档日志目录 
SQL> alter system set log_archive_dest_1='location=/u02/arch' scope=both; 
SQL> alter system set log_archive_format='log_%t_%s_%r.arch' scope=spfile;

# 添加 ctl文件
## 关闭数据库
SQL> shutdown immediate;
## 以nomount启动
SQL> startup nomount;
## 修改文件, 复制文件
SQL> !cp /u01/app/oracle/oradata/asp/control01.ctl /u01/app/oracle/oradata/asp/control03.ctl
SQL> alter system set control_files = '/u01/app/oracle/oradata/asp/control01.ctl','/u01/app/oracle/oradata/asp/control02.ctl','/u01/app/oracle/oradata/asp/control03.ctl' scope=spfile;

# 启动 archive log
SQL> alter database mount;
SQL> alter database archivelog;

## 查看 archive log
SQL> archive log list;

## 重启数据库
SQL> shutdown immediate;
SQL> startup;