ORACLE11G LINUX CENTEROS7 安装

10 篇文章 0 订阅
6 篇文章 0 订阅

ORACLE11G LINUX CENTEROS7 安装

oracle11g图形化安装,需要安装xmanager或者vnc等,比较麻烦,而且中间过程容易出错,下面介绍的是静默安装。

准备工作
1.1 修改主机名,配置host文件

vim /etc/hosts 
127.0.0.1 orcl-db

1.2 需要关闭selinux&iptables:

vim /etc/selinux/config   
修改:
SELINUX=disabled
 
service iptables stop
chkconfig iptables off

yum安装依赖

yum install gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel –y

内核参数设定

vim /etc/sysctl.conf
 
fs.file-max = 6815744
kernel.sem = 250 32000 100 128 
kernel.shmmni = 4096 
kernel.shmall = 1073741824 
kernel.shmmax = 4398046511104 
kernel.panic_on_oops = 1 
net.core.rmem_default = 262144 
net.core.rmem_max = 4194304 
net.core.wmem_default = 262144 
net.core.wmem_max = 1048576 
net.ipv4.conf.all.rp_filter = 2 
net.ipv4.conf.default.rp_filter = 2 
fs.aio-max-nr = 1048576 
net.ipv4.ip_local_port_range = 9000 65500
  

参数详解:
kernel.shmall:
该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求.
kernel.shmmax:
是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。
官方建议值:
32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。
64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,例如,如果为12GB物理内存,可取1210241024*1024-1=12884901887。
kernel.shmmni:
该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。
kernel.sem:
以kernel.sem = 250 32000 100 128为例:
250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。
32000是参数semmns的值,表示系统内可允许的信号量最大数目。
100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。
128是参数semmni的值,表示系统信号量集合总数。
net.ipv4.ip_local_port_range:
表示应用程序可使用的IPv4端口范围。
net.core.rmem_default:
表示套接字接收缓冲区大小的缺省值。
net.core.rmem_max:
表示套接字接收缓冲区大小的最大值。
net.core.wmem_default:
表示套接字发送缓冲区大小的缺省值。
net.core.wmem_max:
表示套接字发送缓冲区大小的最大值。
fs.aio-max-nr:
此参数限制并发未完成的请求,应该设置避免I/O子系统故障。
fs.file-max:
该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量。

执行 sysctl -p //使参数生效

#执行[root@bgs etc]#
dd if=/dev/zero of=/swapfile bs=1024 count=512k
-------------------------------------------------
524288+0 records in
524288+0 records out
536870912 bytes (537 MB) copied, 3.09343 s, 174 MB/s
[root@bgs-5p19-zhaochangyin etc]# mkswap /swapfile
Setting up swapspace version 1, size = 524284 KiB
no label, UUID=a525b1ce-804d-44c5-b670-c96c6ce11859
 
[root@bgs-5p19-zhaochangyin etc]# swapon /swapfile
swapon: /swapfile: insecure permissions 0644, 0600 suggested

限制oracle用户策略

vim /etc/security/limits.conf
  
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240

在/etc/pam.d/login 文件中增加以下内容

vim /etc/pam.d/login

session required /lib64/security/pam_limits.so
session required pam_limits.so

###安装oracle

创建oracle用户组和用户

[root@bgs-5p19- ~]# groupadd oinstall
[root@bgs-5p19- ~]# groupadd dba
[root@bgs-5p19- ~]# useradd -g oinstall -G dba oracle
[root@bgs-5p19- ~]# echo oracle | passwd --stdin oracle
 
[root@bgs-5p19- ~]# id oracle
uid=1003(oracle) gid=1003(oinstall) groups=1003(oinstall),1004(dba)

创建目录

mkdir -p /u01/app/
chown -R oracle:oinstall /u01/app/
chmod -R 775 /u01/app/

在oracle用户中编辑环境变量

vim /home/oracle/.bash_profile
 
