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,也更好,因此还是决定用触发器,其他地方尽力少用吧,防止锁表之类的。
其他细节也还多,但都很容易在网上搜索到,还有些问题暂时没在项目中遇到,就不写了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述