Oracle 11g的踩坑日记

Oracle 11g相对来说卸载起来比19好卸载多了。来自一个直接莽着下完19再下11g的憨憨怨念。

单单就sql语句来说,感觉和mysql差别不是很大。然后是踩坑比较多的dblink,

首先是要确保自己登录的账户有创建dblink的权限,public database link的创建需要sys的授权。

创建好的非public修饰的dblink只能由创建用户使用,可以先对自己当前的数据库进行查询dblink,查看一下已经有的dblink名称。

代码如下

select * from user_objects where object_type = 'DATABASE LINK'

接下来是创建dblink,需要注意的是dblink_name是唯一的,不要起重名了哈。我public没创建过,碎碎念我的docker老有问题。oracle卸载太烦了。QAQ。我的VS好像也有点问题,net framework到现在还没自定义版本。😔气死。vscode写C#,nuget也老有问题,解决了再开一个新的。顺便把word嵌套表格读取也写了。立个小flag。

create database link [link_name]
connect to [user_name]
identified by [password]
using'
(description =(
    address_list=(protocol=[])
                (host=[conn address like 1.1.1.1])
                (port = [port number])
    )
)
(CONNECT_DATA=(sid=[secret])))
'

 接下来就是一个很需要注意的地方就是connect_data中的sid。

要注意的是如果写成了service_name,Oracle可能会报错ora-12514。问题在于无法识别,emmm反正要是不改成sid的话,就要去找配置文件把那部分配上去。还挺折腾的。生产数据库不能这么搞,所以对于那种报错,可以改成sid就sid吧。

试了试创作助手,欸嘿,如下是sid和service_name的区别:

SID和Service Name是Oracle数据库中的两个关键术语。 SID是System ID的缩写,表示Oracle实例在操作系统中的唯一标识符。 在Oracle数据库中,每个实例都有一个唯一的SID。 Service Name是一个逻辑名称,用于标识唯一的数据库服务(即数据库)。

因此,SID和Service Name之间的主要区别是,SID是Oracle实例在操作系统中的唯一标识符,而Service Name是用于标识数据库服务的逻辑名称。 通俗来说,SID是Oracle数据库引擎的名称,而Service Name是Oracle数据库实例的名称。

对了,再贴一下如果不想要databaselink 的话,可以使用以下语句

drop database link [link_name]

谨慎使用drop,QAQ如果没有账户授权限制的话,许愿报名司考,今年可以一次通过。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值