部署阿里云服务器详解2 安装oracle11g

     — 首先的得有两个11g的zip文件吧 其次阿里的Xmanager搞一套 很好用~~

    1.在//目录下创建/u01/software     /u01/app/oracle  得进入 //下创建  因为官方文档就是按这个目录结构来的 当然你也可以创建其他目录 

    2.接下里安装了   首先oracle的一些初始配置 :

        –*首先检查物理内存的大小 grep MenTotal /proc/meminfo

        –* 检查交换分区内存大小 grep SwapTotal /proc/meminfo

         oracle的要求交换分区的大小一般为物理内存大小的一点五到两倍  刚注册的服务器一般物理内存为八g 所以swap内存可以设为十六g 当然你也可以将物理内存改小点但它们之间的关系必须满足

       –*设置交换分区大小为物理内存的两倍 假设物理的为8g

        dd if=/dev/zero of=/tmp/tmp.swap bs=1M count=16384;

        mkswap /tmp/tmp.swap

        swapon /tmp/tmp.swap

        vi /etc/fstab

        i (插入 在文件末尾)

        /tmp/tmp.swap swap swap default 0 0

       :wq 保存退出

       –* 修改profile文件

       vi /etc/profile 

      在末尾加入服务器的内部地址 和 对应的主机名

      保存退出

       –*将11g的两个zip文件传到新建的software下

       unzip ****1of2.zip ; unzip *****2of2.zip   这两个必须在同一个文件下 解压后会在解压目录下生成database文件夹

     –*下载需要的安装包

    yum -y install binutils compat-libstdc++-33 compat-libstdc++ elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

      –*创建用户和组

        groupadd onistall

         groupadd dba

         useradd -g oinstall -G dba oracle

     passwd oracle

        然后就一直输入密码假设为 oracle 它可能会提示你不符合oracle规定 别理他

      –* 配置oracle的环境变量

        vi ~oracle/.bash_profil

        i 插入这些东西

         export ORACLE_BAES=/u01/app/oracle

        export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
         export ORACLE_SID=orcl
         export PATH=$ORACLE_HOME/bin:$PATH

           保存退出

       -** 配置内核参数

         vi /etc/sysctl.conf 

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296后面插入

      fs.aio-max-nr =1048576
      fs.file-max = 6815744
       kernel.shmmni = 4096
      kernel.sem = 250 32000 100 128
        net.ipv4.ip_local_port_range = 9000 65500
         net.core.rmem_default = 262144
       net.core.rmem_max = 4194304
        net.core.wmem_default = 262144
         net.core.wmem_max = 1048576

  然后是 让它生效 具体命令忘求了 回头看一下 补上

   修改oracle用户的一些登录设置

     vi /etc/pam.d/login
      session required pam_limits.so

     往哪插 自己找 格式差不多的地方插 然后退出

    配置

      vi /etc/security/limits.conf

# End of file后面插入

     oracle soft nproc 8192
     oracle hard nproc 16384
      oracle soft npfile 32768
      oracle hard npfile 65536

     保存退出 

      好了 基本配置完成了 接下来图像化安装 打开起先下载好的xstar   以上均为root用户操作

        接下来用刚建的oracle用户 

       连接上 记得选ssh  用oracle 用户登录 就是前面创建用户和组的时候建的 本例是 oracle:oracle

      最下面输入

      /usr/bin/xterm -ls -display $DISPLAY  当然也可以输入 /usr/bin/gnome-session –display $DISPLAY 我推荐第一条 具体由什么区别自己试试就知道 结果一样

     完后你会发现各种报错  什么x11申请拒绝 什么not file 

     回来安装几个包  用root用户

     yum install -y xterm 

     yum install xorg-x11-xauth

     yum groupinstall  “Desktop” -y

   然后再用哪个xstart连接  

    记住此时是oracle用户了

    成功后会有一个小型的shell模型输入框 

     cd /u01/software/database

      ./runinstall 差不的一个命令 忘了叫什么了 

      等一会 图形化界面就出来了 

      该点哪 该勾哪 自己考虑    网上找找都什么意思  第一次我特么装了个多实例的 差点被老板干了

    然后 在检查安装环境的那一步 肯定由问题的 具体什么网上找找 都很简单的 能解决  解决后回去 check agin  千万不要关了

    那些包提示没有  直接全部忽略 

    然后就安装完成了 

 

          -** 最后本例是图形化安装 会用到xmanager的xstart文件  千万不要在环境变量里设置display 会报错的 她会自己设置的

          哦忘了个事     安装的时候可能会提示你 app /oarcle文件夹不能创建  权限问题  

        root下把u01文件夹的权限给了oracle

       chown -R oracle:oinstall /u01    

       chmod -R 775 /u01

        然后再试

        成功后  oracle登录 连接  xshell   

        输入sqlplus  /nolog     //不认识的话 是oracle环境变量有问题  其实和jdk环境变量一个意思 得指向oracle得安装路径  这也是为啥前面建立文档默认得文件夹了 不然它   会在/home/oracle下安装

               connect /as sysdba 

            startup  //会提示让你先关了

           shutdown immediate

             start up

            最后进入 cd /$ORALC_HOME/bin

             lsnrctl start 把监听起了

     ———————————————————————————————————-

          创建用户

        connect   /as sysdba

    create user xxx identified by xxx; 用户名和密码

    删除用户

     drop user xxx cascade;  sql下得都是sql语句 有分号

     赋权限

     grant dba,resource,connect to xxx;  一般创建好用户都会赋予这个权限得

     quit 退出sql

     imp  xxx/xxx file=xxx.dpm full=y  导入表 在~下 

     关于导入时报错 

   ORA-12899 

     我草 我字变尼玛这么大 

    

字符集问题:
源库192.168.216.172为oracle 9.2.0.6 ZHS16BGK,汉字在数据库存放的时候占用两个字节
目标库192.168.51.67为10.2.0.2 UTF8,汉字在数据库里存放的时候占用三个字节
由于字符集不同,导致现在数据库IMP的时候有些表的字段长度不够,出现ORA-12899: value too large for column的错误。
解决方法:
在51.67数据库上执行:
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP MOUNT
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL>ALTER DATABASE OPEN
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK
–设置INTERNAL_USE指令不对字符集超集进行检查:
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP
      你可以先进sql里面查看一下自己得字符集

   select userenv(‘language’) from dual;