基本操作
⼀、修改操作系统核⼼参数在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 = 4096
kernel.sem = 250 32000 100 128
net.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 -p
net.ipv4.icmp_echo_ignore_broadcasts = 1net.ipv4.conf.all.rp_filter = 1fs.file-max = 6815744fs.aio-max-nr = 1048576kernel.shmall = 2097152
kernel.shmmax = 2147483648kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 4194304net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576
5)编辑 /etc/profile ,输⼊命令:vi /etc/profile,按i键进⼊编辑模式,将下列内容加⼊该⽂件。
if [ $USER = \"oracle\" ]; thenif [ $SHELL = \"/bin/ksh\" ]; thenulimit -p 16384ulimit -n 65536else
ulimit -u 16384 -n 65536fifi
编辑完成后按Esc键,输⼊“:wq”存盘退出
6)创建相关⽤户和组,作为软件安装和⽀持组的拥有者。创建Oracle⽤户和密码,输⼊命令:
useradd -g oinstall -g dba -m oraclepasswd oracle
然后会让你输⼊密码,密码任意输⼊2次,但必须保持⼀致,回车确认。
7)创建数据库软件⽬录和数据⽂件存放⽬录,⽬录的位置,根据⾃⼰的情况来定,注意磁盘空间即可,这⾥我把其放到oracle⽤户下,例如:输⼊命令:
mkdir /home/oracle/appmkdir /home/oracle/app/oraclemkdir /home/oracle/app/oradatamkdir /home/oracle/app/oracle/product
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/product/11.2.0/dbhome_1export ORACLE_SID=orcl
export 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安装⽂件,如:输⼊命令:
unzip linux.x64_11gR2_database_1of2.zipunzip 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/product/11.2.0/dbhome_1/root.sh
和 /home/oracle/oraInventory/orainstRoot.sh 新开启⼀个终端,输⼊命令:
su – root
cd /home/oracle/app/oracle/product/11.2.0/dbhome_1sh root.sh
cd /home/oracle/oraInventorysh 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/product/11.2.0/dbhome_1/network/admin/listener.ora2、Linux oracle数据库tnsnames.ora存放路径
cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora3、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 2012Copyright (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 ONEXTENT 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登录指定的实例,创建我们⾃⼰的表了
因篇幅问题不能全部显示,请点此查看更多更全内容