Oracle11gR2于RedHat6.5静默安装方法.sh

1、RedHat 6.5最小化安装,配置主机名、IP地址,并写入对应关系至/etc/hosts
   disabled selinux以及清空iptables策略并禁止iptables自启动

2、配置yum仓库,安装如下软件:
yum install
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++ \
libstdc++-devel \
make \
numactl \
sysstat \
unixODBC \
unixODBC-devel \
libXext \

2、创建所需的操作系统组和用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle

设置oracle用户密码
passwd oracle (建议使用oracle)

3、修改内核参数
在/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

修改后,使设置生效
/sbin/sysctl -p

4、修改用户限制
在/etc/security/limits.conf中,增加以下参数 
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

在/etc/pam.d/login中,增加以下内容
session required /lib/security/pam_limits.so
session required pam_limits.so

在/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

使设置生效
source /etc/profile

5、创建安装目录
mkdir -p /soft/u01/app/
chown -R oracle:oinstall /soft/u01/app/
chmod -R 775 /soft/u01/app/

6、创建/etc/oraInst.loc文件,内容如
inventory_loc=/soft/u01/app/oracle/oraInventory
inst_group=oinstall

更改文件的权限
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc

7、设置oracle环境变量

su - oracle 

在~oracle/.bash_profile加上以下内容
export ORACLE_BASE=/soft/u01/app/oracle
export ORACLE_SID=orcl

注意,除了ORACLE_BASE和ORACLE_SID,( /etc/profile和.bash_profile中)不设置任何oracle相关环境变量(ORACLE_HOME, PATH, LD_LIBRARY_PATH等)。
使设置生效

source /home/oracle/.bash_profile

检查环境变量:
env

8、解压oracle安装文件
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

