Oracle 11g是Oracle公司推出的一个数据库管理系统的版本,即Oracle Database 11g Release 1,发布于2007年。它是 Oracle 公司数据库产品线中的一个重要里程碑,引入了许多新特性和改进

env

  • centos6.5
  • oracle11g

1.配置yum源

建议配置本地yum源

2.建议关闭防火墙、selinux、添加主机名对应关系

iptables selinux /etc/hosts ip xxx

3.安装需求包

yum install -y gcc gcc-c++ make binutilscompat- libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel 
libaio libaio-devel libgcclibstdc++ libstdc++-devel unixODBC unixODBC-devel libX*

4.创建用户和组

groupadd oinstall
groupadd dba
groupadd oper

useradd -g oinstall -G dba,oper oracle
passwd oracle

5.修改内核参数

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

# 刷新内核参数立即生效
sysctl -p 

6.修改系统资源限制

vi + /etc/security/limits.conf #末尾添加如下 
oracle  soft  nproc   1024000 
oracle  hard  nproc   1024000
oracle  soft  nofile  1024000
oracle  hard  nofile  1024000
oracle  soft  stack   1024000

7.目录权限

/home/oracle
chown -R oracle.oinstall /home/oracle
chmod  755 /home/oracle/database      //database是oracle安装文件

8.设置oracle环境变量

$cd /home/oracle
$vi .bash_profile

export ORACLE_UNQNAME=DB11G
export ORACLE_SID=DB11G
export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
exprot PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

source .bash_profile

9.建议配置完毕重启系统,用oracle用户登录shell

xhost +
DISPLAY=IP:0.0

测试图形化 gedit  xeyes xclock

$./runInstaller进入图形化安装界面,直到完成

10.启动oracles数据库及实例

# 启动服务监听及数据库
#> lsnrctl start
#> sqlplus /nolog
sql> conn / as sysdba
sql> startup
sql> quit
#> emctl start dbconsole

# 停止服务
#> lsnrctl stop
#> emctl stop dbconsole
#> sqlplus /nolog
sql> conn / as sysdba
sql> shutdown immediate
sql> quit

默认数据库管理URL
https://ip:1158/em

配置数据库实例dbca,配置监听netca

11.Oracle常用命令

[root@oracledb ~]# su –oracle
[oracle@oracledb ~]# sqlplus / as sysdba  // sqlplus / nolog

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 * from dba_users; #查看所有用户信息
SQL> select username,password from dba_users; #只查询用户和密码
SQL> select * from v$pwfile_users; #查看具有sysdba权限的用户
SQL> select * from dba_ustats; #查看当前用户信息
SQL> select * from user_sys_privs #查看当前用户系统权限
SQL> select * from user_role_privs #查看当前用户角色
SQL> select * from dba_sys_privs #查看指定用户所具有的系统权限
SQL> select * from v$version #查看oracle版本
SQL> select * from user_views #查看视图信息
[root@oracledb ~]# lsnrctl start #开启远程监听端口

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

13.脚本启动实例及数据库

1
2
3
4
5
6
7
8
9
#!/bin/sh

# startdb
su - oracle <<EOF
export ORACLE_SID=test
sqlplus / as sysdba
startup
quit
EOF