安装环境:
操作系统: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 ;
阅读(1413) | 评论(0) | 转发(0) |