if [ $USER = "oracle" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
       ulimit -p 16384
       ulimit -n 65536
    else
       ulimit -u 16384 -n 65536
   fi
fi
 
 
ORACLE_HOSTNAME=orcl-db
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.UTF8

刷新一下配置

source  /home/oracle/.bash_profile

解压

[root@bgs-5p19 app]# cd /u01/app
#解压安装包,解压后会产生一个database目录
[root@bgs-5p19 app]# unzip linux.x64_11gR2_database_1of2.zip
[root@bgs-5p19 app]# unzip linux.x64_11gR2_database_2of2.zip
 
# 拷贝response目录到当前位置
[root@bgs-5p19 app]# cp -r database/response  /u01/app
[root@bgs-5p19 app]# chmod -R 775 response
 
#记得要修改解压后的文件的属组和用户组
[root@bgs-5p19 app]# chown -R oracle:oinstall /u01/app/

配置db_install.rsp响应模板文件开始静默安装

[root@bgs-5p19 app]# su - oracle
 
[oracle@bgs-5p19 app]# sed -n '/^[^#]/p' response/db_install.rsp 
 
#下面是需要修改的一些参数
 
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=orcl-db
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
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=1024
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=123123
oracle.install.db.config.starterdb.password.SYS=123123
oracle.install.db.config.starterdb.password.SYSTEM=123123
oracle.install.db.config.starterdb.password.SYSMAN=123123
oracle.install.db.config.starterdb.password.DBSNMP=123123
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=false
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=

开始静默安装

[root@bgs-5p19-zhaochangyin database]# pwd
/u01/app/database
[oracle@bgs-5p19-zhaochangyin database]$  ./runInstaller -silent -responseFile /u01/app/response/db_install.rsp 

执行有可能错误–原因以前安装过里面文件没有清理干净 清理一下
在/etc下面生成了一些文件,这些文件需要删除,重新生成
cd /etc
rm -rf ora
rm -rf oraInst.loc

错误2
[oracle@bgs-5p19-zhaochangyin database]$ ./runInstaller -silent -responseFile /u01/app/response/db_install.rsp

Starting Oracle Universal Installer...
 
Checking Temp space: must be greater than 120 MB.   Actual 30042 MB    Passed
Checking swap space: 0 MB available, 150 MB required.    Failed <<<<
 
Some requirement checks failed. You must fulfill these requirements before
continuing with the installation,
Exiting Oracle Universal Installer, log for this session can be found at /tmp/OraInstall2019-03-11_12-06-04PM/installActions2019-03-11_12-06-04PM.log

解决方案:
需要重新设置分区,由于之前安装过一次,导致出错,需重新设置分区,请参考1.5操作步骤

错误3 忽略参数
error
需要加 -ignorePrereq 参数
./runInstaller -ignorePrereq -silent -responseFile /u01/app/response/db_install.rsp
执行完后效果
ok

重新打开root操作窗口执行上边需要运行的脚本
oklist
配置监听程序

[root@bgs-5p19 database]# sed -n '/^[^#]/p' response/netca.rsp 
[GENERAL]
RESPONSEFILE_VERSION="11.2"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}

启动监听

[oracle@bgs-5p19-zhaochangyin response]$ netca /silent /responsefile /u01/app/response/netca.rsp
 
Parsing command line arguments:
    Parameter "silent" = true
    Parameter "responsefile" = /u01/app/response/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
    Running Listener Control: 
      /u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start LISTENER
    Listener Control complete.
    Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0

oik
kk

创建dbca数据库,编辑应答文件 这个配置文件貌似默认即可

[root@bgs-5p19-zhaochangyin database]# sed -n '/^[^#]/p' response/dbca.rsp 
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
[createTemplateFromDB]
SOURCEDB = "myhost:1521:orcl"
SYSDBAUSERNAME = "system"
TEMPLATENAME = "My Copy TEMPLATE"
[createCloneTemplate]
SOURCEDB = "orcl"
TEMPLATENAME = "My Clone TEMPLATE"
[DELETEDATABASE]
SOURCEDB = "orcl"
[generateScripts]
TEMPLATENAME = "New Database"
GDBNAME = "orcl"
[CONFIGUREDATABASE]
[ADDINSTANCE]
DB_UNIQUE_NAME = "orcl"
NODELIST=
SYSDBAUSERNAME = "sys"
[DELETEINSTANCE]
DB_UNIQUE_NAME = "orcl"
INSTANCENAME = "orcl"
SYSDBAUSERNAME = "sys"

执行命令初始化一哈子

[oracle@bgs-5p19-zhaochangyin ~]$ dbca -silent -responseFile /u01/app/response/dbca.rsp
Copying database files                                                                                                                           
1% complete                                                                                                                                      
3% complete                                                                                                                                      
11% complete                                                                                                                                     
18% complete                                                                                                                                     
26% complete                                                                                                                                     
37% complete                                                                                                                                     
Creating and starting Oracle instance                                                                                                            
40% complete                                                                                                                                     
45% complete                                                                                                                                     
50% complete                                                                                                                                     
55% complete                                                                                                                                     
56% complete                                                                                                                                     
60% complete                                                                                                                                     
62% complete                                                                                                                                     
Completing Database Creation                                                                                                                     
66% complete                                                                                                                                     
70% complete                                                                                                                                     
73% complete                                                                                                                                     
85% complete                                                                                                                                     
96% complete                                                                                                                                     
100% complete                                                                                                                                    
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.

完后日志内容,可以不关心.里面就是写提示相关
执行完的效果
创建用户连接错误

[oracle@bgsbtsp0010-dqf:database]$ sqlplus / as sysdba
                                                                                                                                                 
SQL*Plus: Release 11.2.0.1.0 Production on Wed May 15 13:46:45 2019                                                                              
                                                                                                                                                 
Copyright (c) 1982, 2009, Oracle.  All rights reserved.                                                                                          
                                                                                                                                                 
Connected to an idle instance.
 
SQL> startup;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora'
SQL> 

