linux下安装oracle 11g

一、修改操作系统核心参数

在Root用户下执行以下步骤:

1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件

输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。

?

1

2

3

4

5

6

7

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

编辑完成后按Esc键,输入“:wq”存盘退出

2)修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。

?

1

2

3

session required /lib/security/pam_limits.so

session required pam_limits.so

编辑完成后按Esc键,输入“:wq”存盘退出

3)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

fs.file-max = 6815744

 fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

 net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

编辑完成后按Esc键,输入“:wq”存盘退出

4)要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 显示如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

linux:~ # sysctl -p

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.conf.all.rp_filter = 1

fs.file-max = 6815744

fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

5)编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi 

fi

编辑完成后按Esc键,输入“:wq”存盘退出

6)创建相关用户和组,作为软件安装和支持组的拥有者。

创建Oracle用户和密码,输入命令:

?

1

2

3

groupadd oinstall

groupadd dba

useradd-g oinstall -g dba -m oracle

passwd oracle

然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。

7)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:

输入命令:

?

1

2

3

4

5

6

7

mkdir  -p /u01/oracle/app

mkdir  -p /u01/oracle/app/oracle

mkdir  -p /u01/oracle/app/oradata

mkdir  -p /u01/oracle/app/oracle/product

8)更改目录属主为Oracle用户所有,输入命令:

?

1

chown -R oracle:oinstall /u01/oracle/app

9)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,

输入:su – oracle ,然后直接在输入 : vi .bash_profile

按i编辑 .bash_profile,进入编辑模式,增加以下内容:

?

1

2

3

4

5

6

7

8

9

export ORACLE_BASE=/u01/oracle/app

export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl 

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

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

编辑完成后按Esc键,输入“:wq”存盘退出

9)安装依赖包:

 

yum install -y binutils*

yum install -y compat-libstdc*

yum install -y elfutils-libelf*

yum install -y gcc*

yum install -y glibc*

yum install -y ksh*

yum install -y libaio*

yum install -y libgcc*

yum install -y libstdc*

yum install -y make*

yum install -y sysstat*

yum install libXp* -y

yum install -y glibc-kernheaders

 

二、安装过程

 

1)当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。首先将下载的Oracle安装包复制到linux中,用SSH其他ftp工具拷贝。

打开一个终端,运行unzip命令解压oracle安装文件,如:

输入命令:

?

1

2

3

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

解压完成后 cd 进入其解压后的目录database

输入命令:

cd database

使用ls命令可以查看解压后database所包含的文件,如下图:

2)执行安装,输入命令:./runInstaller

装到这一步,可以看到,可以查看到有很多的rpm包没有,我们可以从安装linux的光盘或ISO中(或去D:\linux_oracle11g_Package)查找所缺的包,使用ftp上传到linux中,然后使用rpm –ivh xxx.rpm --nodeps –force 来进行安装(其中加上--nodeps -- force 代表强制安装,是在直接使用rpm –ivh xxx.rpm安装不成功的情况下用的)等到把包全部都安装好的情况下,再次在oracle图形界面中,执行安装过程2,下来在环境检查过程中,就通过了。

安装过程中86%可能会遇到报错如出错问题(error in invoking target 'mkldflags ntcontab.o nnfgt.o' of makefile)按照如下步骤顺序执行。

上传安装镜像rhel-server-6.1-x86_64-dvd.iso,

然后将镜像文件挂,如/mnt

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

# mount -o loop rhel-server-6.1-x86_64-dvd.iso /mnt

 

# cd /mnt/Packages

 

# rpm -ivh glibc-common-2.12-1.25.el6.x86_64.rpm

 

# rpm -ivh kernel-headers-2.6.32-131.0.15.el6.x86_64.rpm

 

# rpm -ivh libgcc-4.4.5-6.el6.x86_64.rpm

 

# rpm -ivh glibc-2.12-1.25.el6.x86_64.rpm

 

# rpm -ivh libgomp-4.4.5-6.el6.x86_64.rpm

 

# rpm -ivh nscd-2.12-1.25.el6.x86_64.rpm

 

# rpm -ivh glibc-headers-2.12-1.25.el6.x86_64.rpm

 

# rpm -ivh glibc-devel-2.12-1.25.el6.x86_64.rpm

 

# rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm

 

# rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm

 

# rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm

 

# rpm -ivh cpp-4.4.5-6.el6.x86_64.rpm

 

# rpm -ivh gcc-4.4.5-6.el6.x86_64.rpm

注:以上是安装gcc,软件安装顺序不能错。

?

1

2

3

4

5

6

7

******************************************

 

# rpm -ivh libstdc++-4.4.5-6.el6.x86_64.rpm

 

# rpm -ivh libstdc++-devel-4.4.5-6.el6.x86_64.rpm

 

# rpm -ivh gcc-c++-4.4.5-6.el6.x86_64.rpm

注:以上是安装gcc-c++

根据这个方法解决了错误。

安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置,如:我的就在/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

和 /home/oracle/oraInventory/orainstRoot.sh 新开启一个终端,输入命令:

