‘壹’ linux怎么安装oracle
安装ORACLE 需要提前装需要安装oracle配置的包,之后才能安装oracle,这个网上找的到的,或者你上oracle官网上看看。
‘贰’ 在Linux机器上安装运行Oracle
摘要 Oracle于去年年底宣布移植Oracle 和Oracle Application Server到Linux 这是一个明确无误的标志 整个世界都应该认识到 Linux已经是一个严肃的操作系统 足以承担企业级的应用 Uche Ogbuji在下文中解释了应该如何安装 配置和初步使用Oracle for Linux 如何在你的Linux机器上安装运行Oracle 一篇实用指导 经过了许多谣传和暗示之后 Oracle于 年 月 日发布了Linux上的Oracle 数据库和Oracle Application Server 这是Linux近期历史中最为耀眼的一幕 无论您个人对Oracle公司的看法如何 该公司在大规模数据应用领域的巨大声誉使这次产品发布成为一个明确 无误的标志 整个世界都应该认识到 Linux已经是一个严肃的操作系统 足以承担企业级的应用 但对于任何真正关心Linux的人来说 各种宣传攻势只是过眼烟云 只有代码才是关键的 (only code matters 译注 事实上 Oracle i 即 for Linux已经开发完成 但其中的JServer模块有问题 所以Oracle还没有发布 ) 开始行动 在RedHat上安装Oracle可以是相当轻而易举的 但要是完全跟着Oracle公司的文档走就未必那么容易了 最快的捷径是Tom Bisset的主页 如果您看了Tom的主页 那么滑尘您会注意到他漏了JDBC的安装 如果您准备使用JDBC(对于跨平台的Oracle应用十分方便) 只需在安装屏幕要求您选择组件(ponents)时 加上该选项即可 当然 您应该先装好JDK 我个人使用Blackdown的JDK (译注 Redhat包括JDK)然后需要设置oracle用户的ClassPath环境变量 最好的办法是在oracle用户目录的 bash_profile 或 profile中加上一句 CLASSPATH=/usr/lib/jdk/lib/classes zip; export CLASSPATH然后 如果您只需做Web Applet的话 在安装程序 Choose JDBC Components 的时候 选择 JDK JDBC Thin Driver 如果您需要做完整的java应用 选择 JDK JDBC OCI Driver 另外请注意 安装程序让您输入各口令时 如果口令不符合规范 不会警告 我第一次安装时 口令里加了 这在UNIX中是允许的 Oracle就是另一码事了 直到安装快结束时 程序才告诉我口令有问题 当时为保险 起见 我从头做了一次安装 安装程序的另一个问题是试图往还没有建立的目录里拷贝文件迹念 有必要在安装前 mkdir p /u /app/oracle/proct/ /doc/server /install 这一关过后万事大吉 安装成功后 必须以ROOT身份登录 运行root sh 我对root sh作了以下改动 · LBIN环境变量从/usr/lbin改成了/usr/local/bin · 增加环境变量LOG=/tmp/oracle root sh log 这样脚本的运行结果会记录下来 root sh里说到 要想数据库作为一个服务器运行 必须先设定O_TASK变量 但是 事实上如果从安装Oracle的机器上运行root sh 就没有必要设这个变量 python和Oracle 我配置了一下python(译注 一种强大 快速的面向对象的脚本语言) 以测试Oracle的编程接口和网络接口 在python中要连Oracle 需要Digital Creation(Zope应用服务器的作者)的DCOracle模块 您只需下载软件并按照指示照做就行 如果是DCOracle 使用Setup 的配置 从ORACLE_LIBS变量中删去 lsocket lnsl lgen lelf laio 和 lposix 即可 那些都是Solaris专用的 注姿让困意Redhat 和 中安装的 python设置不全 config目录和include目录被省略 无法编译安装第三方的模块 您必须自己编译python或者下载一个合适的RPM 找python的RPM 最好的去处可能是Oliver Andrich的 Python & Linux主页 只要rpm e nodeps python 然后 rpm i python python dev和其他RPM即可 装好python后 我运行了以下的基本查询 访问Oracle [uche@malatesta uche]$ python Python (# Sep : : ) [GCC ] on linux i Copyright Stichting Mathematisch Centrum Amsterdam >>> import DCOracle >>> #connect to DB scott/tiger are the test database username/password >>> dbc=DCOracle Connect( scott/tiger@sforza ) #sforza is the local Oracle server >>> c = dbc cursor() >>> c execute( SELECT * FROM emp WHERE emp deptno = ) >>> rows = c fetchall() >>> print rows [( CLARK MANAGER dbiDate( : : ) None ) ( KING PRESIDENT None dbiDate( : : ) None ) ( MILLER CLERK dbiDate( : : ) None )] 开发工作站配置 我在数据库服务器以外的一台机器上编译安装了python和其他编程接口 最初 看起来似乎我必须安装Oracle 的所有PRO*C/C++软件包 但要把Oracle安装程序运行到那一步也够麻烦的 所以我不想那样办 于是我找出了写程序所需 要的最小 *** 的头文件(include) 对象文件(object)和库文件(library): $ORACLE_HOME/lib/* $ORACLE_HOME/rdbms/demo/* $ORACLE_HOME/rdbms/lib/* 我的机器上设ORACLE_HOME为/usr/local/oracle 注意这些文件还不能让您可以在C程序中直接嵌入SQL语句 只有完整安装PRO*C/C++后才行 如果要用JAVA的话 还得增加$ORACLE_HOME/jdbc/lib/* 注意把这个目录加到ClASSPATH变量中 JDBC连接 为测试JDBC连接 我作了一个小程序 在一个listbox内显示测试库中的所有雇员名 下面的程序 是调用JDBC的java Applet 程序 是调用JAVA程序的HTML超文本 如果您的JDBC已经安装成功 将程序 拷贝为 JDBCTest java 将程序 拷贝为l 然后 javac JDBCTest java appletviewer l 您就可以自己看看结果如何了 程序 /* Applet that reads in several rows from a remote Oracle database and presents them in a listbox */ import java sql *; import java awt *; import java applet *; import java lang *; public class JDBCTest extends Applet { //Single select ListBox private List employee_list = new List( false) public void init() { setLayout(new BorderLayout()); try { //Set up the Oracle JDBC driver DriverManager registerDriver(new oracle jdbc driver OracleDriver()); //Connect to an Oracle database on machine sforza using username // scott and password tiger Connection DB_conn = DriverManager getConnection ( jdbc:oracle:thin:@sforza: :ORCL scott tiger ); //Connection DB_conn = DriverManager getConnection ( jdbc:oracle:thin:scott/tiger@sforza: :ORCL ); //Create a JDBC statement object Statement statement_obj = DB_conn createStatement(); //Execute a query to get the employee names from the test DB ResultSet results = statement_obj executeQuery ( select ENAME from EMP ); //Populate the list box with all the employee names while (results next ()){ employee_list add(results getString( )); } } catch (SQLException e) { throw new RuntimeException( SQL Exception + e getMessage()); } add(employee_list); } }
程序
Oracle JDBC driver testheight= > Your browser doesnt support Java Last modified: Sat Mar : : MST 程序 的大部分都是与具体数据库无关的JDBC调用 依样画葫芦您也可以 访问PostgresQL 主要和Oracle相 关的部分是 Connection DB_conn = DriverManager getConnection ( jdbc:oracle:thin:@sforza: :ORCL scott tiger ); 注意 Oracle thin JDBC driver中URI的格式 jdbc:oracle:thin:@ :: 如果您想在URI中包括用户名和口令的话 jdbc:oracle:thin:username/password@ :
: 同样的URI还有一个较长的格式 jdbc:oracle:thin:@(description=(address=(host= <server_name_or _IP>)(protocol =tcp)(port=
lishixin/Article/program/Oracle/201311/18188
‘叁’ Linux ubuntu 3.11.0-12-generic 下oracle12c的基础rpm安装包,具体版本往下看
别拿ubuntu装oracle了,尤其还是虚拟机……
那个写了一大串答案的那个是适用于Fedora、Centos之类系统的。
除非你想sudoapt-getinstallyum,之后将Centos的安装盘CD1和CD2种Packages文件夹中所有你需要的rpm包拷到你虚拟机下硬盘,再构建本地yum源,之后再按照那一大串答案写的来。
配置本地yum源的方法是我写的:
yum仓库的配置文件是保存在/etc/yum.repos.d/目录下的,以mirrorlist动态控制仓库路径(似乎也有用baseurl配置的)。如果想创建本地的yum仓库,只需要如下几步(假使我有一个叫Luna的用户):
1、以root身份登录
即$
su-
2、插入Centos安装U盘中,并将其Packages文件夹中所有rpm文件拷贝到一个文件夹中;
先在系统中随意建立一个文件夹(我建立的文件夹就直接叫Packages),如/home/Luna/Packages/
即#cp/media/CenrOS(之后按tab)/Packages/*/home/Luna/Packages
#*代表U盘里Packages文件夹下所有文件。
ps:拷贝个十几分钟很正常,可以加上-rv参数解解闷……
pss:这步如果不是闲着没事干完全可以通过图形界面操作——即复制粘贴。
3、通过rpm命令手工安装createrepo软件(即创建一个索引信息);
createrepo的rpm包在CentosisoDVD1的Packages里。
不过在#rpm-ivhcreaterepo(之后按tab)时会出现提示缺少依赖——这都不是事儿,把缺少的一并装了——把缺的和creatwewpo一块安就能安上了。
运行createrepo命令,
即#createrepo-v/home/Luna/Packages
继续等吧,尤其是虚拟机,没个十几分钟甭想结束……加上参数-v是解闷用的。
这步如果闲着没事干也可以通过图形界面操作——虽然从四千个rpm包里找createrepo和几个依赖项挺有趣的。
4、之后需要在yum仓库的配置文件中添加几行,让yum能指向本地源。
即在/etc/yum.repos.d/目录下新建一个文件(名字随意起,只要以.repo结尾就成。)
假设我建立文件CentOS-Local.repo
即#vim/etc/yum.repos.d/CentOS-Local.repo
ps:这一步需要会vi编辑器,不会的话可以在桌面以root身份创建一个叫Centos-Local.repo的文件,写好内容后复制到/etc/yum.repos.d/目录下,
即#
cp/home/Luna/Desktop/CentOS-Local.repo/etc/yum.repos.d/
文件内容是:
[CentOS-Local]
name=localyum
repo#名字随便起。
baseurl=file:///home/yum-data/#注意是仨斜杠——file://是本地协议,之后那个/是路径根目录。
enabled=1
gpgcheck=1#这个写0也行
5、清除各种缓存文件。
运行命令#yumcleanall#运行后好像会出现四行字。
再瞅瞅#yumlist#这步如果没联网会显出奇怪的东西。
ps:如果有分组信息,则在运行命令的时候使用参数-g制定分组文件
Centos/RHEL的分组信息保存在光盘repodata/目录下,文件名以comps.xml结尾的xml文件(前面一大陀数字,文件大约有1M多)。
假设我把该文件复制到桌面上,即可运行
#createrepo-g/home/Luna/Desktop/*comps.xml/home/Luna/Packages
看恶心了吧……别拿ubuntu装Oracle玩了……
这是别人写的,我自己没有试过:
(1) 安装系统 ,安装系统起用户名的时候千万不要使用起 oracle 这个用户名,因为安装 oracle 的时候需要创建,并有权限问题。
(2) 把系统更新到最新,安装如下包
网上是说要使用命令 sudo apt-get install 将下列包全部安装 , 大部分的包是必须得有的 , 在后面的安装过程中会报错,还得找这些包,拷贝到相应的目录下
alien binutils gcc ia32-libs lesstif2 lesstif2-dev lib32stdc++6 lib32z1 lio1
libc6 libc6-dev libc6-dev-i386 libc6-i386 libmotif3 make libstdc++5 rpm
(3) 创建用户
因为 oracle 一定要 oracle 用户来进行安装,所以首先需要创建 oracle 用户和相关联的用户组
yurocy@yurocy-desktop:~$ sudo addgroup oinstall
yurocy@yurocy-desktop:~$ sudo addgroup dba
yurocy@yurocy-desktop:~$ sudo addgroup nobody
yurocy@yurocy-desktop:~$ sudo useradd -g oinstall -G dba -d /home/oracle -m -s /bin/bash oracle
v@yurocy-desktop:~$ sudo usermod -g nobody nobody
(4) 创建安装目录
yurocy@yurocy-desktop:~$ sudo mkdir -p /opt/oracle
yurocy@yurocy-desktop:~$ sudo chown -R oracle:oinstall /opt/oracle/
yurocy@yurocy-desktop:~$ sudo chmod -R 755 /opt/oracle/
(5) 修改 linux 内核参数
yurocy@yurocy-desktop:~$ sudo vim /etc/sysctl.conf
# 按 I 进入编辑,添加如下参数
kernel.shmmax = 3147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
yurocy@yurocy-desktop:~$ sudo vim /etc/security/limits.conf
# 添加如下参数
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
# 让修改后的参数生效
yurocy@desktop-desktop:~$ sudo sysctl -p
创建链接:
yurocy@desktop-desktop:~$ sudo ln -s /usr/bin/awk /bin/awk
yurocy@desktop-desktop:~$ sudo ln -s /usr/bin/rpm /bin/rpm
yurocy@desktop-desktop:~$ sudo ln -s /usr/bin/basename /bin/basename
(6) 设置用户环境
#切换到 oracle 用户
yurocy@desktop-desktop:~$ su oracle
Password: #输入刚才创建的 oracle 用户密码
oracle@desktop-desktop:~$ vim ~/.profile
#按 I 进入编辑模式,添加如下内容 , 但网有说是 bash_profile 文件 , 应该是一样,可能是 ubuntu 版本问题
if [-f ~/.bashrc ]; then
~/.bashrc
fi
# 编辑完后按 ESC 再按 Shift+ZZ 保存并退出,接着编辑 .bashrc
oracles@desktop-desktop:~$ vim ~ /.bashrc
#增加如下内容
export ORACLE_BASE=/home/oracle/oracle
export ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
# 创建 oracle 用户密码
yurocy@yurocy-desktop:~$ sudo passwd oracle
(7) 开始做安装准备
需要在 /etc/ 目录下创建一个文件 redhat-release , 需要权限进行创建,创建好后添加如下内容
yurocy@yurocy-desktop:~$ sudo vim /etc/redhat-release
#添加
Red Hat Linux release 3.1 (drupal)
然后在本机 (windows) 下载一个 xmanager ,安装后 xstart 连接到 Ubuntu 上,
xmanager 下载地址: http://www.onlinedown.net/softdown/32684_2.htm
安装后进行配置, protocol 配置成 SSH,Execution Command 选择: xterm(Linux: Type 2)
(8) 安装 oracle
到 http://www.oracle.com/technology/software/procts/database/index.html 下载相应的版本,注意查看自己的机器是 32 位的还是 64 位的
需要注册一个用户名和密码,是免费的哦。
然后登录到 xmanager ,进行如下的操作
# 前面提到过需要 oracle 进行安装,现在注销下系统改成 oracle 进行登录
oracle@yurocy-desktop:~$ unzip 10201_database_linux32.zip( 如果下载的是 .cpio 文件,就用 cpio -idmv < 10201_database_linux_x86_64.cpio 来解压)
oracle@yurocy-desktop:~$ cd database
为了后面安装的时候界面不显示中文乱码,可以安装一下 jdk ,但是我直接选择使用英文显示,这样就不用安装 jdk ,直接在命令行输入如下命令就行了
oracle@yurocy-desktop:~/database$ export LANG=en_US
然后运行如下命令 , 就进入 oracle 的安装界面了
oracle@yurocy-desktop:~/database$ ./runInstaller
(9) 安装过程中遇到的问题:
1. 在安装的过程中会报各种错误,但是最好是时刻查看一下 $ORACLE_HOME/oraInventory/logs 以 installActions 开头的日志,这个日志里面显示的内容比较全。出错信息也比较多。
2. 因为在前面的配置文件中设置了 $ORACLE_SID 等于 orcl ,所以在安装的过程中最好默认选择这个,并要记录下你的 global database name 和 database password 信息
3. 在安装的过程中遇到了 ora-27125 unable to create shared memory segment 的错误,这个时候查看 installerActions 日志,会有详细信息,因为每次安装的错误原因都不一样,
所以可能解决方式都会不一样,但是我这个错误网上写的是 export DISABLE_HUGETLBFS=1 ,但是不太生效,我查了很多资料终于搞清楚了,要解决该问题,在 Oracle 用户下执行 $export DISABLE_HUGETLBFS=1
# cd $ORACLE_HOME/bin
# mv oracle oracle.bin
# cat> oracle <<"EOF"
#!/bin/bash
export DISABLE_HUGETLBFS=1
exec $ORACLE_HOME/bin/oracle.bin $@
EOF
#chmod +x oracle
这样解决问题后,后面的安装就很顺畅,这个问题不解决,后面就进行不下去,当然可能产生这个错误的原因是别的,要自己尝试
4 . 安装到最后会弹出一个界面,提示 需要用 root 用户去运行两个脚本文件 orainstRoot.sh 和 root.sh 这个时候不要点 OK ,打开终端用 root 进行登录,执行就可以了。
(10) 如果需要安装配置新的数据库,则在 xmanager 中输入命令 dbca 就可以了,其实在 oracle 安装过程中会默认创建一个数据库的也就是我们配置的 orcl ,所以在安装的过程中就会在后台自动调用 dbca ,如果安装过程不出错,后面调用 dbca 的时候也不会出错
oracle 的卸载,在 linux 下卸载 oracle 非常容易,命令如下:
1. 运行 $ORACLE_HOME/bin/localconfig delete
2. rm -rf $ORACLE_BASE/*
3. rm -f /etc/oraInst.loc /etc/oratab
4. rm -rf /etc/oracle
5. rm -f /etc/inittab.cssd
6. rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv
7. rm -rf $ORCLE_HOME
Oracle 安装完后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。
先用 sqlplus /nolog 登录
然后 connect / as sysdba 或者 connect sys/sys 的密码 @ 数据库名 as sysdba
1 . 假如现在已经建好名为 'news' 的数据库,此时在 /oracle/proct/10.1.0/oradata/ 目录下已经存在 news 目录(注意:我的 Oracle10g 安装在 /oracle 下,若你的 Oracle 安装在别的目录,那么你新建的数据库目录就在 */proct/10.1.0/oradata/ 目录下)。
2. 在创建用户之前,先要创建表空间:
其格式为:格式 : create tablespace 表间名 datafile ' 数据文件名 ' size 表空间大小 ;
如:
SQL> create tablespace news_tablespace datafile 'F:/oracle/proct/10.1.0/oradata/news/news_data.dbf' size 500M;
其中 'news_tablespace' 是你自定义的表空间名称,可以任意取名; 'F:/oracle/proct/10.1.0/oradata/news/news_data.dbf' 是数据文件的存放位置, 'news_data.dbf' 文件名也是任意取; 'size 500M' 是指定该数据文件的大小,也就是表空间的大小。
3. 现在建好了名为 'news_tablespace' 的表空间,下面就可以创建用户了:
其格式为:格式 : create user 用户名 identified by 密码 default tablespace 表空间表 ;
如:
SQL> create user news identified by news default tablespace news_tablespace;
默认表空间 'default tablespace' 使用上面创建的表空间。
4. 接着授权给新建的用户:
SQL> grant connect,resource to news; -- 表示把 connect,resource 权限授予 news 用户
SQL> grant dba to news; -- 表示把 dba 权限授予给 news 用户
授权成功。
ok! 数据库用户创建完成,现在你就可以使用该用户创建数据表了!
‘肆’ 如何在linux下安装oracle11g
一、修改操作系统核心参数
在Root用户下执行以下步骤:
1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件
输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。
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键进入编辑模式,将下列内容加入该文件。
session required /lib/security/pam_limits.so
session required pam_limits.so
编辑完成后按Esc键,输入“:wq”存盘退出
3)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件
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 显示如下:
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键进入编辑模式,将下列内容加入该文件。
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用户和密码,输入命令:
useradd -g oinstall -g dba -m oracle
passwd oracle
然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。
7)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
输入命令:
mkdir /home/oracle/app
mkdir /home/oracle/app/oracle
mkdir /home/oracle/app/oradata
mkdir /home/oracle/app/oracle/proct
8)更改目录属主为Oracle用户所有,输入命令:
chown -R oracle:oinstall /home/oracle/app
9)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,
输入:su – oracle ,然后直接在输入 : vi .bash_profile
按i编辑 .bash_profile,进入编辑模式,增加以下内容:
?
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/proct/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”存盘退出
二、安装过程
1)当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。首先将下载的Oracle安装包复制到linux中,用SSH其他ftp工具拷贝。
打开一个终端,运行unzip命令解压oracle安装文件,如:
输入命令:
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
# 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,软件安装顺序不能错。
# 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/proct/11.2.0/dbhome_1/root.sh
和 /home/oracle/oraInventory/orainstRoot.sh 新开启一个终端,输入命令:
su – root
cd /home/oracle/app/oracle/proct/11.2.0/dbhome_1
sh root.sh
cd /home/oracle/oraInventory
sh orainstRoot.sh
三、数据库建库
1) 还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库。
经过漫长的等待,当看到此界面,说明oracle建库完成
四、配置监听及本地网络服务
1)在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面。
2)创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)
3) 配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)
输入连接的oracle服务器的数据库的实例名
输入oracle服务器的ip地址
选中YES测试
点击change Login 输入所连接oracle服务器的其中某一个用户名和密码(用户名oracle和设置的密码),点击OK
看到此界面说明测试成功(如果不成功,请查看网络是否畅通,所连接的oracle服务器是否启动,监听是否启动等原因)
为你所设置的本地网络服务名起个名字
这样oracle服务器安装配置基本就完成了
注意:
1、Linux oracle数据库listener.ora存放路径
cd /home/oracle/app/oracle/proct/11.2.0/dbhome_1/network/admin/listener.ora
2、Linux oracle数据库tnsnames.ora存放路径
cd /home/oracle/app/oracle/proct/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 Proction 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;
‘伍’ linux怎么安装oracle11g
一:查看本地ssh服务
Linux系统下安装启动ssh服务,下面以CentOS版本Linux系统为例:
1.检查是否装了SSH包
rpm -qa |grep ssh
2.没有安装SSH直接YUM安装
yum install openssh-server
3.检查SSH服务是否为开机启动
chkconfig --list sshd
4.设置开机启动SSH服务
chkconfig --level 2345 sshd on
5.重新启动下SSH服务
service sshd restart
6.验证是否启动了22端口
netstat -antp |grep sshd
#22端口为ssh默认端口,确认SSH服务开启状态
二:查看本地IP
终端中,输入ifconfig命令
1 安装系统 都选英文
2 去掉火墙 和 selinux
chkconfig iptables off
chkconfig ip6tables off
chkconfig abrt-ccpp off
chkconfig auditd off
chkconfig certmonger off ----未执行成功
chkconfig cups off
chkconfig postfix off
修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
3 安装 yum
系统安装yum 在/home/soft/ 下建立 yum 文件夹,把系统光盘都到此目录
--先安装三个包
cd /home/soft/yum/Packages
rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
rpm -ivh createrepo-0.9.9-17.el6.noarch.rpm
createrepo . --运行
cd /etc/yum.repos.d
cp rhel-source.repo /etc/yum.repos.d/zj.repo
--将原来的repo文件改名字
mv rhel-source.repo rhel-source.repo111
vi zj.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///home/soft/yum/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[rhel-source-beta]
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source
baseurl=file:///home/soft/yum/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
--清楚yum缓存
yum clean all
3 安装ftp
rpm -ivh vsftpd-2.2.2-11.el6.x86_64.rpm 或者 yum install vsftpd
chkconfig vsftpd on
service vsftpd restart
--修改 etc/vsftpd 目录下
ftpuser user_list 把root 去掉
vsftpd.conf 把匿名去掉
#anonymous_enable=YES
-- passive mode 被动模式
4 安装vnc rpm -qa |grep vnc
--vnc 服务 端口是 1
rpm -ivh tigervnc-server-1.1.0-5.el6.x86_64.rpm --需要先安装下面的包
xorg-x11-fonts-misc is needed by tigervnc-server-1.1.0-5.el6.x86_64
rpm -ivh xorg-x11-fonts-misc-7.2-9.1.el6.noarch.rpm
--或者直接yum安装
yum install tigervnc-server
--修改配置文件将用户名称加入到配置文件:
(注:这里的“用户名”是指linux系统用户的名称)
[gavin@centos ~]# vi /etc/sysconfig/vncservers
#
# Uncomment the line below to start a VNC server on display :1
# as my 'myusername' (adjust this to your own). You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted! For a secure way of using VNC, see
# http://www.uk.research.att.com/vnc/sshvnc.html>.
# VNCSERVERS="1:myusername"
# VNCSERVERS="1:gavin 2:john" # use the method for more user
VNCSERVERS="1:root 2:root 3:root"
# VNCSERVERARGS[1]="-geometry 800x600"
VNCSERVERARGS[1]="-geometry 1024x768"
--设置口令
vncpasswd
4.93 bjsqrac1 4.94 bjsqrac2
--启动服务
启动VNC服务
[gavin@centos ~]# /sbin/service vncserver start
--修改桌面系统
cd /root
cd ~/.vnc/
[gavin@centos .vnc]$ vi xstartup
#!/bin/sh
# Uncomment the following two lines for normal desktop:
#unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session & #set starting GNOME desktop
#startkde & #kde desktop
#twm & #Text interface
编辑 /root/.vnc/xstartup
[root@localhost ~]# vi /root/.vnc/xstartup
去掉下面一行的注释:
unset SESSION_MANAGER
执行下面的命令重启vnc server:
[root@localhost ~]# vncserver -kill :1
[root@localhost ~]# vncserver :1
--重启vncserver
[gavin@centos ~]# /sbin/service vncserver restart
chkconfig vncserver on --vnc自动启动
2 关闭linux防火墙
--修改/etc/selinux/config,确保SELINUX设置为DISABLED
--关闭IPTABLES:
service iptables stop
service ip6tables stop
/sbin/chkconfig iptables off
/sbin/chkconfig ip6tables off
2 检查包安装情况
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers lio lio-devel libgcc libstdc++ libstdc++-devel ksh make libXp openmotif22 sysstat smartmontools unixODBC unixODBC-devel
--系统安装包
yum install compat-libstdc++-33
yum install elfutils-libelf-devel
--下面用 yum安装
yum install gcc
yum install gcc-c++
yum install glibc-devel
yum install glibc-headers
yum install lio-devel
yum install libstdc++-devel
yum install ksh
yum install libXp
yum install unixODBC
yum install openmotif22
yum install unixODBC-devel
--安装和libcap 所有有关的包
yum install libcap.i686
yum install libcap-devel.x86_64
yum install libcap-devel.i686
yum install libcap-ng.i686
yum install libcap-ng-devel.i686
--linux 6 检查的时候一些 i386的包需要安装,但是安装i386 的时候提示有高版本存在,不能安装,我采取忽略,继续安装,但是要保证高版本的包一定要安装上
一、修改操作系统核心参数
在Root用户下执行以下步骤:
1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件
输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。
oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536编辑完成后按Esc键,输入“:wq”存盘退出
2)修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。
session required /lib/security/pam_limits.sosession required pam_limits.so编辑完成后按Esc键,输入“:wq”存盘退出
3)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件
fs.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编辑完成后按Esc键,输入“:wq”存盘退出
4)要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 显示如下:
linux:~ # sysctl -pnet.ipv4.icmp_echo_ignore_broadcasts = 1net.ipv4.conf.all.rp_filter = 1fs.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 = 10485765)编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件。
if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifi编辑完成后按Esc键,输入“:wq”存盘退出
6)创建相关用户和组,作为软件安装和支持组的拥有者。
创建Oracle用户和密码,输入命令:
/usr/sbin/groupadd -g 501 oinstall
/usr/sbin/groupadd -g 502 dba
然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。
7)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
输入命令:
mkdir /home/oracle/appmkdir /home/oracle/app/oraclemkdir /home/oracle/app/oradatamkdir /home/oracle/app/oracle/proct8)更改目录属主为Oracle用户所有,输入命令:
chown -R oracle:oinstall /home/oracle/app9)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,
输入:su – oracle ,然后直接在输入 : vi .bash_profile
按i编辑 .bash_profile,进入编辑模式,增加以下内容:
export ORACLE_BASE=/home/oracle/appexport ORACLE_HOME=$ORACLE_BASE/oracle/proct/11.2.0/dbhome_1export ORACLE_SID=orclexport PATH=$PATH:$HOME/bin:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib编辑完成后按Esc键,输入“:wq”存盘退出
二、安装过程
1)当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。首先将下载的Oracle安装包复制到linux中,用SSH其他ftp工具拷贝。
打开一个终端,运行unzip命令解压oracle安装文件,如:
输入命令:
解压完成后 cd 进入其解压后的目录database
输入命令:
cd database
使用ls命令可以查看解压后database所包含的文件,如下图:
2)执行安装,输入命令:./runInstaller
安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置,如:我的就在/home/oracle/app/oracle/proct/11.2.0/dbhome_1/root.sh
和 /home/oracle/oraInventory/orainstRoot.sh 新开启一个终端,输入命令:
‘陆’ linux怎么安装oracle
检查硬件是否满足要求
1)确保系统有足够的 RAM 和交换空间大小,运行以下命令:
#grep MemTotal /proc/meminfo
#grepSwapTotal /proc/meminfo
注:所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。
2)确保有足够的磁盘空间。Oracle 10g软件大约需要 2.5GB 的可用磁盘空间,数据库则另需至少1.2G的磁盘空间
3)/tmp 目录至少需要 400MB 的可用空间。
要检查系统上的可用磁盘空间,运行以下命令:
#df-h
检查系统是否已安装所需的开发包
使用rpm -qa命令,确保以下包已成功安装。对于包的版本,只有版本高于下面的都可以,如果低于此版本,则要升级处理,如下:
binutils-2.15.92.0.2-13.EL4
compat-db-4.1.25-9
compat-libstdc++-296-2.96-132.7.2
control-center-2.8.0-12
gcc-3.4.3-22.1.EL4
gcc-c++-3.4.3-22.1.EL44
glibc-2.3.4-2.9
glibc-common-2.3.4-2.9
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-22.1
libstdc++-devel-3.4.3-22.1
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
setarch-1.6-1
lio-0.3.103-3
创建oracle组和oracle用户
创建用于安装和维护 Oracle 10g软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall(用于软件安装) 和 dba(用于数据库管理)。
#groupadd oinstall
#groupadd dba
#useradd -m -g oinstall -G dba oracle –poracle (p表示添加帐号密码)
创建oracle目录并改变目录权限
现在,创建存储 Oracle 10g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。
以 root 用户身份执行以下命令:
#mkdir -p /u01/app/oracle # oracle根目录,-p 表示递归建立目录
#mkdir -p /u02/oradata # oracle数据文件存放目录
#chown -R oracle:oinstall /u01
#chown -R oracle:oinstall /u02
#chmod -R 775 /u01
#chmod -R 775 /u02
配置linux内核参数
#vi/etc/sysctl.conf,添加如下内容:
kernel.shmall = 2097152
kernel.shmmax = 2147483648 #此处默认设置为2G,数值一般设为物理内存的40~50%
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
完成后,运行以下命令激活更改:
#sysctl–p
注:Linux 内核非常出色。与大多数其他 *NIX 系统不同,Linux 允许在系统启动和运行时修改大多数内核参数。完成内核参数更改后不必重新启动系统。Oracle 数据库 10g 需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。
配置oracle用户的shell限制
#vi /etc/security/limits.conf 添加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
#vi /etc/pam.d/login 添加如下内容:
session required pam_limits.so
导出x图形界面给oracle用户
由于安装时采用的是oracle的OUI图形化界面,需要X支持,而默认oracle用户是不支持图形化操作的,必须以root的身份导出X给oracle用户使用。运行如下命令:
#xhost +
access control disabled,clients can connect from any host
出现以上文字表示导出成功。
oracle用户下执行
1.2.1设置环境变量
#su –oracle
$vi .bash_profile
加入以下内容:
TMP=/tmp
TMPDIR=$TMP
ORACLE_BASE=/u01/app/oracle #oracle 根目录
ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1 #oracle 家目录
ORACLE_SID=orcl #根据实际需要命名
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
PATH=$ORACLE_HOME/bin:$PATH
exportTMP TMPDIR ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
$source .bash_profile #使环境变量生效
2、安装 Oracle
2.1、下载并解压oracle软件
从Oracle网站下载10201_database_linux_x86_32.cpio.gz到oracle用户家目录下/home/oracle/(也可为其他目录),使用oracle用户登录后,解压此文件:
$startx
$cd /home/oracle
$gunzip 10201_database_linux_x86_64.cpio.gz
$cpio -idmv <10201_database_linux_x86_64.cpio
以上操作将Oracle安装文件解压到database/目录。
(根据下载的包的格式不同,解压出来后的目录格式可能不同。)
2.2、Oracle OUI进行图形化安装(推荐使用高级安装方式)
切换到database/目录下,运行以下命令:
$cd database
$./runInstaller
检验是否安装成功
数据库正常安装结束后,默认是启动的。以oracle用户身份运行以下命令测试:
$sqlplus/ as sysdba
SQL>selectopen_mode from v$database;
OPEN_MODE
------------------
READ WRITE
若出现以上文字说明数据库正在正常运行。自此,数据库安装成功。
‘柒’ linux 安装oracle 需要安装哪些包
安装oracle必须的包如下:
compat-gcc-c++
compat-libstdc++
compat-libstdc++-devel
gcc-3.2.3-20
make-3.79.1-17
binutils-2.14.90.0.4-26
openmotif-2.2.2-16
setarch-1.3-1
compat-db-4.0.14.5
compat-gcc-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-gcc-34-c++-3.4.6-4.i386.rpm
‘捌’ oracle数据库linux系统预安装包在哪下载没有咋办
oracle数据库linux系悉困统预安装包没有的解决方法是:
如果系统有禅握软件包没有安装,可以在RHEL7.0的光盘Package目录中找到,安装这些包。因RHEL7.0版本比较高,对应的软件包版本会比需要的高,没关系,软件向下兼容,不影响Oracle的贺陆庆安装和使用。
‘玖’ linux安装oracle需要几个安装包
楼主安装的是哪个oracle版本。如果是11G的还要安装ASM,大致分为简败散三部分,ASM,GRUB,DATABASE,这三部分力都会有相应的依赖关系的包,楼不binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
lio-0.3.107-10.el6 (x86_64)
lio-0.3.107-10.el6.i686
lio-devel-0.3.107-10.el6 (x86_64)
lio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_6
先装着,后面有检测,没装上的包,后拦氏面枯贺检验时会提醒你装的。
具体的包:
‘拾’ Linux7.8下静默安装oracle11.2
一、使用脚本初始化环境
脚本如下:(标红处修改对应的配置需求)
#!/bin/bash
#1.配置主机名/etc/hosts 并关闭瞎尺防火墙及selinux
echo ' 172.168.0.xx linux.tk ' >> /etc/hosts
#注意修改为服务器的ip和主机名
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#2.安装相关软件包
yum -y install telnet vim lszrz gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel
elfutils-libelf-devel-static ksh lio lio-devel numactl-devel sysstat
unixODBC unixODBC-devel pcre-devel wget unzip
#3.配置内核参数
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >>散神胡 /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048576" >> /etc/sysctl.conf
sysctl -p
#4.oracle用户资源限制
echo "oracle soft nproc 2047" >>/etc/security/limits.conf
echo "oracle hard nproc 16384" >>/etc/security/limits.conf
echo "oracle soft nofile 4096" >>/etc/security/limits.conf
echo "oracle hard nofile 65536" >>/etc/security/limits.conf
#5.登录配置
echo "session required /lib64/security/pam_limits.so" >冲拦> /etc/pam.d/login
echo "session required pam_limits.so" >> /etc/pam.d/login
#改授权
echo "if [ $USER = 'oracle' ];then" >> /etc/profile
echo "if [ $SHELL = '/bin/ksh' ];then" >> /etc/profile
echo "ulimit -p 16384" >> /etc/profile
echo "ulimit -n 65536" >> /etc/profile
echo "else" >> /etc/profile
echo "ulimit -u 16384 -n 65536" >> /etc/profile
echo "fi" >> /etc/profile
echo "fi" >> /etc/profile
source /etc/profile
#6.创建用户组和用户
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
echo 'oracle' | passwd --stdin oracle
#7.创建相关目录
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app
#8.配置oracle用户环境变量
echo "ORACLE_SID=ora; export ORACLE_SID" >> /home/oracle/.bash_profile
#sid指定为现场的sid
echo "ORACLE_BASE= /u01/app/oracle ; export ORACLE_BASE" >> /home/oracle/.bash_profile
echo "ORACLE_HOME=$ORACLE_BASE/ proct/11.2.0/dbhome_1 ; export ORACLE_HOME" >> /home/oracle/.bash_profile
echo "ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH" >>/home/oracle/.bash_profile
echo "ORACLE_TERM=xterm; export ORACLE_TERM" >> /home/oracle/.bash_profile
echo "TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN" >> /home/oracle/.bash_profile
echo "ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11" >> /home/oracle/.bash_profile
echo "PATH=.:${JAVA_HOME}/bin:${PATH}:$ORACLE_HOME/bin " >> /home/oracle/.bash_profile
echo "PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin " >> /home/oracle/.bash_profile
echo "export PATH " >> /home/oracle/.bash_profile
echo "export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK" >> /home/oracle/.bash_profile
echo "LD_LIBRARY_PATH=$ORACLE_HOME/lib" >> /home/oracle/.bash_profile
echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib " >> /home/oracle/.bash_profile
echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib " >> /home/oracle/.bash_profile
echo "export LD_LIBRARY_PATH" >> /home/oracle/.bash_profile
echo "export LANG=en_US.UTF-8 " >> /home/oracle/.bash_profile
echo "export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK" >> /home/oracle/.bash_profile
echo "CLASSPATH=$ORACLE_HOME/JRE " >> /home/oracle/.bash_profile
echo "CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib" >> /home/oracle/.bash_profile
echo "CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib" >> /home/oracle/.bash_profile
echo "CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib" >> /home/oracle/.bash_profile
echo "export CLASSPATH" >> /home/oracle/.bash_profile
echo "THREADS_FLAG=native; export THREADS_FLAG" >> /home/oracle/.bash_profile
echo "nls_date_format='yyyy-mm-dd hh24:mi:ss' " >> /home/oracle/.bash_profile
echo "export nls_date_format " >> /home/oracle/.bash_profile
echo "export TEMP=/tmp " >> /home/oracle/.bash_profile
echo "export TMPDIR=/tmp " >> /home/oracle/.bash_profile
echo "umask 022 " >> /home/oracle/.bash_profile
source ~/.bash_profile
二、上传或者下载oracle安装包并解压,例如放置在/opt/目录下
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
直接在目录解压,会在当前目录中生成database目录
三、修改应答文件安装数据库软件
修改前建议先备份下
cp /opt/database/response/*.rsp /opt/database/rspbak
3.1、生成修改响应文件(/opt/database/response/db_install.rsp)
备注:清空源文件,复制粘贴如下内容(标红处需要修改对应的设置需求):
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME= linux.tk
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION= /u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME= /u01/app/oracle/proct/11.2.0/dbhome_1
ORACLE_BASE= /u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:10.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
DECLINE_SECURITY_UPDATES=true
oracle.installer.autoupdates.option=SKIP_UPDATES
3.2、开始安装
1)、用oracle用户登录操作
# su - oracle
$ cd /opt/database
$ ./runInstaller -silent -responseFile /opt/database/response/db_install.rsp
2)、在安装过程中可以新开会话,使用tailf 命令查看进度
# tailf /u01/app/oraInventory/logs/installActions2022-XX-XX_03-28-06PM.log
提示安装结束,需要在root用户执行两个脚本,如下:
# /u01/app/oraInventory/orainstRoot.sh
# /u01/app/oracle/proct/11.2.0/dbhome_1/root.sh
四、修改应答文件安装数据库实例(/opt/database/response/dbca.rsp)
安装实例前,需要新建一个实例存放的目录(/home/OracleData/),如下:
# mkdir /home/OracleData
# chown -R oracle:oinstall /home/OracleData/
4.1、修改应答文件
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "ora"
SID = "ora"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "***012"
SYSTEMPASSWORD = "***012"
DATAFILEDESTINATION = /home/OracleData/
RECOVERYAREADESTINATION = /u01/app/oracle/flash_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "2048"
4.2、建实例,登录oracle用户
# su - oracle
$ dbca -silent -responseFile /opt/database/response/dbca.rsp
此安装过程是有进度显示,不用tailf查看,不过也可以查看对应的log日志查看进度
4.3、删除实例
编辑应答文件
#vim /opt/database/response/del_dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "deleteDatabase"
[DELETEDATABASE]
SOURCEDB = "ora "
$ dbca -silent -responseFile del_dbca.rsp
五、启动监听,配置自启动等
5.1、启动监听
# su – oracle
$ lsnrctl start
查看状态 lsnrctl status
# netstat -tnulp | grep 1521
# ps -ef | grep ora_ | grep -v grep
5.2、设置自启动
修改vim /etc/oratab 如下
ora:/u01/app/oracle/proct/11.2.0/dbhome_1: Y
5.3、修改dbstart文件
vim /u01/app/oracle/proct/11.2.0/dbhome_1/bin/dbstart
将ORACLE_HOME_LISTNER=$1
修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
5.4、将dbstart加入开机自启动,/etc/rc.d/rc.local中增加
su - oracle -lc /u01/app/oracle/proct/11.2.0/dbhome_1/bin/dbstart
赋权限 chmod +x /etc/rc.d/rc.local
5.3、登录数据库设置权限等
sqlplus / as sysdba
startup;
alter system register;
create user ora identified by ***012;
grant dba to ora;
exit
六、远程连接数据库
6.1、开放1521端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd –reload
firewall-cmd --list-ports