分布式数据库
分布式
理解:将一个大东西拆分成小的称之为分布式
概念:物理上分开存放,逻辑上一个整体
独立性:用户不必关心数据如何分割和存储,只需要关心数据本身即可
分布式数据库操作方式 | 例子 | 注意事项 |
---|---|---|
本地操作:sqlplus scott/tiger | sqlplus scott/tiger | |
远程操作:sqlplus scott/tiger@192.168.2.128/orcl | sqlplus scott/tiger@192.168.2.128 | 需要关闭防火墙,开辟防火墙端口, 文件host值 改成IP地址或计算机名(tnsnames.ora,listener.ora) |
分布式操作(链路) | 借助分布式链路: 创建链路:net manager |
--创建服务名 net manager
--其中l2vm是链路名
--remoteORCL是服务名,用于连接远程的服务(orcl)
--创建服务名:net manager
--创建链路(链路是单向的)
create database link l2vm connect to scott identified by tiger using 'remoteORCL'
--授权
conn /as sysdba
grant create database link to scott;
--远程本地链路查询数据
select ename ,dname from emp@l2vm e,dept d where e.deptno = d.deptno;
--创建同义词 屏蔽掉分布式访问的关键字
create synonym remoteemp for emp@l2vm;
select ename ,dname from remoteemp e,dept d where e.deptno = d.deptno;
--简化同义词,使用视图
--创建视图
create view empremoteview as select ename ,dname from remoteemp e,dept d where e.deptno = d.deptno;
select * from empremoteview;
--备份(快照)
--备份远程数据库
create snapshot empdeptss refresh start with sysdate next next_day(sysdate,'星期四') as select * from emp@l2vm;
--快照有一定延迟
--触发器(实时备份)
create trigger update emp after update on emp for each row begin update emp@l2vm set sal =:new.sal where empno =:new.empno; end/;
--尝试修改数据
update emp set sal =99999 where empno =7369;
EM管理器及用户权限
EM管理器(了解)
需要开启监听服务:OracleDBConsoleorcl
远程访问:需要关闭远程防火墙
访问em:https://192.168.2.128:1158/em/console
登录网站进去操作和sqldeveloper操作一样
用户权限问题
--密码校验
sqlplus scott/tiger
sqlplus sysem/manager
--外部校验
sqlplus /as sysdba
--外部校验条件:当前系统用户必须是dba角色(查看:右键计算机-本地用户和组)
--(自动屏蔽掉密码校验优先使用外部校验)
--全局校验
--1.生物认证(视网膜,指纹,人脸识别)
--2.令牌环(token)U盾
预定义账户
--scott
--system:DBA权限一切权限其中之一
--sys:最高权限(一切权限)
权限:
- 系统权限:允许用户执行对数据库的特定行为(创建用户,创建表)
--创建用户
create user yq identified by yq;--cmd创建没有任何权限(包含登录权限)
grant CREATE SESSION to yq;--授权登录权限
--对象权限:让yq可以查询scott用户的emp表
grant select on scott.emp to yq;
--授权查询
select * from scott.emp;
--对象权限:让yq可以查询scott用户的emp表
grant select on scott.emp to yq;
--授权查询
select * from scott.emp;