oracle常用知识点总结 (三)

有关DBLINK的小知识

创建DBLICK

create database link dblink_name(使用远程连接用的名字)
connect to 用户名 IDENTIFIED BY 密码
using ‘(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 实例名)
)
)’;
注意创建dblick需要有一定权限:
GRANT CREATE PUBLIC DATABASE LINK TO ‘用户名’;

查看DBLICK

SELECT * FROM DBA_DB_lLINKS;

使用DBLICK

SELECT * FROM table_name@dblink _name;

有关序列的小知识

1.在mysql中大家都知道有主键自增,但是在Oracle中是没有自增一说的,当你需要输入100条数据,但是还需要一个从1-100的序号,那么序列绝对是你的首选。
2.建一个序列,每次查询该序列 自增 1 ,并会查询使用该序列
3.Oracle中没有设置自增的方法,一般情况使用序列和触发器来实现主键自增功能
4.序列是oacle提供的用于产生一系列唯一数字的数据库对象。
1)自动提供唯一的数值
2)共享对象
3)主要用于提供主键值
4)将序列值装入内存可以提高访问效率

创建序列

// 创建序列,并且从1开始,每次递增1,最大为999
//INCREMENT BY :序列的步长,负值表示递减,正值表示递增。(默认为1)
//START WITH :序列的初始值 。(默认为1)
//MAXVALUE :序列可达到的最大值。(默认为不限制最大值 :NOMAXVALUE)
//MINVALUE :序列可达到的最小值。(默认为不限制最小值 :NOMINVALUE)
//CYCLE :当序列产生的值达到最大或者最小值后是否循环【NOCYCLE :不循环,CYCLE :循环】。
//CACHE :表示缓存序列的个数,数据库异常终止可能会导致序列中断不连续的情况,默认值为20,如果不使用缓存可设置NOCACHE
CREATE SEQUENCE sequence_name INCREMENT BY 1 START WITH 1 MAXVALUE 999;

删除序列

DROP SEQUENCE sequence_name;

查询序列

//NEXTVAL 返回序列中下一个有效的值
//CURRVAL 存放序列的当前值
//NEXTVAL 应在 CURRVAL 之前指定 ,俩个可以一起使用
// 使用时,如果是单独查询如下
SELECT sequence_name.NEXTVAL FROM DUAL;
//如果想一次多查几个序列值如下
SELECT sequence_name.NEXTVAL FROM DUAL CONNECT BY LEVEL<=10;

数仓常用权限

//这里面都是常用的权限,可以供大家参考一下。
GRANT SELECT ON SYS.DBA_OBJECTS TO 用户名;
GRANT EXECUTE ON SYS.DBMS_LOCK TO 用户名;
GRANT READ, WRITE ON DIRECTORY DUMPDIR TO 用户名;   
GRANT SELECT ON SYS.V_$LOCKED_OBJECT TO 用户名;
GRANT SELECT ON SYS.V_$SESSION TO 用户名;
GRANT SELECT ON SYS.V_$SQL TO 用户名;
GRANT CONNECT TO 用户名;
GRANT DBA TO 用户名;
GRANT EXP_FULL_DATABASE TO 用户名;
GRANT IMP_FULL_DATABASE TO 用户名;
GRANT RESOURCE TO 用户名;
GRANT CREATE DATABASE LINK TO 用户名;
GRANT CREATE PUBLIC DATABASE LINK TO 用户名;
GRANT CREATE SESSION TO 用户名;
GRANT CREATE TABLE TO 用户名;
GRANT CREATE VIEW TO 用户名;
GRANT DROP ANY INDEX TO 用户名;
GRANT DROP PUBLIC DATABASE LINK TO 用户名;
GRANT EXECUTE ANY PROCEDURE TO 用户名;
GRANT EXECUTE ANY PROGRAM TO 用户名;
GRANT GRANT ANY OBJECT PRIVILEGE TO 用户名;
GRANT SELECT ANY TABLE TO 用户名;
GRANT UNLIMITED TABLESPACE TO 用户名;
GRANT EXECUTE ON SYS.DBMS_PIPE TO 用户名;
GRANT EXECUTE ON SYS.DBMS_SYSTEM TO 用户名;

总结

由于本人工作比较忙,可能对所总结的知识不是很全面或者有错误,希望大家帮忙指出,我会努力改正,以上第三部分权限是经常使用的权限,希望对大家有帮助,感谢。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值