Linux 安装 Oracle11g 数据库

前言

vi 命令 是Linux环境下经典编辑器

以 vi 开头打开文件后,按 i 进入编辑模式 > 按 Esc 进入普通模式 > 输入 :wq 保存并退出


----------------------- 0 ----------------------- 安装准备工作

如图所示 home 目录空间最大(961G),所以在这个目录下创建install目录,并将准备好的11g安装包上传至此

接下来依次执行下面三行命令,将安装包解压

cd /home/install 

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip


----------------------- 1 ----------------------- 安装依赖包

yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++-devel make sysstat unixODBC unixODBC-devel

——查看安装情况

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++-devel make sysstat unixODBC unixODBC-devel 


----------------------- 2 ----------------------- 创建oracle用户

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

依次执行后会要求输入密码。(密码不要使用oracle,这里是创建了一个叫oracle的用户,这个用户可以登录系统哦)


----------------------- 3 ----------------------- 给oracle用户添加shell配置

据说能提高 Oracle 软件性能

操作如下,分别在这三个文件末尾加入配置参数

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

vi /etc/pam.d/login

session required /lib/security/pam_limits.so
session required pam_limits.so

vi /etc/profile

if [ $USER = "oracle" ]; then
     if [ $SHELL = "/bin/ksh" ]; then
          ulimit -p 16384
          ulimit -n 65536
     else
          ulimit -u 16384 -n 65536
     fi
fi

添加后 :wq 保存退出后,执行 source /etc/profile 命令使设置生效


----------------------- 4 ----------------------- 系统- Hosts配置

hostname(查看主机名)——若虚机没有主机名或想修改主机名 hostnamectl set-hostname zhujiming

 vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

127.0.0.1 后面只留 localhost,其它删除
::1 后面修改成主机名

127.0.0.1   localhost
::1         entry

  


----------------------- 5 ----------------------- 系统- 内核参数配置

free -g(查看物理内存)——不清楚那个是物理内存,百度一下

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 = 1048576

注:kernel.shmmax = 物理内存 / 2 * 1024 * 1024 * 1024

添加后 :wq 保存退出后,执行 sysctl -p 命令使配置生效


----------------------- 6 ----------------------- 创建Oracle安装目录

mkdir -p /home/data/oracle
chown -R oracle:oinstall /home/data/oracle
chmod -R 775 /home/data/oracle

参考步骤 0 配图 ,因为 home 目录空间最大(961G),所以在这个目录下创建/data/oracle目录,这里计划把oracle安装在/home/data/oracle/内(根据虚机情况,选择空间较多的目录存放没有错)


----------------------- 7 ----------------------- 创建/etc/oraInst.loc文件与授权

在etc目录下执行 vi oraInst.loc 添加如下参数 /etc/oraInst.loc文件不存在,执行 vi 时会自动创建并打开)

nventory_loc=/home/data/oracle/oraInventory
inst_group=oinstall

权限分配

chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc


----------------------- 8 ----------------------- 复制响应文件模板

1. 在/home/oracle用户目录下创建etc文件夹
cd /home/oracle/
mkdir etc

