安装环境:
操作系统:CentOS6.5_x64 Desktop
主机名:Oracledb
内存:1G(官方最低要求1G)
硬盘:40G(企业版安装所需4.29G和1.7G数据文件)
安装前系统准备:
#修改主机名
[root@oracledb ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
[root@oracledb ~]# hostname oracledb
#添加主机名与IP对应记录
[root@oracledb ~]# vi /etc/hosts
192.168.1.160 oracledb
#关闭Selinux
[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[root@oracledb ~]# setenforce 0
1、安装依赖包
[root@oracledb ~]# 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、创建用户和组
[root@oracledb ~]# sysctl -p
[root@oracledb ~]# groupadd -g 200 oinstall
[root@oracledb ~]# groupadd -g 201 dba
[root@oracledb ~]# useradd -u 440 -g oinstall -G dba oracle
[root@oracledb ~]# passwd oracle
3、修改内核参数
[root@oracledb ~]# 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、修改系统资源限制
[root@oracledb ~]# vi /etc/security/limits.conf #末尾添加如下
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
[root@oracledb ~]# vi /etc/pam.d/login
session required pam_namespace.so #下面添加一条pam_limits.so
session required pam_limits.so
123456789 [root@oracledb ~]# 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、创建安装目录及设置权限
[root@oracledb ~]# mkdir -p /opt/oracle/app/
[root@oracledb ~]# mkdir -p /opt/oracle/oradata/
[root@oracledb ~]# chmod 755/opt/oracle/
[root@oracledb ~]# chmod 775/opt/oracle/app/
[root@oracledb ~]# chown oracle:oinstall -R /opt/oracle/
6、设置oracle环境变量
#su oracle
[oracle@oracledb ~]$ vi ~/.bash_profile
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=/opt/oracle/app/oracle/product/11.2.0/dbhome_1
export PATH=/opt/oracle/app/oracle/product/11.2.0/dbhome_1/bin:$PATH
export ORACLE_SID=orcl
export ORACLE_PID=orcl
[oracle@oracledb ~]$ source .bash_profile #立即生效
7、安装oracle
下载并解压:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
[root@oracledb~]# unzip /media/linux.x64_11gR2_database_1of2.zip
[root@oracledb~]# unzip /media/linux.x64_11gR2_database_2of2.zip
[root@oracledb~]# su oracle
[oracle@oracle~]#./media/database/runInstaller
#输入接受一些安全问题的邮件地址
# 选择安装数据库软件并创建数据,也可以选择第二项仅安装数据库软件
#选择服务器版本
#单实例数据库
#高级模式安装
#添加支持的语言
#选择要安装的版本
#安装数据库目录
#数据库名及服务名
#开启自动内存管理
#设置默认编码为UTF8
#启用Oracle企业管理控制台OEM
#选择数据库文件目录
#自动备份设置
#设置数据库用户名和密码
#授权的组
#检查Oracle一些安装要求,包都已经安装,直接忽略
ftp://ftp.pbone.net/mirror/archive.download.redhat.com/pub/redhat/linux/6.1/en/os/i386/RedHat/RPMS/pdksh-5.2.14-1.i386.rpm
#开始安装
#安装完成
#安装完成后,会出来一个对话框,提示使用root用户执行这两个脚本
[root@oracledb ~]$ /opt/oracle/oraInventory/orainstRoot.sh
[root@oracledb ~]$ /opt/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh
$cd ~
$vi .bashrc
增加以下环境配置内容:
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=/opt/oracle/app/oracle/product/11.2.0/dbhome_1
export PATH=/opt/oracle/app/oracle/product/11.2.0/dbhome_1/bin:$PATH
export ORACLE_SID=orcl
export PS1='[\u@\h \W]\$'
export ORACLE_PID=orcl
:wq
$source .bashrc
$reboot
9、Oracle常用命令
[root@oracledb ~]# su oracle
[oracle@oracledb ~]# 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 #查看视图信息
[root@oracledb ~]# lsnrctl start #开启远程监听端口
###远程连接信息
10、oracle用户
#sys和system用户区别
1>.存储数据重要性不同
sys存放数据字典的基表和视图,由数据库自己维护,任何用户都不能手动更改,sys用户拥有dba、sysdba、sysoper等角色或权限,是oracle权限最高用户。
而system用户只存放一些一级的内部数据,如oracle的一些特性或工具的管理信息。用于数据库管理,System用户拥有普通dba角色权限。
2>.权限不同
sys用户具有sysdba或sysoper系统权限,登录em也只能用这两个身份,不能用normal。
system用户只能用normal身份登录em,除非你对它授予了sysdba的系统权限或syspoer系统权限。
#sysdba和sysoper两个系统权限区别
normal是普通用户
sysdba拥有最高的系统权限,登录后是sys
sysoper主要用来启动、关闭数据库,sysoper登录后用户是public
#dba和sysdba的区别
先了解下oracle服务的创建过程:创建实例 --> 启动实例 --> 创建数据库
启动过程:实例启动 --> 装载数据库 --> 打开数据库
sysdba是管理oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,它就已经存在,以sysdba身份登录,装载数据库,打开数据库。只有数据库打开了,或者整个数据库完全启动后,dba角色才有存在的基础。