Oracle11g R2学习系列 之六数据库链接,快照及序列

Create public database link link_name

  Connect to user identified by password

  using 'DBName'

为'DBName'创建一个公用链接,该链接以用户user和密码password登入。这里这个DBName是不能随意指定的,必须跟C:\oracle11gr2\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora里面的一致,我看过有些书说用后面完整的字串也是可以的。就象我在那篇文档里解决"ORA-12154: TNS: 无法解析指定的连接标识符"一样。至于我本机的这个文档内容在这里可以找到。所以不再贴出。下面是我应该使用的命令:

create database link

如果经常使用某个链接的表,还可以为link_name创建一个同义词,象下面这样子:

Create pubic synonym my_synonym for user.table_name@link_name;然后就可以象本地表一样使用select * from my_synonym来查询了。

create synonym

删除数据库链接使用:drop public database link orcl_link即可,我这里还要使用,所以不演示这个的结果。

建立了数据库链接之后,我们还可以使用快照,而且使用快照是一定要先建链接的。快照的作用主要是能够进行在线数据恢复,当存储设备发生应用故障或者文件损坏时可以进行及时数据恢复,将数据恢复成快照产生时间点的状态。快照的另一个作用是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。

CREATE SNAPSHOT [schema.]snapshot_name        /*将要创建的快照名称*/
     [PCTFEE integer]
     [PCTUSED integer]
     [INITRANS integer]
     [MAXTRANS integer]
     [STORAGE storage_clasue]                    /*快照的存储特征*/
     [TABLESPACE tablespace]                    /*指定表空间*/
     [USING INDEX  [PCTFEE integer]                /*使用索引*/
     [PCTUSED integer]
     [INITRANS integer]
     [MAXTRANS integer] ]
     [REFRESH [FAST | COMPLETE | FORCE] [START WITH date] [NEXT date] ]
                                            /*指定快照的刷新特性的信息*/
    [FOR UPDATE] AS subquery                    /*用于置入快照的 SQL 查询*/
View Code

序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值

CREATE SEQUENCE [schema.] sequence_name/*将要创建的序列名称*/
     [INCREMENT BY integer]        /*递增或递减值*/
     [START WITH integer]        /*初始值*/
     [MAXVALUE integer | NOMAXVALUE]    /*最大值*/
     [MINVALUE integer | NOMINVALUE]    /*最小值*/
     [CYCLE | NOCYCLE]            /*是否循环*/
     [CACHE integer | NOCACHE]        /*高速缓冲区设置*/
     [ORDER | NOORDER]        /*序列号是序列否,按照顺序生成*/
View Code

 

 

posted @ 2013-07-09 22:22  nateliu  阅读(886)  评论(0编辑  收藏  举报