2. 复制响应文件(参考步骤0安装包解压目录)
cp /home/install/database/response/* /home/oracle/etc/

3. 响应文件权限设置
chmod -R 777 /home/oracle/etc/*.rsp


----------------------- 9 ----------------------- 设置DISPLAY

root 用户下执行
xhost +
如果执行 xhost + 报错,先执行 export DISPLAY=:0 在执行 xhost +

切换到 oracle 用户
su - oracle   若执行 su - oracle 报 BH:Commad 可以在试试这样写 /usr/bin/su - oracle
DISPLAY=:0.0;export DISPLAY


----------------------- 10 ----------------------- 设置Oracle用户环境变量

vi .bash_profile

export ORACLE_BASE=/home/data/oracle
export ORACLE_SID=orcl

添加后 :wq 保存退出后,执行 source .bash_profile 命令使配置生效


----------------------- 11 ----------------------- 修改静默安装文件

修改安装Oracle软件的响应文件 /home/oracle/etc/db_install.rsp 修改内容如下 

oracle.install.option=INSTALL_DB_SWONLY                  // 安装类型
ORACLE_HOSTNAME=entry                             // 主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall                            // 安装组
INVENTORY_LOCATION=/home/data/oracle/oraInventory 
SELECTED_LANGUAGES=en,zh_CN                           // 选择语言
ORACLE_HOME=/home/data/oracle/product/11.2.0/db_1 //oracle_home
ORACLE_BASE=/home/data/oracle                        // oracle_base
oracle.install.db.InstallEdition=EE                     // oracle版本
oracle.install.db.isCustomInstall=false                  // 自定义安装,否,使用默认组件
oracle.install.db.DBA_GROUP=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.characterSet=AL32UTF8
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.password.ALL=oracle         // 设定所有数据库用户使用同一个密码,自行更改,(实际上后面安装实例时会重新输入密码)
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false         
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/home/data/oracle/oradata
DECLINE_SECURITY_UPDATES=true                         // 设置安全更新

----------------------- 12 ----------------------- 静默-安装数据库

进到 oracle 安装文件解压目录(参考步骤0安装包解压目录)
cd /home/install/database

./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp

安装中,[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。 如果安装停止尝试执行下面这条命令 

./runInstaller -silent -ignorePrereq -responseFile /home/oracle/etc/db_install.rsp

如果没报错就一直等着,大约5分钟左右,会出现安装信息。

当出现类似如下提示表示安装完成:
#-------------------------------------------------------------------
/usr/oracle/oraInventory/orainstRoot.sh               // 这个不一定有
/usr/oracle/product/11.2.0/db_1/root.sh
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

Successfully Setup Software.
#-------------------------------------------------------------------


----------------------- 13 ----------------------- 增加oracle环境变量

su - root

/home/data/oracle/product/11.2.0/db_1/root.sh

/home/data/oracle/oraInventory/orainstRoot.sh      // 参考上一步,安装完成的提示内有这个就执行,没有则不用执行

su - oracle

vi .bash_profile

在最后加上以下内容

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data

添加后 :wq 保存退出后,执行 source /home/oracle/.bash_profile 命令使设置生效


到这里数据库就安装好了

执行 sqlplus / as sysdba

执行 exit 退出,继续完成后续配置


----------------------- 14 ----------------------- 静默-启动网络服务名与监听

netca /silent /responseFile /home/oracle/etc/netca.rsp


----------------------- 15 ----------------------- 静默-建立新库

修改安装实例的响应文件 /home/oracle/etc/dbca.rsp 修改内容如下

RESPONSEFILE_VERSION = "11.2.0"               //不能更改
OPERATION_TYPE = "createDatabase"
GDBNAME = "orcl"                         // 全局数据库的名字
SID = "orcl"                           // 对应的实例名字
TEMPLATENAME = "General_Purpose.dbc"             // 建库用的模板文件
DATAFILEDESTINATION = /home/data/oracle/oradata       // 数据文件存放目录,根据具体oracle安装目录设置
CHARACTERSET = "AL32UTF8"               // 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
TOTALMEMORY = "5120"                     // 物理内存乘以1024除以2再减去1024

保存后执行 dbca -silent -responseFile /home/oracle/etc/dbca.rsp 命令创建实例

如果屏幕黑屏了,等20秒,直接输入密码回车 在输入密码回车,在输入密码回车,在输入密码回车,然后会出现安装实例......... 

----------------------- 16 ----------------------- 

实例进程检查

ps -ef | grep ora_ | grep -v grep

监听状态查看

lsnrctl status

登录dba用户

sqlplus / as sysdba

创建表空间

create tablespace ORCL_DATA datafile '/home/data/oracle/ORCL.DBF'  size 700m;

创建新用户

.... 

切换至新用户

显示当前登录用户

数据库自动备份

Linux 备份 Oracle11g 数据库

数据库设置

关于Oracle数据库空表无法导出问题

原文地址:https://www.cnblogs.com/ghostnet/p/15179559.html