• oracle 安装 启动listener 建库相关


    安装

    参考 http://www.cnblogs.com/gaojun/archive/2012/11/22/2783257.html

    几个问题:

    1. 用户删除问题

    p001:~ # userdel -r oracle
    userdel: account `oracle' is currently in use.
    p001:~ # who
    weblogic :0           May  6 05:23
    root     pts/0        May  6 08:35 (10.0.0.36)
    weblogic pts/1        May  6 08:50 (10.0.0.116)
    oracle   pts/3        May  6 07:11
    oracle   pts/4        May  6 07:14 (10.0.0.36)
    p001:~ # ps -t pts/3
      PID TTY          TIME CMD
    17872 pts/3    00:00:00 bash
    p001:~ # ps -t pts/4
      PID TTY          TIME CMD
    17973 pts/4    00:00:00 bash
    p001:~ # kill -9 17872
    p001:~ # kill -9 17973

    2. ulimit –n 65536 问题

    错误信息:-bash: ulimit: open files: cannot modify limit: 不允许的操作

    普通用户不能设置超过当前ulimit –a 查看到的open file的值

    //open files                      (-n) 1024

    只能由root用户设置一个较大的值 比如65540 。 也就是说普通用户只能设置比当前值小 不能比当前值大

    解决办法 :

    可以在etc profile中 直接设置 ulimit –n 65536 

    当然这种情况是没有考虑区分用户 也没有考虑区分shell类型的

    3. 创建用户同时指定家目录

    useradd -g oinstall -G dba -d /home/oracle -m oracle

    4. 安装过程图形化问题

    可以在服务器上开启远程桌面服务 suese是vnc,还是比较简单的.

    我一开始直接在虚拟上操作的,因为virtualbox的bug 导致鼠标定位错位,无法点击,烦恼了好久浪费了些时间.

    当然也可以考虑xbrowser工具

    详细安装过程参考 http://www.cnblogs.com/gaojun/archive/2012/11/22/2783257.html

     

    5. 界面乱码问题

    在执行安装脚本前先执行

    export LANG=en_US

    即可

    6. 依赖检查问题

    检查有三块 1 是 swap空间大小问题  2 是系统参数问题 3是依赖的动态链接库问题

    1 2 可以不用解决  解决3就可以了

    解决3的办法 我用的是suse   挂上系统镜像光盘   然后在yast的软件管理中心中一个一个装上缺的依赖就可以了

    解决好之后 点击 忽略这些  就可以继续向下安装了

    listener配置

    1.网络环境配置

    如需要修改主机 则用yast网络配置进行

    检查 /etc/hosts文件中的ip与主机名的映射是否正确

    因为后面配置listener需要

    2. 配置listener

    netca

    图形化配置 没啥   界面乱码与上面解决办法相同

    配置好之后  检查1521端口是否在监听

    如果没有监听   用命令

    lsnrctl start 启动

    数据库配置

    实例启动报错问题

    sqlplus /nolog、conn /as sysdba、startup命令后显示

    could not open parameter file /initORCL.ora'

    参考 http://blog.csdn.net/lyayfy/article/details/9793735 方法1 :

    解决方法1(已经验证):
    将$ORACLE_BASE/admin /数据库名称/pfile目录下的init.ora.012009233838形式的文件copy到$ORACLE_HOME/dbs目录下 initoracle.ora即可。(注:initoracle.ora中的oracle为你的实例名 ORACLE_SID)

    多实例创建问题

    用dbca创建数据库即可,数据库名与实例一样即可。

    创建好之后 用system (密码在创建的时候你设置的)连接  然后创建用户并授权

    创建用户我用的dbvisual工作 操作的

    授权用的sql操作的(针对用户1):

    grant connect,resource to yonghu1;
    grant dba to yonghu1;

    oracle的用户想当于db2的schema, 一个数据库实例可以有多个用户  每个用户 可以各自创建一堆数据库对象(表啊什么的)。

    附一张连接配置图

    image

    oracle多实例用一个监听 有一点需要注意


    启动数据库的时候 我们通常是在用户的bash_profile中
    export ORACLE_SID=ORCL
    如果你这个时候
    sqlpus /nolog
    conn / as sysdba
    startup

    这个时候只会启动ORCL这个实例

    我多实例 还有一个实例怎么办 比如我另一个实例是BJ
    此时需要手动执行
    export ORACLE_SID=bj

    // 上面的设置要注意大小写 否则startup的时候 会出现  LRM-00109: could not open parameter file '/u01/oracle/db...
    然后 再 sqlpus /nolog.....
    然后再启动数据库...
    然后就可以在lsnrctl status中看到两个实例了
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=p213.efwk.afcati.com)(PORT=1521)))
    Services Summary...
    Service "ORCLXDB.efwk.afcati.com" has 1 instance(s).
    Instance "ORCL", status READY, has 1 handler(s) for this service...
    Service "bj" has 1 instance(s).
    Instance "bj", status READY, has 1 handler(s) for this service...
    Service "bjXDB" has 1 instance(s).
    Instance "bj", status READY, has 1 handler(s) for this service...
    Service "orcl.efwk.afcati.com" has 1 instance(s).
    Instance "ORCL", status READY, has 1 handler(s) for this service...
    The command completed successfully

    乱码问题

    oracle@p002:~> sqlplus /nolog
    
    SQL*Plus: Release 11.2.0.1.0 Production on Sat Apr 29 03:52:47 2017
    
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    
    SQL> connect / as sysdba
    Connected to an idle instance.
    SQL> shutdown immediate;  
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Linux-x86_64 Error: 2: No such file or directory
    SQL> startup mount  
    ORACLE instance started.
    
    Total System Global Area 1603411968 bytes
    Fixed Size            2213776 bytes
    Variable Size          939526256 bytes
    Database Buffers      654311424 bytes
    Redo Buffers            7360512 bytes
    Database mounted.
    SQL> ALTER SESSION SET SQL_TRACE=TRUE;
    
    Session altered.
    
    SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
    
    System altered.
    
    SQL> alter database open;
    
    Database altered.
    
    SQL> ALTER DATABASE character set INTERNAL_USE AL32UTF8;
    
    Database altered.
    
    
    SQL> shutdown immediate;  
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup  
    ORACLE instance started.
    
    Total System Global Area 1603411968 bytes
    Fixed Size            2213776 bytes
    Variable Size          939526256 bytes
    Database Buffers      654311424 bytes
    Redo Buffers            7360512 bytes
    Database mounted.
    Database opened.

    DB LINK与同义词

    这种主要用于oracle中跨用户的表访问

    oracle的用户相当于db2的schema  db2的schema 可以互相访问 加上前缀即可,但是oracle不行  需要通过这个办法解决。

    授予权限:
    grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to XTHIS;
    grant CREATE DATABASE LINK to XTHIS;

    创建db links:
    CREATE DATABASE LINK "你的link名字.REGRESS.RDBMS.DEV.US.ORACLE.COM" CONNECT TO 需要被link的用户名 IDENTIFIED BY "需要被link的密码" USING '(DESCRIPTION=
    (ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))
    )
    (CONNECT_DATA=(SID=ORCL)
    )
    )';

    // SID=ORCL 是你的连接sid的名字  如果你是service_name连接  则是 SERVICE_NAME=XXXX


    建同义词:
    CREATE OR REPLACE SYNONYM "你当前的用户名"."别名" FOR "被link的表名"@"你的link名字.REGRESS.RDBMS.DEV.US.ORACLE.COM";

    验证:
    select * from 别名

    --EOF--

  • 相关阅读:
    高质量c/c++编程(10)
    .net 访问excel问题
    高质量c/c++编程(9)
    C#排序算法 之 冒泡排序
    C#排序算法 之 希尔排序
    高质量c/c++编程附录
    C#排序算法 之 插入排序
    读《漂亮女上司》有感
    高质量c/c++编程(6)
    高质量c/c++编程(5)
  • 原文地址:https://www.cnblogs.com/simoncook/p/6763908.html
Copyright © 2020-2023  润新知