错误原因
在11g最近几个版本中,数据库默认使用spfile启动数据库,如果spfile不存在,则就会出现上述错误。
解决方案:
O R A C L E B A S E / a d m i n / l j l / p f i l e ( / u 01 / a p p / o r a c l e / a d m i n / o r c l 11 g / p f i l e ) 目 录 下 的 i n i t . o r a . 4152019134530 形 式 的 文 件 c o p y 到 ORACLE_BASE/admin/ljl/pfile(/u01/app/oracle/admin/orcl11g/pfile)目录下的init.ora.4152019134530 形式的文件copy到 ORACLEBASE/admin/ljl/pfile(/u01/app/oracle/admin/orcl11g/pfile)init.ora.4152019134530copyORACLE_HOME/dbs目录下命名为initorcl.ora即可。

# 用命令“find /u01 -name pfile”查询pfile文件位置
[oracle@bgsbtsp0010-dqf:dbs]# find /u01 -name pfile
/u01/app/oracle/admin/orcl11g/pfile
[oracle@bgsbtsp0010-dqf:dbs]# cd /u01/app/oracle/admin/orcl11g/pfile
[oracle@bgsbtsp0010-dqf:pfile]# ls
init.ora.4152019134530
 
[oracle@bgsbtsp0010-dqf:pfile]# cp init.ora.4152019134530  /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora

注意,不能直接拷贝哦
在这里插入图片描述
再次启动 错误


[oracle@bgsbtsp -dqf:database] sqlplus / as sysdba
SQL> startup;
ORACLE instance started.
 
Total System Global Area 1603411968 bytes
Fixed Size		    2213776 bytes
Variable Size		  402655344 bytes
Database Buffers	 1191182336 bytes
Redo Buffers		    7360512 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode

database not mounted错误

[oracle@bgsbtsp0010-dqf:dbs]# fuser -u lkORCL11G 
/u01/app/oracle/product/11.2.0/db_1/dbs/lkORCL11G: 29365(oracle) 29371(oracle) 29375(oracle) 29377(oracle) 29381(oracle) 29383(oracle) 29385(oracle) 29387(oracle) 29389(oracle) 29391(oracle) 29393(oracle) 29395(oracle) 29397(oracle) 29399(oracle) 29455(oracle) 29490(oracle) 29576(oracle) 29578(oracle) 33195(oracle) 33218(oracle)
 
# 果然该文件没释放,用fuser命令kill掉:
[oracle@bgsbtsp0010-dqf:dbs]#  fuser -k lkORCL11G 
/u01/app/oracle/product/11.2.0/db_1/dbs/lkORCL11G: 29365 29371 29375 29377 29381 29383 29385 29387 29389 29391 29393 29395 29397 29399 29455 29490 29576 29578 33195 33218

3.2.如果遇见MEMORY_TARGET not supported错误
SQL> startup;
xxx
ORA-00845: MEMORY_TARGET not supported on this system
找到错误原因是MEMORY_MAX_TARGET 的设置不能超过 /dev/shm 的大小,我们来看一下解决步骤:

[oracle@ocp dbs]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        95G   21G   70G  23% /
tmpfs           932M  265M  667M  29% /dev/shm
/dev/sda1       194M   34M  151M  19% /boot
/dev/sr0        3.6G  3.6G     0 100% /media/RHEL_6.5 x86_64 Disc 1
 
[oracle@ocp dbs]$ cat /etc/fstab | grep tmpfs
tmpfs                   /dev/shm                tmpfs   defaults        0 0
———————————————
可以看出/dev/shm分区确实有点小,我们给它加大就可以了,现在可以通过重启使这个配置生效,也可以通过重新挂载来修改其大小:
执行命令 mount -o remount,size=16G /dev/shm/
然后重新startup即可;

最后

SQL> shutdown   
ORA-01507: database not mounted
ORACLE instance shut down.
 
SQL> startup
ORACLE instance started.
 
Total System Global Area 1603411968 bytes
Fixed Size		    2213776 bytes
Variable Size		  402655344 bytes
Database Buffers	 1191182336 bytes
Redo Buffers		    7360512 bytes
Database mounted.
Database opened.
 
 
SQL>  create user test identified by baifendian;
 
User created.
 
SQL> grant connect, resource to test;
 
Grant succeeded.

字符集修改

Linux安装Oracle时太仓促,没设置好,导入dmp字符集(ZHS16GBK)与服务器字符集(WE8MSWIN1252)对不上,导致导入数据失败:
-- su oracle
-- source  /home/oracle/.bash_profile
-- 先切换用户 在刷新一下环境变量方便使用命令

[oracle@ORACLE ~]$ sqlplus /as sysdba
SQL>select userenv('language') from dual;  --查看服务端字符集
SQL>SHUTDOWN IMMEDIATE  --关闭数据库
SQL>STARTUP MOUNT  --启动到 Mount
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL>ALTER DATABASE OPEN;
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP;
SQL>select userenv('language') from dual;  --查看服务端字符集
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值