LINUX安装配置及连接oracle数据库

时间:2021-04-15 08:32:45

LINUX安装配置及连接oracle数据库

 

注:最开始的准备工作是下载linux下的oracle安装包,其次是安装图形界面,后面的安装需要图形界面进行配置。这里用到的是vnc,vnc的安装过程已由他人写出。

一、   安装前的准备工作

1)    检查基本需求(对于牛逼的服务器来说,这个肯定是满足要求的,可以跳过) 

内存大小 
grep MemTotal /proc/meminfo 
交换分区大小 
grep SwapTotal /proc/meminfo 
增加交换分区 
创建/home/swap这么一个分区文件。文件的大小是5120000block,一般情况下1block1K,所以这里空间是5G 
dd if=/dev/zero of=/home/swap bs=1024 count=5120000 
接着再把这个分区变成swap分区。 
mkswap /home/swap 
然后把它加到fstab里面 
echo "/home/swap swap swap defaults 0 0" >> /etc/fstab 


2)     检查软件需求,没有的就输入yum install进行安装 

键入:
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh

 

这个时候会出现很多  xxxx is not installed

只需按顺序yum install xxxx即可完成绝大部分的文件

最后一个pdksh会出现异常,我遇到的是文件无法访问。

 

这个时候要下载pdksh-5.2.14-1.i386.rpm文件。

到这里下http://pan.baidu.com/s/1jGrFYxK

 

下载完毕之后:

a) 安装pdksh

rpm -ivh pdksh-5.2.14-1.i386.rpm

b) 出错如下:

Failed dependencies: 
ld-linux.so.2 is needed by pdksh-5.2.14-1.i386 
libc.so.6 is needed by pdksh-5.2.14-1.i386 
libc.so.6(GLIBC_2.0) is needed by pdksh-5.2.14-1.i386 
libc.so.6(GLIBC_2.1) is needed by pdksh-5.2.14-1.i386 
[root@rmbsclient ~]#

 

 

这个时候只需yum install上面缺的ld-linux.so.2,以及libc.so.6完成之后

重复第一步的安装

rpm -ivh pdksh-5.2.14-1.i386.rpm

 

安装完成

 

至此安装前的准备环境搭建完成。

二、  安装中的修改工作

     1.修改用户的SHELL限制,输入命令:vi  /etc/security/limits.conf,按i键进入编辑模式,添加下列内容,编辑完成后按Esc键,输入“:wq”存盘退出。

                     oracle   soft    nproc    2047

                     oracle   hard    nproc    16384

                     oracle   soft    nofile     1024

                     oracle   hard    nofile    65536

     2.修改/etc/pam.d/login文件,输入命令:vi  /etc/pam.d/login,按a键进入编辑模式,添加下列内容,编辑完成后按Esc键,输入“:wq”存盘退出。

                     session   required    /lib/security/pam_limits.so 

                     session   required    pam_limits.so

     3.修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi  /etc/sysctl.conf ,按a键进入编辑模式,添加下列内容,编辑完成后按Esc键,输入“:wq”存盘退出。然后,使用命令:source  /etc/sysctl.conf 使之立刻生效。

                     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

     4.编辑 /etc/profile,输入命令:vi  /etc/profile,添加下列内容,编辑完成后按Esc键,输入“:wq”存盘退出。

                      if [ $USER = "oracle" ]; then 

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

                           ulimit -p 16384 

                           ulimit -n 65536 

                      else 

                           ulimit -u 16384 -n 65536 

                      fi

                      fi

     5.创建oracle用户和组,作为软件安装和支持组的拥有者

            A:创建组,使用如下命令

                      groupadd  oinstall 

                      groupadd  dba

           B:创建orcale用户,并设置密码,如下命令

                      useradd -g oinstall -g dba -m oracle

                      passwd  oracle

     6.根据磁盘空间大小,创建数据库软件目录和数据文件存放目录,目录的位置,这里以home目录作为例子,如下:

                       mkdir /home/oracle/app

                       mkdir /home/oracle/app/oracle

                       mkdir /home/oracle/app/oradata

                       mkdir /home/oracle/app/oracle/product

     7.更改目录属主为Oracle用户所有,如下命令:

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

     8.配置oracle用户的环境变量,必须切换到新创建的oracle用户下,如下命令:

                      输入:su oracle  (注意空格)

                      然后编辑文件 vi .bash_profile,添加如下内容,并保存退出。

                      umask 022

                      export ORACLE_BASE=/home/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

