Chinaunix首页 | 论坛 | 博客
  • 博客访问: 136461
  • 博文数量: 43
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 501
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-24 15:28
文章分类

全部博文(43)

文章存档

2015年(18)

2014年(25)

我的朋友

分类: LINUX

2014-11-26 09:35:00

安装环境:
操作系统: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

[root@oracledb ~]# vi /etc/hosts                  #添加主机名与IP对应记录
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 binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-commong libc-devel
libaio libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel
2、创建用户和组

[root@oracledb ~]# groupadd -g 200 oinstall
[root@oracledb ~]# groupadd -g 201 dba
[root@oracledb ~]# useradd -u 440 -g oinstall -G dba oracle   #新建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

[root@oracledb ~]# sysctl -p                   #使修改的内核参数生效
 
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


[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/         #创建oracle安装目录
[root@oracledb ~]# mkdir -p /opt/oracle/oradata/     #创建oracle数据存放目录
[root@oracledb ~]# chmod 755 /opt/oracle/            #给创建的目录赋权
[root@oracledb ~]# chmod 775 /opt/oracle/app/
[root@oracledb ~]# chown oracle.oinstall -R /opt/oracle/

6、设置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  #立即生效

7、安装oracle

下载并解压:

[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


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 * 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 #开启远程监听端口
[root@oracledb ~]# netca         #配置监听
[root@oracledb ~]# netmgr        #配置网络服务



设置oracle 开启启动:(默认不会开机启动)

1.user root 下面修改:
[root@ora11gr2 ~]# vi /etc/oratab  
mytest:/apps/oracle/product/11.2.0.1/db_1:Y
 
将N该为Y
 
2.user oracle 下面修改:
[root@ora11gr2 ~]# su - oracle
[oracle@ora11gr2 ~]$cd $ORACLE_HOME/bin
[oracle@ora11gr2 bin]$ vi dbstart
找到 ORACLE_HOME_LISTNER=$1  这行, 修改成:
ORACLE_HOME_LISTNER=/apps/oracle/product/11.2.0.1/
或者直接修改成:
ORACLE_HOME_LISTNER=$ORACLE_HOME
 
同样道理修改 dbshut
[oracle@ora11gr2 bin]$ vi dbshut
 
测试运行 dbshut, dbstart 看能否启动oracle 服务及listener服务
[oracle@ora11gr2 bin]$ ps -efw | grep ora_
[oracle@ora11gr2 bin]$ lsnrctl status
[oracle@ora11gr2 bin]$ ps -efw | grep LISTEN | grep -v grep
 
在切换回 user root:
[root@ora11gr2 ~]# cd /etc/rc.d/init.d/
[root@ora11gr2 init.d]# vi oracle       //新建oracle服务脚本
代码如下:

    #!/bin/bash
    # chkconfig: 345 99 10
    # description: Startup Script for Oracle Databases
    # /etc/init.d/oracle11g
    export ORACLE_SID=orcl
    # export ORACLE_HOME_LISTNER=/apps/oracle/product/11.2.0.1/db_1/bin/
    export ORACLE_BASE=/opt/oracle/app
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
    export PATH=$PATH:$ORACLE_HOME/bin
    case "$1" in
    start)
    su oracle -c $ORACLE_HOME/bin/dbstart
    touch /var/lock/oracle
    echo "OK"
    ;;
    stop)
    echo -n "Shutdown Oracle: "
    su oracle -c $ORACLE_HOME/bin/dbshut
    rm -f /var/lock/oracle
    echo "OK"
    ;;
    *)
    echo "Usage: 'basename $0' start|stop"
    exit 1
    esac
    exit 0


赋予脚本可执行权限:

[oracle@localhost init.d]$ chmod 750 /etc/init.d/oracle



需要在关机或重启机器之前停止数据库,做一下操作:
# ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle  //关机
# ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle  //重启


加入开机启动服务:

[oracle@localhost init.d]$ chkconfig --level 345 oracle on
[oracle@localhost init.d]$ chkconfig --add oracle



使用方法
# service oracle start //启动oracle
# service oracle stop //关闭oracle
# service oracle restart //重启oracle




Linux 下修改Oracle 的字符集:WE8ISO8859P1 修改为 ZHS16GBK   

首先 sqlplus登录后,关闭oracle数据库
(先执行,后导库)
//第一种方法
1.shutdown immediate ;    
2.startup mount ;    
3.alter  system enable restricted session ;     
4.alter  system  set  JOB_QUEUE_PROCESSES=0;     
5.alter  system  set  AQ_TM_PROCESSES=0;     
6.alter   database   open  ;     

7.alter database character set INTERNAL_USE ZHS16GBK;
8.shutdown immediate ;    
9.startup ;


//第二种方法

1.shutdown immediate ;    
2.startup restrict   ;
3.alter  system enable restricted session ;     
4.alter  system  set  JOB_QUEUE_PROCESSES=0;     
5.alter  system  set  AQ_TM_PROCESSES=0;     
6.alter   database   open  ;     
7. alter database character set INTERNAL_USE ZHS16GBK;     
8.shutdown immediate ;    
9.startup ;

阅读(1379) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~