?

1

2

3

4

5

6

7

8

9

su – root

 

cd /home/oracle/app/oracle/product/11.2.0/dbhome_1

 

sh root.sh

 

cd /home/oracle/oraInventory

 

sh orainstRoot.sh

 

经过漫长的等待,当看到此界面,说明oracle建库完成

******************--------------------------

**** 应该先netca创建监听,然后在通过dbca 创建数据库。

创建监听,见第四步。

******************------------------------

三、数据库建库

1) 还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库。

 

点击Finish按钮,如下图所示:

Linux下安装Oracle 11g详细过程

点击OK按钮,有报错说/etc/oratab读取错误,报错如下图所示

Linux下安装Oracle 11g详细过程

Linux下安装Oracle 11g详细过程

所以去建立下这个目录

[root@powerlong4 rpms]# mkdir /etc/oratab

[root@powerlong4 rpms]#

[root@powerlong4 rpms]# chown -R Oracle.oinstall /etc/oratab

[root@powerlong4 rpms]#

8.15,之后点击OK按钮,开始创建数据库,如下图所示:

Linux下安装Oracle 11g详细过程

等待35分钟后,数据库创建完毕,之后点击,如下所示:

 

 

经过漫长的等待,当看到此界面,说明oracle建库完成

 

******************--------------------------

**** 应该先netca创建监听,然后在通过dbca 创建数据库。

******************------------------------

四、配置监听及本地网络服务

1)在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面。

2)创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)

3) 配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)

输入连接的oracle服务器的数据库的实例名

输入oracle服务器的ip地址

选中YES测试

点击change Login 输入所连接oracle服务器的其中某一个用户名和密码(用户名oracle和设置的密码),点击OK

看到此界面说明测试成功(如果不成功,请查看网络是否畅通,所连接的oracle服务器是否启动,监听是否启动等原因)

为你所设置的本地网络服务名起个名字

---------------------------------------------

 

数据库监听器配置为了远程访问数据库,需要配置数据库监听器(listener)。配置可以通过netmgr或者netca图形工具进行,也可以通过手工编辑$Oracle_HOME/network/admin/listener.ora文件进行。netca只能做简单配置(动态注册),手工编辑容易写错格式,建议使用netmgr工具。
监听器的配置使用oracle用户进行,按下面步骤配置。

1.在图形界面(在控制台或者用X-Window工具软件),打开一个终端窗口,执行如下命令:netmgr
2.Oracle Net Manager图形界面启动。点击左边树状图的加号,逐层打开,直到Listeners下的每个具体listener名称。
3.最左上方的+号和x号分别用来添加和删除,添加时只要输入新listener的名字。
4.在右方进行端口号、主机名、数据库实例信息的配置。

注意:

1.监听器的名称如果主机上只有一个数据库实例,可以配置一个缺省的LISTENER,如果有多个数据库实例,则建议为每个实例配置一个监听器,名称用LISTENER_数据库实例名。

2.监听端口建议不要采用缺省的1521。

3.主机名建议采用IP地址,不要采用主机名称。

4.数据库注册到监听器建议不要用动态注册,而是采用静态注册,即在监听器中配置具体的数据库实例信息。

-

---------------------------------------------

这样oracle服务器安装配置基本就完成了

注意:

 

1、Linux oracle数据库listener.ora存放路径

cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

2、Linux oracle数据库tnsnames.ora存放路径

cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

3、ORACLE启动监听器
(1)切换至oracle安装用户(一般为oracle)
su - oracle 
(2)启动监听器
lsnrctl start 
(3)停止监听器
lsnrctl stop