至此修改工作完成。

三、  安装步骤

     1.以上配置全部完成后,输入su - oracle切换为oracle用户,以图形界面用Oracle用户登陆。将下载到本地的linuxOracle安装包上传到linux中的目录中,然后使用如下命令解压:

上传:

                     rz p10404530_112030_Linux-x86-64_1of7.zip 

                     rz  p10404530_112030_Linux-x86-64_2of7.zip

    解压:

                     unzipp10404530_112030_Linux-x86-64_1of7.zip 

                     unzip  p10404530_112030_Linux-x86-64_2of7.zip

 

解压完成之后,继续以oracle身份进入bin

#cd /bin

输入#xhost+

#xhost + localhost

此举的目的是设置进入图形化安装界面。

#export LANG=en_US

此举的目的是设置安装界面的文字类型。(这一步不能漏)

进入database(#cd database)

#./runInstaller

开始安装

此处省略各种图形界面

 

 

 

 

2.确认安装成功

Linux下的Oracle在安装结束后是处于运行状态的。运行top –u oracle可以看到以Oracle用户运行的进程。在图形化界面下,运行$ORACLE_HOME/sqldeveloper/sqldeveloper.sh可以出现Oracle自带的免费Oracle管理客户端SQL Developer。试着连接刚安装的Oracle,连接成功。

 

这时需要重启服务器,看服务器重启后,Oracle是否可以正常启动。以Root用户运行reboot命令可以重启Linux,重启完成后,默认情况下Oracle并不像Windows中的Oracle那样注册成服务,随机器一起启动的,所以需要手动敲入命令来启动。启动方式:以oracle用户登录运行以下语句:

注:Backspace变成^H的解决方法:

Ctrl+Backspase

 

1. 进入sqlplus

sqlplus /nolog

2. sysdba的身份连接到数据库,并启动Oracle数据库引擎:

SQL> conn /as sysdba

SQL> startup

3. 退出sqlplus,运行Listener

SQL> exit

 

下面是启动数据库监听器

$ lsnrctl start

这个时候出现了错误,listener出现error

 

启动失败,这个时候需要修改listener.ora

 

添加在listener.ora文件的上半部分添加如下代码:

SID_LIST_LISTENER =
(SID_DESC =
      (GLOBAL_DBNAME = orcl)     
      (ORACLE_HOME = “dbhome_1的路径” )     
      (SID_NAME = orcl)     
      ) 

必须以SID_LIST_LISTENER =开头

且要顶格写 

 

此处参考:http://www.itpub.net/thread-1600132-1-1.html    十楼的回复)

 

重启lsnrctl start

 

Ok

 

 

 

接下来就是用户的创建:

 

SQL>sqlplus /nolog  SQL>conn /as sysdba

创建新用户

create user XXX identified by XXX

授予所有权限

grant connect,resource,dba,sysdba  to XXX ;

 

若出现密码不对的时候(忘记密码):

scott用户的密码不对,进入管理员用户,修改scott用户密码即可
或者这样修改密码:
在运行栏里面敲:sqlplus(空格)/nolog回车
接着在弹出框里面敲:conn sys/password as sysdba回车
提示已连接
最后敲:alter user scott identified by scott123;回车
alter user scott account unlock;回车(SCOTT解锁)
这样就解决了。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

最后一步sqldeveloper连接服务器的数据库

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

连接数据库出错:

ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist

SQL> startup force 
ORA-01261: Parameter db_recovery_file_dest destination string cannot be translat 
ed 
ORA-01263: Name given for file destination directory is invalid 
OSD-04018: ?????????????????????????? 
O/S-Error: (OS 2) ?????????????????????? 

原来是某一个文件无效,找到打开 SPFILE,它是二进制码, 但是还能看清部分文字,找到DB_RECOVERY_FILE_DEST的值,然后顺着那个值没有对应的目录flash_recovery_area 
然后就在database中新建了一个flash_recovery_area文件夹

 

没想到直接建立个空的目录就成功了

创建完成重新连接即可

 

 

 

 

 

 

 

录入数据时可能出现的中文乱码问题:

Sqldeveloper中文乱码的问题

regedit->MATCHINE->SOFTWARE->ORACLE下有个NLS_LANG,

GBK改为UTF8即可