Oracle部署

ORACLE11G安装
1环境准备
1.1安装环境
Linux服务器:CentOS7.3 64位
Oracle服务器:Oracle11gR2 64位
1.2查看linux系统版本
lsb_release -a(需要安装)或者cat /etc/centos-release

1.3主机名修改
hostname wuyu
生效
su -
vi /etc/hosts
将主机名和IP写入

vi /etc/sysconfig/network
修改hostname值

NETWORKING=yes
HOSTNAME=wuyu
GATEWAY=192.168.9.216
~
注:GATEWAY=网关地址
1.4关闭防火墙
查看 systemctl status firewalld
关闭 systemctl stop firewalld
永久关闭 systemctl disable firewalld

1.5禁用SELINUX
查看getenforce
临时关闭setenforce 0
永久关闭vi /etc/sysconfig/selinux
改为SELINUX=disabled

注:永久关闭需要重启系统
1.6设置yum环境
参照YUM源部署手册配置,
配置完成后,使用yum list验证,弹出一排白色的rpm包名即算完成

1.7安装桌面
yum -y install xorg*
yum -y install gnome*
注:我直接安装的图形化界面,所以没有安装这一步的桌面
使用当前本地机的图形化界面:
执行 export DISPLAY = Xmangip:0.0
2参数修改
2.1Linux安装Oracle系统要求
系统要求 说明
内存 必须高于1G的物理内存
交换空间 一般为内存的2倍以上,例如:1G的内存可以设置swap 分区为3G大小
硬盘 5G以上
2.2修改操作系统核心参数
在root用户下执行以下步骤:
2.2.1limits.conf文件
修改用户的SHELL的限制,修改/etc/security/limits.conf文件
输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

编辑完成后按Esc键,输入“:wq”存盘退出
2.2.2login文件
修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。
session required /lib64/security/pam_limits.so
session required pam_limits.so
编辑完成后按Esc键,输入“:wq”存盘退出

注:我为64位的系统所以加了64,路径为/lib64,否则路径为/lib
2.2.3sysctl.conf文件
修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
编辑完成后按Esc键,输入“:wq”存盘退出
要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 显示如下:
linux:~ # sysctl -p
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
2.2.4profile文件
编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件。
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
编辑完成后按Esc键,输入“:wq”存盘退出
2.3创建相关用户和组
创建相关用户和组,作为软件安装和支持组的拥有者。
创建用户,输入命令:
groupadd oinstall
groupadd dba
创建Oracle用户和密码,输入命令:
useradd -g oinstall -m oracle
gpasswd -a oracle dba

passwd oracle
然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认
【建议设置为oracle】
2.3.1创建相关目录
创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
输入命令:
mkdir /u01
mkdir /u01/app
mkdir /u01/app/oracle
mkdir /u01/app/oradata
mkdir /u01/app/oracle/product
2.3.2授权修改目录属组
在root用户设置更改目录属主为Oracle用户所有,输入命令:
chown -R oracle:oinstall /app/u01
2.3.3配置环境变量
配置oracle用户的环境变量。首先,切换到新创建的oracle用户下,
输入:su - oracle ,然后直接在输入 : vi .bash_profile
按i编辑 .bash_profile,进入编辑模式,增加以下内容:
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME= O R A C L E B A S E / p r o d u c t / 11.2.0 e x p o r t O R A C L E S I D = w u y u e x p o r t P A T H = ORACLE_BASE/product/11.2.0 export ORACLE_SID=wuyu export PATH= ORACLEBASE/product/11.2.0exportORACLESID=wuyuexportPATH=PATH: H O M E / b i n : HOME/bin: HOME/bin:ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

编辑完成后按Esc键,输入“:wq”存盘退出
3安装
3.1上传安装包并解压
在root用户下执行
[oracle@wuyu ~]$ exit
登出
mkdir /soft
将文件上传到/soft目录
cd /soft
输入命令:
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
3.2执行安装
当上述系统要求操作全部完成后
以Oracle用户登陆。
su - oracle
解压完成后 cd 进入其解压后的目录database
输入命令:
cd /soft
cd database
使用ls命令可以查看解压后database所包含的文件,如下图:

设置语言
export LANG=en
2)执行安装,输入命令:./runInstaller
3)如果没有出现图形化界面,出现以下错误
要用oracle用户开启连接
su - oracle
export LANG=en

忽略警告

安装简体中文支持(可选)

有遇到PDKSH可忽视。
装到这一步,可以看到,可以查看到有很多的rpm包没有
安装界面放着不动,打开Xshall使用root用户登录
使用yum -y install安装
其中compat-libstdc包可能没有,将下面文件传输到虚拟机内安装

[root@wumq soft]# rpm -ivh compat-libstdc+±33-3.2.3-72.el7.x86_64.rpm

如果有除了rpm包外的其他问题 点击Fix& Check Again
在root用户下执行上面要求的脚本。
点击Check Again再次检查通过即可 PDKSH可忽视

安装到86%时可能会出现下面的错误:

解决方案
在makefile中添加链接libnnz11库的参数
修改$ORACLE_HOME/sysman/lib/ins_emagent.mk,将
( M K E M A G E N T N M E C T L ) 修 改 为 : (MK_EMAGENT_NMECTL)修改为: (MKEMAGENTNMECTL)(MK_EMAGENT_NMECTL) -lnnz11

$(MK_EMAGENT_NMECTL)
建议修改前备份原始文件
[root@wumq lib]#cd /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib
[root@wumq lib]# cp ins_emagent.mk ins_emagent.mk.bak
[root@wumq lib]# ls |grep ins_emagent.mk
ins_emagent.mk
ins_emagent.mk.bak
[root@wumq lib]# vim ins_emagent.mk

