oracle笔记

来源:互联网 发布:法语入门软件 编辑:程序博客网 时间:2024/06/17 11:33

1、创建表空间

使用system登录system/manager sysdba

执行

CREATE TABLESPACE ts1  DATAFILE 'F:\tablespace\ts1' size 100M           EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;CREATE TABLESPACE ts2  DATAFILE 'F:\tablespace\ts2' size 100M           EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

会发现F:\tablespace文件夹下生成两个新文件TS1和TS2


若要删除表空间

执行

DROP TABLESPACE ts1 INCLUDING CONTENTS AND DATAFILES;DROP TABLESPACE ts2 INCLUDING CONTENTS AND DATAFILES;
2、创建用户

create user user1 identified by user1   default tablespace ts1;create user user2 identified by user2   default tablespace ts2;
创建两个新用户,用户user1使用表空间tablespace1,用户user2使用表空间tablespace2

3、赋权

grant connect,resource to user1;  grant create any sequence to user1;  grant create any table to user1;  grant delete any table to user1;  grant insert any table to user1;  grant select any table to user1;  grant unlimited tablespace to user1;  grant execute any procedure to user1;  grant update any table to user1;  grant create any view to user1;
对用户user2的赋权同理
4、建表

connect user1/user1,切换成user1用户

执行

create table table1(  id VARCHAR2(32) not null,  code NUMBER,  name VARCHAR2(500))comment on column table1.id  is '主键ID';comment on column table1.code  is '编码';comment on column table1.name  is '名称';
connect user2/user12,切换成user2用户

执行

create table table2(  id VARCHAR2(32) not null,  code NUMBER,  name VARCHAR2(500))comment on column table2.id  is '主键ID';comment on column table2.code  is '编码';comment on column table2.name  is '名称';
至此,在oracle数据库里,就创建了两个用户,对应两个表空间。若要实现两个用户管理下的表之间的透明性,即可以数据互查。可以通过视图或同义词。

5、创建视图

create view V_USER1_TABLE1 asselect * from USER1.TABLE1
则user2用户可以使用select * from V_USER1_TABLE1来查询到user1用户管理下的table1表
6、创建同义词

创建同义词之前,要先创建数据源连接database link

connect system/manager,切换成system用户

执行

create public database link conn_to_user1  connect to user1 identified by user1  using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )';
public表示该数据库源连接的所有者为共有的

创建完数据源连接后,就可以创建同义词了

create or replace public synonym USER2_TABLE1  for USER1.TABLE1@CONN_TO_USER1;
表示同义词USER2_TABLE1指向USER1下的TABLE1表,可以使用USER2_TABLE1来查询USER1下的TABLE1表
同创建数据库源连接一下,有一个public关键字,表示该同义词是公有的,即所有用户都可以使用。若要对此权限进行限制可以使用下面的方式。

connect system/manager,切换成system用户

执行

grant create synonym to user2
给USER2用户赋予创建同义词的权限

connect user2/user2,切换成user2用户
执行

create or replace synonym USER2_TABLE1  for USER1.TABLE1@CONN_TO_USER1;
则该同义词的所有者为当前用户user2(数据库源连接同理),则user2用户可以使用select * from USER2_TABLE1来查询到user1用户管理下的table1表







0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 非婚生子孩子父亲找不到了怎么办 3岁半宝宝认字怎么办 上课注意力不集中老是发呆怎么办 海绵宝宝吃了会怎么办 宝宝误吞李子核怎么办 24个月宝宝不愿意说话怎么办 孩子凉着肚子吐怎么办 教宝宝说话不会说怎么办 2岁宝宝语言退化怎么办 两周宝宝嗓子哑怎么办 幼儿园孩子上课爱说话老师怎么办 一岁宝宝不会爬怎么办 孩子说话不太清楚怎么办 十一个月宝宝不爱吃饭怎么办 14个月宝宝不爱吃饭怎么办 一岁宝宝喜欢哭怎么办 4岁儿童不会说话怎么办 8个月宝宝37.5度怎么办 8个月婴儿37.5度怎么办 5个月宝宝38度怎么办 5个月宝宝发烧怎么办 五个月小孩38度怎么办 宝宝3岁还不会说话 怎么办 两岁宝宝流口水厉害怎么办 两周宝宝不说话怎么办 两岁宝宝说话有点口吃怎么办 一周岁的宝宝脾气不好怎么办 九个月的宝宝脾气不好怎么办 两岁宝宝脾气不好怎么办 2岁宝宝脾气不好怎么办 3岁宝宝脾气不好怎么办 脾气不好吓到宝宝了怎么办 四个月宝宝脾气不好怎么办 5岁说话不清楚该怎么办 小孩快上幼儿园了不怎么说话怎么办 四岁宝宝吐字不清楚怎么办 孕28周胎儿腿短怎么办 b超显示腿短怎么办 2岁多宝宝不愿意说话怎么办 6岁儿童咬字不清怎么办 两岁宝宝爱看电视怎么办