说明
在Vmware虚拟机上搭建的环境,安装过程中,也遇到了几个问题,此处不详细说明,下一篇专门总结遇到的问题及解决方法。
系统及环境
操作系统: Centos7.0
数据库版本:Oracle11G R2
系统内存:3G
硬盘:40G
安装准备
修改主机名
# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=Oracletest/" /etc/sysconfig/network
# hostname Oracletest
添加主机名与IP对应记录
# vi /etc/hosts
10.1.23.186 Oracletest
#关闭Selinux
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
# setenforce 0
安装步骤
1、安装依赖包
# yum -y install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-commonglibc-devel
libaio libaio-devel libgcclibstdc++ libstdc++-devel unixODBC unixODBC-devel
2、创建用户和组
# groupaddoinstall
# groupadd dba
# useradd oracle-g oinstall -d /home/oracle
# usermod -G dbaoracle
# passwd oracle
3、修改内核参数
# vi/etc/sysctl.conf #末尾添加如下
net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
4、修改系统资源限制
# vi/etc/security/limits.conf #末尾添加如下
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
# vi/etc/pam.d/login
session required pam_namespace.so #下面添加一条pam_limits.so
session required pam_limits.so
# vi/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
5、创建安装目录及设置权限
# mkdir /opt/oracle/app/
# mkdir /opt/oracle/oradata/
# chmod 755/opt/oracle/
# chmod 775/opt/oracle/app/
# chown oracle.oinstall -R /opt/oracle/
6、设置oracle环境变量(以oracle用户登录设置)
$ vi ~/.bash_profile
ORACLE_BASE=/opt/oracle/app
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
PATH=$PATH:$ORACLE_HOME/bin
ROACLE_SID=orcl
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
LANG="zh_CN.UTF-8"
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH LANG
$ source .bash_profile #立即生效
7、安装oracle
下载并解压:(下载去oracle官网下载即可,下载步骤略)
#cd /opt/soft
# unzip linux.x64_11gR2_database_1of2.zip
# unzip media/linux.x64_11gR2_database_2of2.zip
# xhost + #使所有用户都能访问图形桌面
# su - oracle
# cd /opt/soft/databases
# ./runInstaller
配置安全更新页面,点击下一步 (注意:此处安装界面出来的时候,有的可能是乱码【出现各种方格子】,主要和语言环境,字体等有关系,可以安装中易宋体18030,可以解决乱码问题;或者直接设置LANG为英文环境,在英文下安装也可)
确认不提供电子邮件地址,点击是进行下一步
选择创建和配置数据库,点击下一步
选择服务器类,点击下一步
选择单实例数据库安装,点击下一步
选择高级安装,点击下一步
默认产品语言‘简体中文’‘英文’
企业版
指定安装位置
输入全局数据库名和 SID
字符集选择‘ZHS16GBK’
执行先决条件检查页面,点击修补并再次检查
失败内容仅包含操作系统内核参数,点击‘修补并再次检查’。
(注意:此处如果你有缺少包未通知,你只需要安装相应的包32位和64位都要安装,安装完成后,再次检查还是不能通过,那么你可以直接全部忽略,直接下一步)
执行修复脚本,点击确定进行下一步
以 root 用户执行以下命令:
1)cd /tmp/CVU_11.2.0.1.0_oracle/
2)./runfixup.sh
安装概要页面,点击完成开始安装
安装产品
数据库创建完成,点击确定进行下一步
执行配置脚本,点击确定进行下一步
以 root 用户执行以下命令:
1)cd /opt/app/oraInventory/
2)./orainstRoot.sh
3)cd /opt/app/oracle/product/11.2.0/db_1/
4)./root.sh(当出现 Enter the full pathname of the local bin directory:[/usr/local/bin]: 时点击回车键)
oracle常用命令
# su – oracle
sqlplus / as sysdba
SQL> startup #启动数据库实例
SQL> shutdown immediate #关闭数据库实例
SQL> select * from tab; #查看所有表
SQL> select name from v$datafile #查看数据库存放目录
SQL> show parameter service #查看服务名
SQL> select * from v$instance; #查看实例名
SQL> select name from v$database; #查看数据库名
SQL> select * fromdba_users; #查看所有用户信息
SQL> select username,password from dba_users; #只查询用户和密码
SQL> select * fromv$pwfile_users; #查看具有sysdba权限的用户
SQL> select * fromdba_ustats; #查看当前用户信息
SQL> select * fromuser_sys_privs #查看当前用户系统权限
SQL> select * fromuser_role_privs #查看当前用户角色
SQL> select * fromdba_sys_privs #查看指定用户所具有的系统权限
SQL> select * fromv$version #查看oracle版本
SQL> select * fromuser_views #查看视图信息
lsnrctl start #开启远程监听端口
10、oracle用户和system用户区别
1>.存储数据重要性不同
存放数据字典的基表和视图,由数据库自己维护,任何用户都不能手动更改,sys用户拥有dba、sysdba、sysoper等角色或权限,是oracle权限最高用户。
而system用户只存放一些一级的内部数据,如oracle的一些特性或工具的管理信息。用于数据库管理,System用户拥有普通dba角色权限。
2>.
用户具有sysdba或sysoper系统权限,登录em也只能用这两个身份,不能用normal。
system用户只能用normal身份登录em,除非你对它授予了sysdba的系统权限或syspoer系统权限。
#sysdba和sysoper两个系统权限区别
normal是普通用户
sysdba拥有最高的系统权限,登录后是sys
sysoper主要用来启动、关闭数据库,sysoper登录后用户是public
和sysdba的区别
先了解下oracle服务的创建过程:–> –> 创建数据库
启动过程:实例启动 –> 装载数据库 –> 打开数据库
sysdba是管理oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,它就已经存在,以sysdba身份登录,装载数据库,打开数据库。只有数据库打开了,或者整个数据库完全启动后,dba角色才有存在的基础。
转载于:https://blog.51cto.com/pizibaidu/1613521