4、启动测试oracle:
[oracle@oracle ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Fri Jul 27 02:12:12 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> quit
测试的另一种方法:找一台windows平台电脑,telnet oracle主机IP地址:1521,通的话,会出现一个黑屏,光标一闪一闪。

5、Linux开放1521端口允许网络连接Oracle Listener

症状:
(1)TCP/IP连接是通的。可以用ping 命令测试。
(2)服务器上Oracle Listener已经启动。
lsnrctl status 查看listener状态
lsnrctl start 启动Oracle listener 
(3)客户端得到的错误信息通常是:ORA-12170: TNS:连接超时 
这时,我们基本可以肯定是服务器没有开放1521端口(假设你用默认设置)

解决方法: 
(1)假如你是在一个局域网环境,配置了防火墙。那么可以关闭Linux的防火墙。
sudo service iptables stop
(2)编辑iptables, 开放1521端口:
sudo vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT 
:wq

重启防火墙
sudo service iptables restart
保存配置,以便linux重启后依然有效
sudo service iptables save 
查看防火墙规则:
sudo iptables -L –n

6、linux下创建oracle用户表空间

就是在已有的数据库实例上创建一个新的帐号,访问一些新的表
操作步骤如下:
(1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)
(2)以sysdba方式来打开sqlplus,命令如下: sqlplus "/as sysdba"
(3)查看我们常规将用户表空间放置位置:执行如下sql:
select name from v$datafile
(4)创建用户表空间:
CREATE TABLESPACE NOTIFYDB DATAFILE '/home/oracle/app/oradata/orcl/scsdb.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
(5)创建用户,指定密码和上边创建的用户表空间
CREATE USER scs IDENTIFIED BY scs DEFAULT TABLESPACE NOTIFYDB;
(6)赋予权限
grant connect,resource to scs;
grant unlimited tablespace to scs;
grant create database link to scs;
grant select any sequence,create materialized view to scs; 
--经过以上操作,我们就可以使用scs/scs登录指定的实例,创建我们自己的表了

来源:网络


智能推荐

oracle 11g安装

oracle下载: 百度网盘链接:链接:https://pan.baidu.com/s/1ZP8hm1so44DllaZj3sdndg  提取码:ac8c oracle安装 1.解压缩文件,将两个压缩包解压到同一个文件夹中 2.将其解压到同一个路径后,在解压文件夹中找到可执行文件【setup.exe】双击安装。 3.安装第一步:配置安全信息,这一步可以将自己的邮件信息填写进去(也可以不填...

linux安装Oracle 11g详解

一、安装前准备: 1.操作系统:centos7(Oracle默认不支持centos) 2.安装包: linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 二、环境配置: 1.关闭防火墙 [root@mth ~]# systemctl stop firewalld.service [root@mth ~]# syste...

Redhat Linux环境下安装Oracle 11g

Redhat Linux安装Oracle 11g ** yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。 yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是...

Linux下安装Oracle Database 11g Express Edition

前言: Oracle Database 11g 快捷版 (Oracle Database XE) 是一款基于 Oracle Database 11g 第 2 版代码库的小型入门级数据库,它具备以下优点:免费开发、部署和分发;下载速度快;并且管理简单。 相较于oracle database 标准版与企业版动则2、3G的大小。XE版总共才三百多兆,它定位的是免费入门级数据...

ORACLE 11G连接

oracle 11g 装好以后好久木有动了,今天找健健来一起研究,真是好。 先把oracle服务打开,这家伙太吃内存了! 然后打开客户端的SQL Developer,new一个connection,名字叫test,提示输入用户名和密码的时候输入安装时候默认的密码,我这是system和123456   这只是一个连接(Connection),里面原本就有很多示例的数据库实例,在other ...

猜你喜欢

install a local python package(to be exactly, a project--a folder with all these .py files)

the procedure recorded not for public reference.   In Anaconda Prompt,  change directory to  then change the input to  Note that drama should include setup.py in its...

MVC与MVVM简单介绍

MVC ( model view controller)即数据存储、用户界面、业务逻辑。此框架可以对服务器渲染后的数据进行操作或是修改。说白了,就是所有的通信都是单向的。其工作原理为: view 传送指令到controller,controller完成业务逻辑后要求model设置状态,model将新的数据发送到view。 其缺点为: 它必须等待服务器端的指示。如果为异步模式,所有节点、数据、页面结...

如何搭建一个指标体系

转载自: http://www.itongji.cn/detail?type=99992164 https://www.zhihu.com/question/396456056 第二个链接还有各个行业的指标体系构建 一.什么是指标体系 “指标体系”这个概念是应用比较广泛的,我们从正式出版物中摘取一个定义: 指标体系,即统计指标体系,是由一系列具有相互联系的指标所组成的整体,...

线性代数--行列式1

文章目录 行列式概念 1. n×nn×nn×n行列式 2. 几何意义 2×22×22×2:平行四边形**面积** 3×33×33×3:六面体**体积** 3. 计算-展开定理 余子式与代数余子式 展开定理 4. 七大性质 5. 几个重要的行列式 行列式概念 1. n×nn&tim...

Elasticsearch的插件bigdesk安装

1.下载bigdesk压缩包 2.解压到elasticsearch-1.5.2/plugins/目录下 3.运行Elasticsearch 4. 打开http:9200/_plugin/bigdesk-master/ ...

问答精选

Getting stuck on a While Loop using BufferedReader

I've been having a problem with using a while loop surrounding a BufferedReader in Java. I'm doing some experiments with Sockets. My current code: But no matter what I've tried the code will not progr...

AWS CodeBuild Default Environment Variables

I'm having an issue while logging into ECR. buildspec.yml Following command return me "us-east-2" and "" ($AWS_ACCOUNT_ID is empty) so that's why I'm unable to login to ECR. Becaus...

Receive RESTFUL request without Content-Type header

I am practicing spring boot and meet a problem. I have a restful API to receive requests from other 3rd parties. May I know is it possible to receive the request without a Content-Type header. I keep ...

A trigger to prevent deletion upon condition in MySQL

Have a table with this schema Performers (PerformerID, PerformerName, Street, City, State, Zip, ActivityID) I need to define a trigger to prevent deletion if the ActivityID of the deletion is unique f...

C++ Google Protocol Buffers: assign binary stream to protobuf object

I have the following protoc file: And I have the following C++ function: The string "data" was created using: My question is: how do I convert a string to a protoc object so I can access the...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答