Centos7-Oracle11g安装小记
注意事项:安装的过程可能遇到假死现象,直接回车即可
如果遇到中文乱码:
新建一个目录,上传字体包zysong.ttf到新建的目录,命令如下:
#mkdir –p /usr/share/fonts/zh_CN/TrueType
#cd /usr/share/fonts/zh_CN/TrueType
#chmod –R 75 zysong.ttf
配置系统变量为zh_CN.UTF-8,如下图所示:
一:准备工作
1、关闭selinux
查看selinux状态:getenforce 或者sestatus -v
临时关闭:setenforce 0
永久关闭:vim /etc/selinux/config 设置SELINUX=disabled
2、关闭firewalld 安装iptables
systemctl stop firewalld.service
systemctl disable firewalld.service
yum -y install iptables-services
systemctl restart iptables.service
systemctl enable iptables.service
二:创建Linux用户及安装目录,安装依赖包
1、创建用户
[root@oracledb ~] groupadd oinstall
[root@oracledb ~] groupadd dba
[root@oracledb ~] useradd -g oinstall -G dba -m oracle
[root@oracledb ~] passwd oracle
2、创建安装目录,解压文件
[root@oracledb ~] mkdir -p /ora/oracle
[root@oracledb ~] unzip -d /ora/ linux.x64_11gR2_database_1of2.zip
[root@oracledb ~] unzip -d /ora/ linux.x64_11gR2_database_2of2.zip
[root@oracledb ~] chown -R oracle:oinstall /ora
[root@oracledb ~] chmod 755 -R /ora
上面是准备安装到根下ora目录,网上很多说要给777权限,但是个人总感觉777权限过高,测试发现755就足够。
3、各个目录的作用
[root@oracledb ora] ll
total 16
drwxr-xr-x 8 oracle oinstall 4096 Aug 21 2009 database #解压安装程序后自动生成的安装包目录
drwxr-xr-x 9 oracle oinstall 4096 Apr 26 16:43 oracle #oracle数据库安装目录
drwxrwx— 5 oracle oinstall 4096 Apr 26 16:29 oraInventory #默认安装日志存放目录(安装后生成)
3、安装oracle所需依赖和桌面组件,桌面组件有700多MB
[root@oracledb ~] yum -y install binutils compat compat-libstdc gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc+±devel libXi libXtst make sysstat unixODBC unixODBC-devel
[root@oracledb ~] yum -y groupinstall “GNOME Desktop” “Graphical Administration Tools”
三:修改系统内核等设置
1、将服务器名写入到hosts文件,可以测试ping sername 是否返回127.0.0.1
[root@oracledb ~] echo ‘127.0.0.1 oracledb localhost localhost.localdomain’ >> /etc/hosts
[root@oracledb ~] ping -c 3 oracledb
PING oracledb (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.030 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.043 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.041 ms
— oracledb ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.030/0.038/0.043/0.005 ms
2、修改内核(/etc/sysctl.conf),增加或修改以下内容(可以不改)
内核参数需要注意,shmall 和shmmax 的值由服务器内存决定。(不过这个参数设置博主我现在也是一知半解,没完全搞明白,查了半天意思如下:)
kernel.shmall :
该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB/4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304 符合要求。
kernel.shmmax:
是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,例如,如果为16GB物理内存,可取1610241024*1024-1=17179869183。
kernel.shmmni:
该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。
kernel.sem = 250 32000 100 128 的意思是:
250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。
32000是参数semmns的值,表示系统内可允许的信号量最大数目。
100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。
128是参数semmni的值,表示系统信号量集合总数。
3、以下适用于8G内存左右服务器配置,12G或者16G以上建议调整
[root@oracledb ~] vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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
4、完成后使用命令
[root@oracledb ~] sysctl -p
5、修改认证模块
[root@oracledb ~] vim /etc/security/limits.conf
oracle soft nproc 131072
oracle hard nproc 131072
oracle soft nofile 131072
oracle hard nofile 131072
oracle soft core unlimited
oracle hard core unlimited
oracle soft memlock 50000000
oracle hard memlock 50000000
6、修改用户登录认证
[root@oracledb ~] vim /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
注意了,很多博文都是照搬抄袭,都是写的/lib/security/pam_limits.so 一般咱都是64位系统,64位系统需要设置为/lib64/security/pam_limits.so 否则重启服务器后就会出现命令行无法登录,但是通过桌面方式能登录的情况。
7、设置环境变量(ORACLE_HOME 设置为安装目录product下默认目录)
[root@oracledb ~] vim /etc/profile
#oracle
export ORACLE_HOME=/ora/oracle/product/11.2.0/db_1
export ORACLE_SID=orcl
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
8、修改Oracle用户环境变量
[root@oracledb ~] vim /home/oracle/.bash_profile
export ORACLE_BASE=/ora/oracle
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
O
R
A
C
L
E
S
I
D
=
o
r
c
l
e
x
p
o
r
t
O
R
A
C
L
E
T
E
R
M
=
x
t
e
r
m
e
x
p
o
r
t
P
A
T
H
=
ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=orcl export ORACLE_TERM=xterm export PATH=
ORACLEBASE/product/11.2.0/db1exportORACLESID=orclexportORACLETERM=xtermexportPATH=ORACLE_HOME/bin:/usr/sbin:
P
A
T
H
e
x
p
o
r
t
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
PATH export LD_LIBRARY_PATH=
PATHexportLDLIBRARYPATH=ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
四:通过桌面方式安装Oracle
1、使用oracle用户登录桌面,打开终端运行安装程序
[root@oracledb ~] cd /ora/database
[root@oracledb ~] ./runInstaller
如果出现不能显示弹出框的情况 可以使用
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0 来执行
注意:oracle中文语言会出现乱码,所以系统最好设置为en 英文,如果系统安装的时候选择了中文,那么oracle用户登录的时候也要修改用户语言为英文才能正常安装。
五:停止、重启oracle监听
1、Linux下以Oracle帐户进入Linux系统。
2、执行以下命令查看数据库监听器的状况:
lsnrctl status
3、执行以下命令停止数据库监听器运行:
lsnrctl stop
4、执行以下命令进入SQLPlus:
sqlplus /nolog
conn /as sysdba
shutdown immediate
5、执行以下命令退出SQLPlus:
Exit
6、启动,查看数据库监听器:
lsnrctl start
lsnrctl status
7、启动Oracle数据库:
sqlplus /nolog
conn /as sysdba
startup
window下进入sqlplus 命令:sqlplus / as sysdba
Linux下进入sqlplus 命令:sqlplus “/as sysdba”
六、建立用户
//创建临时表空间 select name from v$tempfile;来查看该路径
create temporary tablespace test tempfile’/ora/oracle/oradata/orcl/test.dbf’ size 1024m autoextend on next 100m maxsize 10240m extent management local;
//创建数据表空间
create tablespace demo logging datafile’/ora/oracle/oradata/orcl/demo.dbf’ size 1024m autoextend on next 100m maxsize 10240m extent management local;
//创建用户并指定表空间
create user testuser identified by testuser default tablespace demo;
//权限
grant dba,connect,resource,create view to testuser;
grant select any table to testuser;
grant update any table to testuser;
grant insert any table to testuser;
grant delete any table to testuser;