CentOS 6.5 安装Oracle 11g R2

一、安装前系统准备:
1、#修改主机名
[root@oracledb ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network

[root@oracledb ~]# hostname oracledb

2、#添加主机名与IP对应记录
[root@oracledb ~]# vi /etc/hosts 
192.168.90.179    oracledb

3、#关闭Selinux
[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config  
[root@oracledb ~]# setenforce 0

4、安装依赖包
[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

5、创建用户和组
[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

6、修改内核参数
[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

7、修改系统资源限制

[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

8、创建安装目录及设置权限

[root@oracledb ~]# mkdir /opt/oracle/app/ 
[root@oracledb ~]# mkdir /opt/oracle/oradata/ 
[root@oracledb ~]# chmod 755/opt/oracle/ 
[root@oracledb ~]# chmod 775/opt/oracle/app/ 
[root@oracledb ~]# chown oracle.oinstall -R /opt/oracle/

9、设置oracle环境变量

[oracle@oracledb ~]$ vi ~/.bash_profile 
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export   ORACLE_SID=orcl 
[oracle@oracledb ~]$ source .bash_profile  #立即生效

10、安装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~]# xhost +  #使所有用户都能访问图形桌面 
[root@oracledb~]# su –oracle 
[oracle@oracle~]#./media/database/runInstaller

#输入接受一些安全问题的邮件地址







#安装完成后,会出来一个对话框,提示使用root用户执行这两个脚本

[root@oracledb ~]$ /opt/oracle/oraInventory/orainstRoot.sh 
[root@oracledb ~]$ /opt/oracle/app/product/11.2.0/dbhome_1/root.sh

备注:Sql plus命令报command not found的解决

分析和解决
这种情况应该是路径的问题,应该Oracle刚刚安装成功的,而且安装过程中没有出现异常。
我echo $oracle_home为空,echo $path也为空,问题就出在这里了。
然后我
export ORACLE_HOME=<your Oracle Home>
export PATH=$ORACLE_HOME/bin:$PATH
再次运行Sqlplus命令,ok,可以了。


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角色才有存在的基础。

经过这次的安装,刚接触Oracle的朋友们,已经不再对Oracle陌生了吧!









猜你喜欢

转载自blog.csdn.net/lynharry/article/details/79065909