CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

前言

  • 安装oracle 11g系统最好是1G以上内存,硬盘至少需要4.5G空间。
  • 至少环境在Linux Server release 5.3以上。
  • win安装包
    • win32_11gR2_database(服务端)
    • win32_11gR2_client(客户端)
  • linux安装包
    • linux_11gR2_database(服务端)
    • linux_11gR2_client(客户端)
  • Oracle对内存要求很高,教学机器是主操作系统是window(内存比较大),linux运行在 VMWare上,往往内存设置不够大。 所以建议oracle_database安装在windows上,oracle_client安装在linux上。oracle的安装界面windows和linux是基本一致的。

1.在windows下安装服务端

1.1安装win32_11gR2_database安装包

打开win32_11gR2_database安装包

第一步

运行setup.exe安装程序

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击下一步,

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击是

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择创建和配置数据库,点击下一步

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择桌面类,点击下一步

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

数据库版本选择标准版

字符集选择ZHS16GBK

全局数据库名orcl

密码123456(根据自己的习惯设置一个不容易被攻破的密码)

点击下一步

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

如果密码过于简单会出现口令不符合的提示,选择继续安装

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

开始检查系统配置

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击完成

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

开始自动安装

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

安装过程中自动弹出,不需要理会

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击确定,安装完成

1.2配置监听程序

选择开始菜单-》Oracle - OraDb11g_home1-》配置和移植工具-》Net Configuration Assistant

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择监听程序配置,点击下一步

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择重新配置,点击下一步

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击下一步

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择是

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择相关协议,选择TCP即可,点击下一步

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择使用标准端口号1521,点击下一步

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择 否,点击下一步

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击下一步

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击完成

在windows下安装win32_11gR2_database完成

1.3设置windows服务

  • 进入开始菜单->控制面板->管理工具->服务。

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

  • 查看oracle相关组件是否成功安装。
  • 由于oracle非常大,如果每次启动计算机时都自动启动,那么计算机会很慢,而且资源也基本被oracle占尽。
  • 把oracle的相关服务启动类型都由自动改为手动。
  • 需要使用oracle的时候手动启动

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

  • 需要启动的两个服务
    • OracleServiceORCL。
    • OracleOraDb11g_home1TNSListener。
  • 其他的都不需要启动

1.4添加数据库用户

选择开始-》运行菜单,

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

输入cmd 点击确定进入命令行界面

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

在命令行输入

sqlplus /nolog

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

进入sqlplus命令提示符,输入

conn /as sysdba

在sqlplus命令提示符下输入

create user dbuser1 identified by dbuser1;

(一定要以;号结尾)

(用户名可以自己随便取,例子中添加用户名为'dbuser1',密码为'dbuser1'。 如果想修改用户密码执行alter user dbuser1 identified by newpasswd;。如果想删除该用户,可以执行drop user dbuser1;)

在sqlplus命令提示符下输入

grant connect,resource to dbuser1;

(一定要以;号结尾)

在sqlplus命令提示符下输入

quit;

退出sqlplus

用户dbuser1添加成功

2.在redhat下安装客户端

Oracle在安装和使用中需要用特定用户,不能用 root用户来安装和运行Oracle。

推荐使用oracle 帐号。

2.1添加组和用户

  • 用root用户登录后添加组:

groupadd dba

groupadd oinstall

  • 添加oracle用户。

useradd oracle -d /home/oracle -g oinstall -G dba

passwd oracle

  • 预先创建安装目录

mkdir -p /opt/oracle/product

mkdir -p /opt/oracle/product/11.2.0

mkdir -p /opt/oraInventory

mkdir -p /opt/oracle/oradata

  • 设置目录的所有者所属组和权限

chown -R oracle.oinstall /opt/oracle

chown -R oracle.oinstall /opt/oracle/oradata

chown -R oracle.oinstall /opt/oracle/product/11.2.0

chown -R oracle.dba /opt/oraInventory

chown oracle.dba /opt/oracle

2.2设置环境变量

  • 设置用户oracle的环境变量
  • 用oracle用户身份登录

su - oracle

vi /home/oracle/.bash_profile

设置以下环境变量

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0

export ORACLE_OWNER=oracle

export PATH=$PATH:$HOME/bin:.:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

export LANG=en

  • 保存.bash_profile 退出vi。
  • 执行. .bahs_profile让配置立即生效。

    2.3上传安装包

  • 用oracle用户上传安装包linux_11gR2_client到oracle用户目录下。
  • 运行unzip工具解压安装包linux_11gR2_client。

unzip linux_11gR2_client.zip

2.5安装oracle客户端

用账号oracle登录linux xwindow桌面

登录成功之后,点击鼠标右键,打开一个Terminal

执行linux_11gR2_client.zip解压后client目录中的的./runInstaller安装程序

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

稍等片刻,看到安装程序启动画面,选择administrator(1.38G),点击next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择Simplified chinese语言之后点击next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择Ignore all后点击next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击finish

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

进入自动安装界面

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

按照提示,打开一个新的terminal,执行

su –

进入root用户执行

cd /opt/oraInventory

./orainstRoot.sh

cd /opt/oracle/product/11.2.0

./root.sh

(注意,执行脚本的时候前面要加./,不然可能会提示command not found的错误)

成功执行后退出这个terminal

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击OK

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

Oracle linux客户端安装完成,点击close

2.6配置local net service name

在terminal中输入

netca

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择 local net service name configuration,点击next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择 add,点击next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

输入service name(就是安装oracle服务端时的数据库名称),点击next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择TCP,点击next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

在hostname中输入oracle服务端的IP地址,点击 next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择 no,do not test,点击next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

选择 no,点击next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击next

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

点击finish。Local net service name设置完成。

2.7验证安装是否成功

在terminal中输入

sqlplus dbuser1/dbuser1@orcl

CC++初学者编程教程(12) 基于rhel6.3的Oracle数据库学习环境搭建

成功登录

如果提示连接失败,一般都是客户端或者服务端防火墙设置问题。

2.7常见问题

问题1:Linux下其他用户,为何不能使用sqlplus连接到远程数据库?

将相关用户的.bash_profile文件中加入以下环境变量

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0

export ORACLE_OWNER=oracle

export PATH=$PATH:$HOME/bin:.:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

export LANG=en

修改.bash_profile后执行

. .bash_profile

让.bash_profile的修改立即生效。

上一篇:php的内存分配还是很智能的


下一篇:【Sql Server】使用触发器把一个表中满足条件的数据部分字段插入到另一个表中