赞
踩
Oracle 11g安装包:
百度云链接:https://pan.baidu.com/s/1eVnOtliqTCw0cyrIg7T8sA
关注公众号 “akim同学” 回复 “Oracle_11g安装包” 即可获得网盘分享密码
# 关闭selinux
setenforce 0
sed -i '/SELINUX/{s/enforcing/disabled/}' /etc/selinux/config
# 关闭防火墙,禁止开机启动
systemctl disable firewalld.service
systemctl stop firewalld.service
# 安装X Window System和GNOME Desktop
yum groupinstall -y “X Window System” "GNOME Desktop"
# 启用图形化界面
startx
systemctl get-default
,该命令查看当前是那种模式.
systemctl set-default graphical.target
,开机启动图形界面.
systemctl set-default multi-user.target
,开机启动字符界面模式.
reboot
,重启系统之后才会生效哟~
yum -y install elfutils-devel unixODBC* unixODBC.i686 unixODBC-devel.i686 binutils.x86_64 compat-libcap1.x86_64 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 vim epel-release lrzsz unzip xorg*
yum -y update
swap分区有两种方式,一种是新建磁盘分区作为swap分区,另一种是用文件作为Swap分区。这里使用的是后者,想用前者的可以参考–>这个链接<–。
SWAP空间大小建议值:
物理内存大小(RAM) | SWAP空间大小 |
---|---|
2GB~8GB | 2倍于RAM |
8GB~32GB | 1.5倍于RAM |
32GB以上 | 32GB |
# 创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)
dd if=/dev/zero of=/root/swapfile bs=1M count=8192
# 格式化为交换分区文件,建立swap的文件系统
mkswap /root/swapfile
# 启用交换分区文件
swapon /root/swapfile
# 使系统开机时自启用,在文件/etc/fstab中添加一行
/root/swapfile swap swap defaults 0 0
# 查看Swap分区大小
grep SwapTotal /proc/meminfo
vim /etc/sysctl.conf
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 1048576
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
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
内核参数的详解:
kernel.shmmax
查看linux服务器的位数:getconf LONG_BIT
32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。若物理内存大于4GB,也取4GB-1byte。
64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12x1024x1024x1024-1=12884901887,SGA肯定会包含在单个共享内存段中,而我这里是4G,所以是4x1024x1024x1024-1=4294967295。
kernel.shmall
查看系统默认的值:getconf PAGESIZE
默认是4096(字节4K一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB÷4KB=16777216KB÷4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求。
运行命令进行参数修改
/sbin/sysctl -p
检查参数是否生效
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep aio-max-nr
/sbin/sysctl -a | grep net.ipv4.ip_local
/sbin/sysctl -a | grep rmem
/sbin/sysctl -a | grep wmem
vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
vim /etc/pam.d/login
session required pam_limits.so
vim /etc/pam.d/su
session required pam_limits.so
vim /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -u 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
创建dba组
/usr/sbin/groupadd -g 200 dba
创建oinstall组
/usr/sbin/groupadd -g 201 oinstall
创建oracle用户
/usr/sbin/useradd -u 300 -g oinstall -G dba -d /home/oracle -s /bin/bash -m oracle
修改oracle用户密码
passwd oracle
创建目录/opt/oracle
,并赋权
mkdir /opt/oracle
chown -R oracle:oinstall /opt/oracle
chmod -R 775 /opt/oracle
创建目录/opt/oraadm
,并赋权
mkdir /opt/oraadm
chown -R oracle:dba /opt/oraadm
chmod -R 770 /opt/oraadm
创建目录/usr/local/bin
,并赋权(检查/usr/local/bin目录是否存在,如不存在则需创建该目录,并赋予755权限)
mkdir /usr/local/bin
chmod 755 /usr/local/bin
ll /usr/local |grep bin
赋权/tmp目录权限(检查/tmp是否具有1777权限,如不具备则赋予/tmp目录1777权限)
chmod 1777 /tmp
ll / |grep tmp
ORACLE_BASE,ORACLE_HOME,ORACLE_SID,NLS_LANG请根据实际情况进行设置。
ORACLE_SID唯一的标识一个实例,一般以数据库名加上实例号为命名规范,例如:有两个实例,数据库名称为suseora,实例1命名为suseora1,实例2命名为suseora2,依次类推,这里_数据库实例设置为orcl_。
NLS_LANG格式为区域_语言.字符集,字符集必须和数据库保持一致。
# 切换到oralce用户
su oralce
# 编辑用户环境变量
vim .bash_profile
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/11gR2/db
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib
export LD_LIBRARY_PATH
SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib
export SHLIB_PATH
# Set shell search paths:
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH:/usr/local/bin
# CLASSPATH must include the following JRE locations:
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
# 执行变量环境生效命令
source .bash_profile
# 执行命令,确认环境变量
env
远程拷贝
scp root@192.168.31.4:/data/Softwares/linux-oracle-11g/linux.x64_11gR2_database_1of2.zip /opt/oraadm/
scp root@192.168.31.4:/data/Softwares/linux-oracle-11g/linux.x64_11gR2_database_2of2.zip /opt/oraadm/
解压
cd /opt/oraadm
unzip /opt/oraadm/linux.x64_11gR2_database_1of2.zip
unzip /opt/oraadm/linux.x64_11gR2_database_2of2.zip
chmod 770 -R /opt/oraadm/database
chown oracle:dba -R /opt/oraadm/database
mkdir /opt/oraadm/grid
chmod 770 -R /opt/oraadm/grid
chown oracle:dba -R /opt/oraadm/grid
mkdir /opt/oraInventory
chown oracle:oinstall /opt/oraInventory
chmod 770 /opt/oraInventory
yum install xorg-x11-xauth.x86_64
yum install xterm
yum install xclock
# 配置DISPLAY变量
vim /etc/profile
export DISPLAY=:0.0
使用oracle用户登录图形化界面,执行/opt/oraadm/database/runInstaller
启动安装程序
取消配置安全更新
选择安装方式,选择“Install database software only”,单击“NEXT”。
指定安装类型,选择“Single instance database installation”
选择安装语言,这里我只选择了英文,如果想选中文的话可以在左侧栏寻找后添加
选择软件版本,选择“Enterprise Edition”,单击“Next”。
指定安装目录
Oracle Base中填写“/opt/oracle”,即oracle用户的环境变量ORACLEBASE。
SoftwareLocation中填写“/opt/oracle/product/11gR2/db”,即oracle用户的环境变量ORACLE_BASE。
这里默认即可,安装时的路径和组设置
设置操作系统用户组,Database Administrator Group 选择“dba”,Database Operator Group 选择“dba”,单击“Next”。
安装概要检查结果:对于shmall问题:点击fix and check again,打开新的终端按照步骤进行,然后点击OK,继续检查。
安装概要检查,检查没有问题,单击“Install”按钮进行安装。由于系统中已经存在更新的软件包,而对于semmni,在内核设置处已经设置,所以以下错误可以忽略。
确认没有问题之后可以点击“Finish”进行正式安装
安装中。。。。
安装完成
解决方案:
切换回oracle用户,修改/opt/oracle/product/11gR2/db/ctx/lib/ins_ctx.mk
文件中的配置
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
解决方案:
需要修改,/opt/oracle/product/11gR2/db/sysman/lib/ins_emagent.mk
文件中的配置,将文件中的
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL)
修改为
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL) -lnnz11
解决方案:
根据提示执行脚本即可
使用oracle用户登录图形化界面,执行netca
启动NETCA,选择“Listener configuration”。
因为没有端口,所以默认选择添加“Add”即可
默认的端口名称
选择TCP
选择端口范围1500-1600,这里默认使用1521
是否添加其他的监听端口,这里选“No”不添加
到这里就完成了,直接“Next”->"Finsh"即可
使用oracle用户登录图形化界面,执行dbca
启动DBCA
填写数据库名
oracle的权限分为系统权限和对象权限。
系统权限可以让用户执行特定的指令,比如创建用户create table创建表,grant any privilege为用户赋予任何系统权限。
对象权限指的是用户可以对各个对象进行操作,delete允许用户删除表或视图的行,select允许用户从表或视图、序列(sequences)与快照(snapshots)查询信息。
每个oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。
oracle内部有两个建好的用户:system和sys。用户可直接登录到system用户以创建其他用户,因为system具有创建别的用户的权限。 在安装oracle时,用户或系统管理员首先可以为自己建立一个用户。
语法[创建用户]: create user 用户名 identified by 口令[即密码];
例子: create user test identified by test;
语法[更改用户]: alter user 用户名 identified by 口令[改变的口令];
例子: alter user test identified by 123456;
语法:drop user 用户名;
例子:drop user test;
若用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户。
语法:drop user 用户名 cascade;
例子:drop user test cascade;
oracle为兼容以前版本,提供三种标准角色(role):connect、resource和dba.
connect role(连接角色)
临时用户,特指不需要建表的用户,通常只赋予他们connect role.
connect是使用oracle简单权限,这种权限只对其他用户的表有访问权限,包括select/insert/update和delete等。
拥有connect role 的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、回话(session)和其他数据的链(link)
resource role(资源角色)
更可靠和正式的数据库用户可以授予resource role。
resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。
dba role(数据库管理员角色)
dba role拥有所有的系统权限
包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有
语法:grant connect, resource to 用户名;
例子:grant connect, resource to test;
用户:创建用户必须为其指定表空间,如果没有显性指定默认表空间,则指定为users表空间;创建用户后,可以在用户上,创建表、存储过程等等其他数据库对象;
表:是数据记录的集合;
创建过程: 表空间—>用户—>表;
所属关系: 表空间 包含 用户 包含 表;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。