虚拟机-rhel5上安装oracle11g

来源:互联网 发布:java的命名规则是什么 编辑:程序博客网 时间:2024/04/30 10:46

本人也刚开始学oracle,本文很多信息来源于其他博客,感谢他们!

一、安装并配置vmware虚拟机

1、安装vmware workstation 7.1 2、新建虚拟机

1 选典型设置typical  

2 点以后安装系统 

3 点linux 选择Red Hat Enterprise Linux 5 

4 选择路径下一步 

5 选择“使用网络地址翻译” 

6 设置硬盘大小并当作单个硬盘(30G) 

7 完成 

2、编辑虚拟机

1内存 --> 2048 M 2G               

2CPU  -->  双核改为2               

3光盘 -->  选择 ISO 镜像linux 5安装文件              

4软盘 -->  删除 

3、选择安装oracle所需要的系统组件 

1选择软件开发“Software Development”  

2选择“现在定制now” 

3选择“Development”下的Development Libraries 开发库一定要装全选 Development Tools    开发工具一定要装全选 Legacy Software Development 老的软件开发包全选 “Base System” 下的Legacy Software Support 老的软件支持 全选

4、重启虚拟机进入linux的设置关闭防火墙和Selinux策略不进行产品注册不新建帐号完成 

5、安装vmware 工具为了便于鼠标的操作和屏幕分辨率的设置

二、设置环境变量(32位环境)

1、验证硬件

2、验证安装包

某些必需的程序包依赖于其他程序包,因此依赖程序包也必须安装。以 root 身份登录,运行下面的命令,以安装其余的必需程序包及它们依赖的程序包:

加载 CD 2

cd cd_mount_point/Serverrpm -ivh compat-libstdc++-33* elfutils-libelf-devel* glibc-devel-2* glibc-headers-2* gcc-4* libgomp-4* gcc-c++-4* libaio-devel* libstdc++-devel-4* unixODBC*

加载 CD 3

cd cd_mount_point/Serverrpm -ivh sysstat*

运行下面的命令,验证所需的程序包已安装到您的系统上:

rpm -q compat-libstdc++-33 elfutils-libelf-devel glibc-devel-2.5 gcc gcc-c++ libaio-devel libstdc++-devel \unixODBC unixODBC-devel sysstat binutils elfutils-libelf glibc glibc-common libaio libgcc libstdc++ make
ps:64位环境请参考其他文章

3、配置oracle环境

创建 Oracle 组和用户帐户 

# /usr/sbin/groupadd oinstall# /usr/sbin/groupadd dba# /usr/sbin/useradd -m -g oinstall -G dba oracle  //–g oinstall 是表示oracle用户的初始组为oinstall;-G dba 是表示oracle用户同时属于dba组,进行数据维护和数据库管理工作。 # id oracleuid=501(oracle) gid=502(oinstall) groups=502(oinstall),503(dba)

设置 oracle 帐户的口令:

# passwd oracle 

以下假设在根文件系统中创建目录。这样做是为了简便起见,不建议将其作为通用做法。这些目录通常被创建为单独的文件系统。

以 root 用户身份执行以下命令:

mkdir -p /u01/app/oraclechown -R oracle:oinstall /u01/appchmod -R 775 /u01/app

配置 Linux 内核参数 

参照oraclelinux下的安装文档进行大体如下:

# cat >> /etc/sysctl.conf <<EOFfs.file-max = 6815744fs.aio-max-nr = 1048576kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 4194304net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576> EOF

要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 
# /sbin/sysctl -p 

为 oracle 用户设置 Shell 限制

Oracle 建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制。要进行这些更改,以 root 用户的身份执行下列命令:

cat >> /etc/security/limits.conf <<EOForacle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536EOFcat >> /etc/pam.d/login <<EOFsession required /lib/security/pam_limits.sosession required pam_limits.soEOF

修改 bash 和 ksh 的默认配置文件以及 cshell 的默认登录脚本。

