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: 无法解析指定的连接标识符"一样。至于我本机的这个文档内容在这里可以找到。所以不再贴出。下面是我应该使用的命令:
如果经常使用某个链接的表,还可以为link_name创建一个同义词,象下面这样子:
Create pubic synonym my_synonym for user.table_name@link_name;然后就可以象本地表一样使用select * from my_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 查询*/
序列(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] /*序列号是序列否,按照顺序生成*/