在centos6.8系统中静默安装oracle11 g数据库
安装oracle11 g步骤:
1.关闭selinux
vim /etc/selinux/config
2.关闭selinux
修改SELINUX=disabled
vim /etc/sysconfig/selinux
执行:setenforce 0
3.jdk安装
vim /etc/profile
执行:source /etc/profile
4.增加虚拟内存
( 系统swap已经设置了,则无需再重新设置)
dd if=/dev/zero of=/swapadd bs=1024 count=2006424
mkswap /swapadd
swapon /swapadd
5.创建用户和组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle -d /home/oracle
passwd oracle
6.安装依赖包
yum -y install binutils compat-libstdc+±33 compat-libstdc+±33.i686elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686libstdc+±devel make sysstat unixODBC unixODBC-devel
7.修改内核参数
通过 vim /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
执行sysctl -p使配置生效。
8.修改用户限制
①通过 vim /etc/security/limits.conf 打开文件,新增或修改以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240
②通过 vim /etc/pam.d/login 打开文件,新增或修改以下内容:
session required /lib64/security/pam_limits.so
session required pam_limits.so
③通过 vim /etc/profile 打开文件,新增或修改以下内容: (注意 if 和 【 之间有个空格,; 和 then 有个空格)
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
执行 source /etc/profile 使修改的文件生效。
9.创建安装目录
(此处 /app/oracle 是我自定义的安装目录,如果想安装在其他地方,请记住将之后所有地方路径修改)
mkdir -p /app/
chown -R oracle:oinstall /home/oracle
chmod -R 775 /home/oracle
chown -R oracle:oinstall /app/
chmod -R 775 /app/
创建和修改 oraInst.loc: ( 通过 vim /etc/oraInst.loc 创建该文件,并新增以下内容 )
inventory_loc=/app/oracle/oraInventory
inst_group=oinstall
为该文件 授权 :
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc
10.切换用户到oracle,上传并解压oracle安装包到/home/oracle目录下
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
11.使用oracle用户复制响应模板
mkdir /home/oracle/etc
cp /home/oracle/database/response/* /home/oracle/etc/
chmod 777 /home/oracle/etc/*.rsp
12.设置oracle环境变量(使用oracle用户执行)
通过 vim ~/.bash_profile 打开文件:(新增或编辑以下内容)
export ORACLE_BASE=/app/oracle
export ORACLE_SID=orcl
export ORACLE_HOME=
O
R
A
C
L
E
B
A
S
E
/
p
r
o
d
u
c
t
/
11.2.0
/
d
b
1
e
x
p
o
r
t
T
N
S
A
D
M
I
N
=
ORACLE_BASE/product/11.2.0/db_1 export TNS_ADMIN=
ORACLEBASE/product/11.2.0/db1exportTNSADMIN=ORACLE_HOME/network/admin
export PATH=.:
P
A
T
H
:
{PATH}:
PATH:HOME/bin:
O
R
A
C
L
E
H
O
M
E
/
b
i
n
e
x
p
o
r
t
P
A
T
H
=
ORACLE_HOME/bin export PATH=
ORACLEHOME/binexportPATH={PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=
L
D
L
I
B
R
A
R
Y
P
A
T
H
:
{LD_LIBRARY_PATH}:
LDLIBRARYPATH:ORACLE_HOME/lib
export LD_LIBRARY_PATH=
L
D
L
I
B
R
A
R
Y
P
A
T
H
:
{LD_LIBRARY_PATH}:
LDLIBRARYPATH:ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=
L
D
L
I
B
R
A
R
Y
P
A
T
H
:
/
l
i
b
:
/
u
s
r
/
l
i
b
:
/
u
s
r
/
l
o
c
a
l
/
l
i
b
e
x
p
o
r
t
C
L
A
S
S
P
A
T
H
=
{LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export CLASSPATH=
LDLIBRARYPATH:/lib:/usr/lib:/usr/local/libexportCLASSPATH={CLASSPATH}:
O
R
A
C
L
E
H
O
M
E
/
J
R
E
e
x
p
o
r
t
C
L
A
S
S
P
A
T
H
=
ORACLE_HOME/JRE export CLASSPATH=
ORACLEHOME/JREexportCLASSPATH={CLASSPATH}:
O
R
A
C
L
E
H
O
M
E
/
J
R
E
/
l
i
b
e
x
p
o
r
t
C
L
A
S
S
P
A
T
H
=
ORACLE_HOME/JRE/lib export CLASSPATH=
ORACLEHOME/JRE/libexportCLASSPATH={CLASSPATH}:
O
R
A
C
L
E
H
O
M
E
/
j
l
i
b
e
x
p
o
r
t
C
L
A
S
S
P
A
T
H
=
ORACLE_HOME/jlib export CLASSPATH=
ORACLEHOME/jlibexportCLASSPATH={CLASSPATH}:
O
R
A
C
L
E
H
O
M
E
/
r
d
b
m
s
/
j
l
i
b
e
x
p
o
r
t
C
L
A
S
S
P
A
T
H
=
ORACLE_HOME/rdbms/jlib export CLASSPATH=
ORACLEHOME/rdbms/jlibexportCLASSPATH={CLASSPATH}:
O
R
A
C
L
E
H
O
M
E
/
n
e
t
w
o
r
k
/
j
l
i
b
e
x
p
o
r
t
L
I
B
P
A
T
H
=
ORACLE_HOME/network/jlib export LIBPATH=
ORACLEHOME/network/jlibexportLIBPATH={CLASSPATH}:
O
R
A
C
L
E
H
O
M
E
/
l
i
b
:
ORACLE_HOME/lib:
ORACLEHOME/lib:ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=
O
R
A
C
L
E
H
O
M
E
/
d
b
s
e
x
p
o
r
t
O
R
A
N
L
S
10
=
ORACLE_HOME/dbs export ORA_NLS10=
ORACLEHOME/dbsexportORANLS10=ORACLE_HOME/nls/data
然后执行, source /home/oracle/.bash_profile 使环境变量生效。
再执行,env 查看 环境变量是否修改成功。
13.修改Oracle 软件安装配置文件
在 oracle 用户下,通过 vim /home/oracle/etc/db_install.rsp或者直接新建文件在文件授权,本人偏向第二种:
touch /home/oracle/etc/my_install.rsp
chmod 777 /home/oracle/etc/*.rsp
在my_install.rsp文件中添加一下内容:
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN,zh_TW
ORACLE_HOME=/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.CLUSTER_NODES=
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=512
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true
14.使用oracle用户执行安装oracle
cd /home/oracle/database
./runInstaller -silent -force -responseFile /home/oracle/etc/my_install.rsp -ignorePrereq
安装过程过程中会有点缓慢,可以另起一个窗口打开日志查看安装进度:
tail -f /app/oracle/oraInventory/logs/installActions2019-06-27_04-24-56AM.log
注:当出现“Exception in thread “main” java.lang.NoClassDefFoundError”异常错误时,执行(1、echo $DISPLAY 2、unset DISPLAY 3、echo $DISPLAY)
最后切到root用户执行:
sh /app/oracle/product/11.2.0/db_1/root.sh
15.配置网络监听(切换到oracle用户)直接执行,文件不用修改
$ORACLE_HOME/bin/netca /silent /responseFile /home/oracle/etc/netca.rsp
16.切换到oracle用户,在监听配置文件添加实例,目的是让客户端能远程访问
vim /app/oracle/product/11.2.0/db_1/network/admin/listener.ora
#listener.ora Network Configuration File: /app/oracle/product/11.2.0/db_1/network/admin/listener.ora
#Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /app/oracle
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=orcl)
(ORACLE_HOME=/app/oracle/product/11.2.0/db_1)
(SID_NAME=orcl)
)
(SID_DESC=
(SID_NAME=PLSExtProc)
(ORACLE_HOME=/app/oracle/product/11.2.0/db_1)
(PROGRAM=extproc))
)
17.创建数据库实例(切换到oracle用户)修改内容后再执行
/app/oracle/product/11.2.0/db_1/bin/dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl.oracle -sid orcl -sysPassword linhaiming -systemPassword linhaiming -responseFile NO_VALUE -datafileDestination /app/oracle/oradata/ -redoLogFileSize 50 -recoveryAreaDestination /app/oracle/flash_recovery_area -storageType FS -characterSet AL32UTF8 -nationalCharacterSet UTF8 -sampleSchema false -memoryPercentage 30 -totalMemory 4096 -databaseType OLTP -emConfiguration NONE
-gdbname 后面的值,内容是 orcl+你的主机名
-sysPassword 后面的值,内容是 你的密码
-datafileDestination 后面的值,内容与 前文一致
-revoveryAreaDestination 后面的值,内容与 前文一致
日志如下:
18.实例检查
ps -ef | grep ora_ | grep -v grep | wc -l
ps -ef | grep ora_ | grep -v grep
19.监听检查
lsnrctl status
20.登录数据库
逐行执行:
sqlplus / as sysdba
conn /as sysdba 连接到数据本地数据
alter user
identified by 123456; 密码可以使用之前设置的密码,修改System 密码 为123456
alter user scott identified by 123456; 以后常用 scott 操作数据库,此时改个密码
alter user scott account unlock; scott 默认 是 lock状态,使用前 需要解锁
create user test identified by 123456; 也可以自己创建用户
grant resource,connect to scott; 用户的权限有可能不够,需要授权
grant dba to scott; 用户的权限有可能不够,需要授权
select 1 from dual; 测试数据库是否正常启动
conn scott/123456; 连接上scott用户
能查到表示oracle 11g数据库已经完全安装成功。
21.监听及数据库的启停
启动顺序:启动监听–>启动数据库服务
启动监听
lsnrctl start
启动数据库(启动数据库的所有功能)
sqlplus /nolog
connect /as sysdba
startup
停止顺序:停止监听–>停止数据库服务
停止监听
lsnrctl stop
停止数据库
sqlplus /nolog
connect /as sysdba
shutdown immediate
(shutdown三个参数:immediate 立即停止,transactional 等待当前事务完成,abort 强行关闭)