保存退出后Retry。

安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置,如:我的就在/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
和 /u01/oraInventory/orainstRoot.sh 新开启一个终端,输入命令:
su – root
cd /u01/app/oracle/product/11.2.0/dbhome_1
./root.sh
cd /u01/oraInventory
./orainstRoot.sh

安装成功
4数据库建库
1)还是在oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库。
设置语言
export LANG=en
dbca

设置SID(注意要与前面2.3.3配置的环境变量上一致)

输入统一密码(也可以分别设置其密码)

数据库存放位置,我这里采用默认

不指定快速恢复和归档

去掉不常用的模块

内存分配及指定字符集

经过漫长的等待,当看到此界面,说明oracle建库完成

可以用sqlplus来检验下,新开启一个命令窗口,输入sqlplus,然后输入用户名和密码,可以测试下,这里就不做过多的介绍了。
sqlplus / as sysdba
-conn /as sysdba
-startup

5配置监听及本地网络服务
1) 在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面。

2)创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)

3)配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)

输入连接的oracle服务器的数据库的实例名

输入oracle服务器的ip地址

选中测试

点击change Login 输入所连接oracle服务器的其中某一个用户名和密码,点击OK

看到此界面说明测试成功(如果不成功,请查看网络是否畅通,所连接的oracle服务器是否启动,监听是否启动等原因)

为你所设置的本地网络服务名起个名字

然后下一步,下一步即可

这样oracle服务器安装配置基本就完成了。
我们可以使用plsql连接试一下

6无法启动监听
数据库在关闭后可能出现监听无法启动的问题,解决方法如下:
在/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
中加入SID_LIST_LISTENER=(SID_LIST=( SID_DESC=(GLOBAL_DBNAME=wuyu)(SID_NAME=wuyu)))

7补充信息
7.1.1【OK】密码永不过期
SQL> select * from dba_profiles s where s.profile=‘DEFAULT’ and resource_name=‘PASSWORD_LIFE_TIME’;
PROFILE          RESOURCE_NAME   RESOURCE


LIMIT

DEFAULT          PASSWORD_LIFE_TIME  PASSWORD
180
SQL> alter profile default limit password_life_time unlimited;
Profile altered.
SQL> select * from dba_profiles s where s.profile=‘DEFAULT’ and resource_name=‘FAILED_LOGIN_ATTEMPTS’;
PROFILE          RESOURCE_NAME   RESOURCE


LIMIT

DEFAULT          FAILED_LOGIN_ATTEMPTS  PASSWORD
10
SQL> alter profile default limit failed_login_attempts unlimited;
Profile altered.
7.1.2 【OK】游标数调整
SQL> select count() from v$open_cursor;
SQL> alter system set open_cursors=500 scope=spfile sid=’
’;
7.1.3【OK】Dblink数量
SQL>alter system set open_links=24 scope=spfile sid=’’;
7.1.4【OK】Datafiles数量
SQL> alter system set db_files=2000 scope=spfile sid=’
’;
System altered.
7.1.5【OK】关闭oracle 11g日志审计功能
SQL> show parameter audit;
SQL> alter system set audit_trail=NONE scope=spfile sid=’*’;
由于安全审计自动开启,产生的审计log没有定时清理,在审计没有专门人负责情况下,临时先禁用;
su - oracle
Sqlplus / as sysdba
SQL> noaudit all;
–SQL> noaudit ALTER DATABASE;
–SQL> noaudit CREATE PUBLIC DATABASE LINK;
–SQL> noaudit ALTER PROFILE;
–SQL> noaudit DROP PROFILE;
–SQL> noaudit CREATE USER;
–SQL> noaudit ALTER USER;
–SQL> noaudit DROP USER;
–SQL> noaudit GRANT ANY ROLE;
–SQL> noaudit GRANT ANY PRIVILEGE;
–SQL> noaudit GRANT ANY OBJECT PRIVILEGE;
–SQL> noaudit CREATE ANY JOB;
–SQL> noaudit CREATE EXTERNAL JOB;
SQL> noaudit CREATE ANY TABLE;
SQL> noaudit ALTER ANY TABLE;
SQL> noaudit DROP ANY TABLE;
SQL> noaudit CREATE ANY PROCEDURE;
SQL> noaudit ALTER ANY PROCEDURE;
SQL> noaudit DROP ANY PROCEDURE;
SQL> noaudit CREATE ANY LIBRARY;
SQL> noaudit EXEMPT ACCESS POLICY;

SQL> truncate table AUD$;
注:以上“—”注释的内容表示暂时保留对重要操作的审计;
7.1.6【OK】关闭大小写敏感
alter system set SEC_CASE_SENSITIVE_LOGON=FALSE scope=spfile sid=’’;
注:以上“—”注释的内容表示暂时保留对重要操作的审计;
7.1.7【OK】关闭大小写敏感
alter system set SEC_CASE_SENSITIVE_LOGON=FALSE scope=spfile sid=’
’;
服务端字符集:SQL> select userenv(‘language’) from dual;
7.1.8【OK】密码输入错误次数
select * from dba_profiles where resource_name like ‘FAILED_LOGIN_ATTEMPTS%’;
服务端字符集:SQL> select userenv(‘language’) from dual;
7.1.9【OK】修改默认的错误登录次数,为不限制(为安全起见,不建议使用)
SQL> alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS UNLIMITED;
SQL>alter profile default limit failed_login_attempts 20;    //修改为20次
7.1.10【OK】解锁用户方式:
登陆sys用户,执行解锁命令
SQL> alter user test account unlock;
User altered.
SQL> conn test/password
Connected.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值