9、复制响应文件模板(只针对11G,其他的版本请百度)
mkdir /home/oracle/etc/
cp /home/oracle/database/response/* /home/oracle/etc/

设置响应文件权限
su - root
chmod 700 /home/oracle/etc/*.rsp

10、静默安装Oracle软件

su - oracle

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

    oracle.install.option=INSTALL_DB_SWONLY //29 行 安装类型

    ORACLE_HOSTNAME=java-linux-test //37 行 主机名称(自己对应的主机名称,可利用hostname查看)

    UNIX_GROUP_NAME=oinstall //42 行 安装组

    INVENTORY_LOCATION=/soft/u01/oraInventory //47 行 INVENTORY目录 必须在ORACLE_BASE路径以外

    SELECTED_LANGUAGES=en,zh_CN,zh_TW //78 行 选择语言

    ORACLE_HOME=/soft/u01/app/oracle/product/11.2.0/db_1 //83 行 oracle_home

    ORACLE_BASE=/soft/u01/app/oracle //88 行 oracle_base

    oracle.install.db.InstallEdition=EE //99 行 oracle版本

    oracle.install.db.isCustomInstall=true //108行 自定义安装

    oracle.install.db.DBA_GROUP=dba //142行 dba用户组

    oracle.install.db.OPER_GROUP=oinstall //147行 oper用户组

    oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 数据库类型

    oracle.install.db.config.starterdb.globalDBName=orcl //165行 globalDBName

    oracle.install.db.config.starterdb.SID=orcl //170行 SID

    oracle.install.db.config.starterdb.memoryLimit=512 //192行 自动管理内存的最小内存(M)(200行)

    oracle.install.db.config.starterdb.password.ALL=oracle //233行 设定所有数据库用户使用同一个密码

    DECLINE_SECURITY_UPDATES=true //385行 设置安全更新

进行静默安装Oracle软件

cd database
./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp 

如果出现:
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-07-29_03-58-41PM. Please wait ...               [oracle@localhost database]$You can find the log of this  install session at: //则表示安装顺利

如果出现:
reparing to launch Oracle Universal Installer from /tmp/OraInstall2015-07-29_03-58-41PM. Please wait ...               [oracle@localhost database]$  //之后就没有反应
或者报错[FATAL] [INS-13013] Target environment do not meet some mandatory requirements
        则需要按下面步骤进行:
安装命令中加入选项-ignorePrereq

安装中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。

大约需要五分钟左右......

如果需要查看安装日志信息了解安装进度,可以:
cd $ORACLE_BASE/oraInventory/logs
tail -f installActions*.log

出现类似如下提示表示安装完成:
#-------------------------------------------------------------------
...
/soft/u01/app/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.
#-------------------------------------------------------------------
 
使用root用户执行root.sh
 su - root
 /soft/u01/app/oracle/product/11.2.0/db_1/root.sh
 

 11、增加oracle环境变量
 
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
export DISPLAY=127.0.0.1:0.0

使设置生效
 
source /home/oracle/.bash_profile

11、静默配置网络
su - oracle

$ORACLE_HOME/bin/netca /silent /responseFile /home/oracle/etc/netca.rsp

出现类似如下提示表示安装完成:
Parsing command line arguments:
    Parameter "silent" = true
    Parameter "responsefile" = /home/oracle/etc/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
    Running Listener Control: 
      /soft/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


此时可查看监听的状态了
    lsnrctl status
    此时一定是这种状态
        The listener supports no services
        The command completed successfully
        
若出现错误解决错误后,执行
    $ORACLE_HOME/bin/relink all 
然后重新执行网络配置

12、静默安装数据库

修改仅安装数据库的响应文件/home/oracle/etc/dbca.rsp
 
    GDBNAME="orcl.java-linux-test" //78 行 全局数据库的名字=SID+主机域名

    SID="orcl" //149行 SID

    CHARACTERSET="AL32UTF8" //415行 数据库字符集编码,注意将前面的#号去掉(改为ZHS16GBK待测试)

    NATIONALCHARACTERSET="UTF8" //425行 编码

    SYSPASSWORD="sys"//190行 密码可自己设置

    SYSTEMPASSWORE="system"//200行 密码可自己设置


进行静默安装数据库
 
    $ORACLE_HOME/bin/dbca -silent -responseFile /home/oracle/etc/dbca.rsp

建库后实例检查
[oracle@oradb11gr2 ~]$ ps -ef | grep [o]ra_ | wc -l
21
[oracle@oradb11gr2 ~]$ ps -ef | grep [o]ra_
oracle     7227      1  0 00:40 ?        00:00:00 ora_pmon_orcl
oracle     7229      1  0 00:40 ?        00:00:01 ora_vktm_orcl
oracle     7233      1  0 00:40 ?        00:00:00 ora_gen0_orcl
oracle     7235      1  0 00:40 ?        00:00:00 ora_diag_orcl
oracle     7237      1  0 00:40 ?        00:00:00 ora_dbrm_orcl
oracle     7239      1  0 00:40 ?        00:00:00 ora_psp0_orcl
oracle     7241      1  0 00:40 ?        00:00:00 ora_dia0_orcl
oracle     7243      1  0 00:40 ?        00:00:00 ora_mman_orcl
oracle     7245      1  0 00:40 ?        00:00:00 ora_dbw0_orcl
oracle     7247      1  0 00:40 ?        00:00:00 ora_lgwr_orcl
oracle     7249      1  0 00:40 ?        00:00:00 ora_ckpt_orcl
oracle     7251      1  0 00:40 ?        00:00:00 ora_smon_orcl
oracle     7253      1  0 00:40 ?        00:00:00 ora_reco_orcl
oracle     7255      1  0 00:40 ?        00:00:00 ora_mmon_orcl
oracle     7257      1  0 00:40 ?        00:00:00 ora_mmnl_orcl
oracle     7259      1  0 00:40 ?        00:00:00 ora_d000_orcl
oracle     7261      1  0 00:40 ?        00:00:00 ora_s000_orcl
oracle     7269      1  0 00:40 ?        00:00:00 ora_qmnc_orcl
oracle     7283      1  0 00:40 ?        00:00:00 ora_cjq0_orcl
oracle     7286      1  0 00:40 ?        00:00:00 ora_q000_orcl
oracle     7288      1  0 00:40 ?        00:00:00 ora_q001_orcl

建库后监听检查
lsnrctl status
Services Summary...
Service "orcl.oradb11gr2" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB.oradb11gr2" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

配置客户端监听
在/soft/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora中追加:

SID_LIST_LISTENER =
 (SID_LIST =
   (SID_DESC =
   (GLOBAL_DBNAME = orcl)
   (SID_NAME =orcl )
  )
 )
    重启监听:lsnrctl stop
               lsnrctl start

检查监听状态
    lsnrctl status
Service "orcl" has 1 instance(s).
  Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl.oradb11gr2" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB.oradb11gr2" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

#############################################################################################
13、修改oracle启动配置文件
su - oracle

vi /etc/oratab
 
orcl:/soft/u01/app/oracle/product/11.2.0/db_1:Y //把“N”改成“Y”
 
这样就可以通过dbstart 启动此实例,监听器。
dbstart $ORACLE_HOME

此时所有oracle的进程关闭,监听器也停止。
dbshut $ORACLE_HOME

再次查看监听器状态。
lsnrctl status

如果使用归档日志
    su - oracle
    sqlplus / as sysdba

SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database flashback on; (如果要启用数据库闪回功能则执行)
SQL> alter database open;
SQL> execute utl_recomp.recomp_serial(); (重新编译所有可能失效对象)
SQL> alter system archive log current; (手工归档测试)

默认安装的数据库用户检查
SQL> set lines 256 pages 500
SQL> select USER_ID,USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE from dba_users;

修改linux数据库字符集以及客户端相关问题

如果linux能够利用sqlplus / as sysdba 显示SQL> 表示数据库已经安装成功,但是由于安装的时候使用的是AL32UTF8需要改为ZHS16GBK
SQL> conn /as sysdba (sqlplus / as sysdba)
SQL> shutdown immediate; (如果无反应 shutdown abort)
SQL> startup 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 AL32UTF8; 
ORA-12712: new character set must be a superset of old character set 
提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改: 
SQL> ALTER DATABASE character set INTERNAL_USE AL32UTF8; 

--我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验. 
SQL> shutdown immediate; 
SQL> startup 

以后安装oracle的时候记得选择自定义安装,把这个字符集的事情事先弄好。

涉及三方面的字符集,
1. oracel server端的字符集;
2. oracle client端的字符集;
3. dmp文件的字符集。
在做数据导入的时候,需要这三个字符集都一致才能正确导入。

查询oracle server端的字符集
SQL> select userenv('language') from dual;

客户端添加环境变量NLS_LANG
AMERICAN_AMERICA.ZHS16GBK

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值