cat >> /etc/profile <<EOFif [ \$USER = "oracle" ]; then if [ \$SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fiumask 022fiEOFcat >> /etc/csh.login <<EOFif ( \$USER == "oracle" ) thenlimit maxproc 16384limit descriptors 65536umask 022endifEOF

 

三、正式安装oracle

网上有很多资料参考,如下(感谢这些作者):

http://wenku.baidu.com/view/b289cfc29ec3d5bbfd0a7495.html 

http://www.cnblogs.com/zhangyongli2011/archive/2012/04/04/2431953.html 

http://wenku.baidu.com/view/87d69a28453610661ed9f4fe.html?from_page=view&from_mod=copy_login 

http://hi.baidu.com/ooombnocgzbekoq/item/338ccf83fece5e55e73d1900 


其他问题:

一 、乱码问题解决

***************************************************************** 
更改字符集步骤方法(WE8ISO8859P1 --> ZHS16GBK)            * 
***************************************************************** 

SQL> 将数据库启动到RESTRICTED模式下做字符集更改: SQL> conn /as sysdba Connected. SQL> shutdown immediate; Database closed. Database dismounted. orACLE instance shut down. SQL> startup mount orACLE instance started. Total System Global Area 236000356 bytes Fixed Size                   451684 bytes Variable Size             201326592 bytes Database Buffers           33554432 bytes Redo Buffers                 667648 bytes Database mounted. SQL> Alter SYSTEM ENABLE RESTRICTED SESSION; System altered. SQL> Alter SYSTEM SET JOB_QUEUE_PROCESSES=0; System altered. SQL> Alter SYSTEM SET AQ_TM_PROCESSES=0; System altered. SQL> alter database open; Database altered. SQL> Alter DATABASE CHARACTER SET ZHS16GBK; Alter DATABASE CHARACTER SET ZHS16GBK * ERROR at line 1: orA-12712: new character set must be a superset of old character set 提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改: SQL> Alter DATABASE character set INTERNAL_USE ZHS16GBK; Database altered. SQL> select * from v$nls_parameters; 略 19 rows selected. 重启检查是否更改完成: SQL> shutdown immediate; Database closed. Database dismounted. orACLE instance shut down. SQL> startup orACLE instance started. Total System Global Area 236000356 bytes Fixed Size                   451684 bytes Variable Size             201326592 bytes Database Buffers           33554432 bytes Redo Buffers                 667648 bytes Database mounted. Database opened. SQL> select * from v$nls_parameters; 略 19 rows selected.  查询数据库字符集select * from V$NLS_PARAMETERS......NLS_LANGUAGESIMPLIFIED CHINESE......

.bash_profile中加入下面内容

export NLS_LANG="SIMPLIFIED CHINESE".ZHS16GBK

修改终端编码为简体中文
    终端--->设定字符编码--->简体中文 

二、错误:“shared memory realm does not exist”

(1)、 创建一个Oracle实例(非安装阶段)
(2)、 由实例安装数据库(安装阶段)
(3)、 打开数据库(打开阶段)

下面从实验的角度来实践这三个阶段:

Step one以具有Oracle 管理员权限的用户登陆

sqlplus命令 

sqlplus /nolog  conn USER/PASSWORD as sysdba  


 Step two:创建一个Oracle实例(非安装阶段)
sqlplus命令 

startup nomount  

 如上所示:NONOUNT选项仅仅创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Init.ora文件定义了实例的配置,包括内存结构的大小和启动后台进程的数量和类型等。当实例打开后,系统将显示一个SGA内存结构和大小的列表

Step three 由实例安装数据库(安装阶段)
命令:

alter database mount;  

 该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和重作日志文件的内容,但并不打开该文件。

Step four:打开数据库(打开阶段)

命令:

alter database mount;  

 该命令完成创建实例、安装实例和打开数据库的所有三个步骤。此时数据库使数据文件和重作日志文件在线,通常还会请求一个或者是多个回滚段。这时系统除了可以看到前面Startup Mount方式下的所有提示外,还会给出一个"数据库已经打开"的提示。此时,数据库系统处于正常工作状态,可以接受用户请求。

Note that

 当然可以用用一条命令打开

startup

  
 三、plsql不安装客户端远程连接oracle

 在本机用plsqldevelopment等工具连接虚拟机oracle学习

1、下载敏捷客户端InstantClient

http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html

2、下载安装PLSQL16M左右):http://www.onlinedown.net/soft/4902.htm

3、解压  

 instantclient-basic-win32-11.2.0.1.0.zip 到新建文件夹,

如 D:/oracleclient/instantclient_11_2 用文本文档创建tnsnames.ora ,内容大致如下:

# TNSNAMES.ORA Network Configuration File: /opt/oracle/product/9204/network/admin/tnsnames.ora

# Generated by Oracle configuration tools. //以上为注释内容,因为我的tnsnames.ora是直接从服务器上download

HSSL =                                             //将此处的HSSL修改为您实际的数据库实例名  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.154.11)(PORT = 1521))     //IP和端口    )    (CONNECT_DATA =      (SERVICE_NAME = hssl)               //将此处的HSSL修改为您实际的数据库实例名    )  )

 

用文本文档创建sqlnet.ora ,内容如下:

NAMES.DIRECTORY_PATH= (TNSNAMES)

SQLNET.AUTHENTICATION_SERVICES= (NTS)

到我的电脑、属性、高级、环境变量中添加一个环境变量,变量名为TNS_ADMIN,值为tnsnames.ora文件所在路径, 例如:D:/oracleclient/instantclient_11_2
4、安装完毕PLSQL后,启动,cancel,依次点击Tools->Preferences->Connection:

      Oracle Home=D:/oracleclient/instantclient_11_2OCI library=D:/oracleclient/instantclient_11_2/oci.dll

重新启动PLSQL即可进入数据库,初次登陆可能存在中文乱码的问题,解决方法如下:

新建bat命令

set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 

Plsqldev.exe

5、PLsql登录oracle数据 报 “ora-12541TNS:无监听程序错误

[O[racl@192~]$lsnrctl

LSNRCTL> start



原创粉丝点击