一,前期准备:
1,环境说明:
Linux:64位Centos release 6.5 (Final)
Oracle:linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
2,在线安装Oracle需要的RPM支持包
[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
3,关闭防火墙Selinux
[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[root@oracledb ~]# setenforce 0
4,创建用户和组
[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
5,修改内核参数
[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
要使 /etc/sysctl.conf 更改立即生效,执行以下命令: > sysctl -p
可能出现如下错误:
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
解决方法:
>lsmod | grep bridge
>modprobe bridge
>lsmod | grep bridge要使 /etc/sysctl.conf 更改立即生效,执行以下命令: > sysctl -p
如果还有其他的出错,那就是配置文件输入时的拼写错误
6,修改系统资源限制
[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
ession 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
7,创建安装目录及设置权限,命令行输入:
创建安装目录:
>mkdir -p /home/oracle/app #基目录
>mkdir /home/oracle/app/oraInventory #该目录就像Windows下的注册表文件,每当有软件安装,就会向里面写一些注册表
>mkdir /home/oracle/app/oracle #oracle数据库目录
>mkdir /home/oracle/app/oracle/product #oracle实例目录
更改目录属主为Oracle用户所有(防止安装过程中发生权限不够的问题),输入命令:
>su oracle
>chown -R oracle:oinstall /home/oracle/app
>chmod -R 775 /home/oracle/app/
>chmod -R 755 /home/database/runInstaller
>chmod -R 755 /home/database/install/ .oui
>chmod -R 755 /home/database/install/unzip
8,配置oracle用户的环境变量,要在oracle用户下进行操作,输入:
>su oracle
>vi /home/oracle/.bash_profile
export EDITOR=vi
export ORACLE_SID=orcl #实例名
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export INVENTORY_LOCATION=/home/oracle/app/oraInventory
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export NLS_LANG="American_america.zhs16gbk"
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin
umask 022
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export erase ^h #用于消除换车键产生的乱码
补充:如果我们的Linux是mini安装的,那么就没有JDK,我们需要安装它: yum install java-1.7.0-openjdk-devel.x86_64 -y
注意,安装的目录默认就是上面的JAVA_HOME,但是后面的版本数字可能会不一样,需要改动。
9,[oracle@oracledb ~]$ source .bash_profile #立即生效
一,开始安装:
1,退出系统以Oracle用户登陆。
将Oracle软件安装包database复制到home目录下,确保Oracle用户对此目录有足够权限。
2,开始安装(登录系统图形化界面)
[ oracle@localhost database ]$ ./runInstaller -ignoresysprereqs
选择常见一个数据库和配置一个数据库
创建一个桌面版数据库:
3,注意:安装快完成时,系统会提示你需要用root权限执行2个shell脚本。
按照其提示的路径 执 行/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh 和 /home/oracle/ oraInventory/orainstRoot.sh,安装完成会有提示信息。
执行命令:①>cd /home/oracle/app/oracle/product/11.2.0/dbhome_1
>sh root.sh #当中有个敲回车的点
② >cd /home/oracle/app/oraInventory
>sh orainstRoot.sh
4,close.
三,启动执行Oracle
重启Linux,Oracle登录,非root账户,启动Oracle实例
>su oracle
>lsnrctl start
>sqlplus / as sysdba #注意第一次登陆必须要用管理员的身份登陆(无需密码),因为只有管理员才有启动实例的权限。
>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 #开启远程监听端口