zoukankan      html  css  js  c++  java
  • oracle使用中遇到的问题备忘

    下班了,写两篇文章都回家了:)

    以前也用oracle,都是别人弄好了,我直接用,就只感觉存储过程,sql语法比用MSSQL稍微别扭点,其他配置很少接触,这次从用pd建表到弄好数据库让大家用,都大体弄了偏,了解了更多东西,把部分现在记下来的写下来做个备忘。

    PD里是可以直接设置表空间存放位置的,如表存放的表空间和lob对象单独存放表空间如下图:

    主键存放表空间设置如下:

    设置后,用PD生成SQL代码,则会自动生成表空间代码。

    oracle中存储过程的单步调试和直接生成结果,以前认为很麻烦,因为要用cursor对象,不想MSSQL直接exec 存储过程名就出来了,而是返回一个cursor,以前也没有解决怎么调试存储过程方便,这次发现,原来直接在pl/sql中比如packages里找到定义包头下面的存储过程,右键测试,自动就生成好对应的测试存储过程的代码,只需要在下面写好参数,生成后,点击cursor后面的...框,就能查看到该存储过程生成的结果了。

    感觉还麻烦点,但集成了单独调试啊等,感觉功能强大点。

    oracle DBLINK连接,这个纠结了我半天,其实弄好后发现很简单,我单独写了文本文档记录:

    远程连接了AAA后,需要连接BBB实例,并查询数据,DBLINK方法如下:

    create database link BBB
    connect to 用户 identified by
    密码 using '(DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = BBB)
        )
      )'

    如果登录的AAA(注意是登录的机器,不一定是本机)实例tnsnames.ora文件里面添加了类试:
    BBB=
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.254)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = BBB)
        )
      )

    这样的代码,则只需要:
    create database link BBB
    connect to 用户 identified by
    密码 using 'BBB'
    即可
    (注意:Link后面大写的BBB是取的名字, to后面的 用户 是登录名,by后面的 密码 是密码,using 后面双引号包含的是tnsnames.ora取的名字)


    ----------------------------------------------------------------

    测试如下:
    select *
    from EW_AREA@BBB;

    EW_AREA是远程数据库的表, BBB是link的名称,

    查询登录的机器所建立的所有DBLINK如下:
    select owner, db_link from dba_db_links

    删除指定DBLINK连接如下:
    DROP DATABASE LINK BB
    -------------------------------------------------------------------------
    如果建立全局用的,需要加public,比如:
    create public database link BBB2 ....

    删除则也需要删除全局的
    DROP public DATABASE LINK BBB2

    触发器的问题,自增字段开始准备调SQL的时候手写序列.Nextval,但是最后发现在用一些ORM工具创建对象时,比如直接就insert(item)对象了,这个时候需要先从序列里获取ID,再插入数据库,将连接两次数据库,并且写SQL或者存储过程的时候,如果不写序列.NextVal,也更好,因此还是决定用触发器,其他地方尽力少用吧,防止锁表之类的。

    其他细节也还多,但都很容易在网上搜索到,还有些问题暂时没在项目中遇到,就不写了。

  • 相关阅读:
    Arduino可穿戴教程Linux平台下安装Arduino IDE
    伪造服务钓鱼工具Ghost Phisher
    Xamarin开发教程如何使用Xamarin开发Android应用
    域名扫描工具Fierce
    利用DNS Zone Transfers漏洞工具dnswalk
    域名解析服务查询工具dnstracer
    FreeRTOS--API函数
    FreeRTOS中断优先级配置(重要)
    Win7 “Bluetooth设置”对话框无法打开,及无法查找到设备
    蓝牙4.0 BLE 防丢器
  • 原文地址:https://www.cnblogs.com/Lawson/p/1886880.html
Copyright © 2011-2022 走看看