Oracle Sequence & Synonym
				
		
		
				
				 
		
				
						    接着昨天的,今天继续来了解一下Oracle的Sequence和Synonym这两个部件。基本上来说,搞定这两个,Oracle中的相关Object类型都学习得七七八八了(除了PLSQL上的那几种类型)。从细分上来说,那是属于Oracle Developer的事情了,不属于DBA管。好了,这两个类型的object都比较简单,所以就简单得介绍一下:
				
		
		
				
						
						
				 
		
				
						
								一、序列 Sequence
						
				
		
		
				
				 
		
				
						    1、序列的创建
				
		
		
				
						
						
				 
		
				    create sequence emp_sequece
    increment by 1 --每次增长数
    start with 1 --开始数
    nomaxvalue --最大限制
    cache 10; --预缓存数量
		
		
				
						
						
				 
		
				
						    2、序列的各个选项意义
				
		
		
				
				 
		
				
						    CREATE SEQUENCE [schema.]sequence 
				
		
		
				
						    [INCREMENT BY integer]
				
		
		
				
						    [START WITH integer]
				
		
		
				
						    [MAXVALUE integer]|[NOMAXVALUE]
				
		
		
				
						
								    [MINVALUE integer]|[NOMINVALUE]
						
				
		
		
				
						    [CYCLE]|[NOCYCLE]
				
		
		
				
						    [CACHE integer]|[NOCACHE]
				
		
		
				
						    [ORDER]|[NOORDER]
				
		
		
				
						
						
				 
		
				
						    INCREMENT BY:每次增长的数额,默认为1,如需要递减序列,则设为负数
				
		
		
				
						    START WITH:序列开始数值,默认为0
				
		
		
				
						    MAXVALUE:设置一个序列的最大值,默认为NOMAXVALUE,最大值为10^27
				
		
		
				
						    MINVALUE:设置一个序列的最小值,默认为NOMINVALUE,最大值为-10^26
				
		
		
				
						    CYCLE:是否循环,在到达MAXVALUE|MINVALUE后从MINVALUE|MAXVALUE接着开始
				
		
		
				
						    CACHE:每次存放多少个序号到内存,以提高读取速度,默认是20
				
		
		
				
						    ORDER:按指定顺序增长,一般用于RAC,单独实例不需要,默认为NOORDER
				
		
		
				
						
						
				 
		
				
						    3、更改序列
				
		
		
				
						
						
				 
		
				
						    alter sequence emp_sequece
				
		
		
				
						    ... ...
				
		
		
				
						
						
				 
		
				
						    4、删除序列
				
		
		
				
						
						
				 
		
				
						    drop sequence emp_sequece;
				
		
		
				
				 
		
				
						    5、数据字典
				
		
		
				
						
						
				 
		
				
						    dba|all|user_sequences
				
		
		
				
				 
		
				
				 
		
				
						二、同义词 Synonym
				
		
		
				
				 
		
				
						    同义词是模式中对象的别名,可以屏蔽对象的名称和拥有着,而且可以方便记忆,并提高了SQL语句的可读性。
				
				
						用户可以对同义词进行与对象名称同样的操作,而且可以分别建立public同义词和private同义词。私有同义词不能与用户的其他object同名。
				
		
		
				
				 
		
				
						    1、创建同义词
				
		
		
				
						
						
				 
		
				
						    create public synonym public_emp for jward.emp;
				
		
		
				
						
						
				 
		
				
						    2、删除同义词
				
		
		
				
						
						
				 
		
				
						    drop public synonym public_emp; 
				
		
		
				
				 
		
				
						    注意:删除对象后,相应的同义词不会自动删除,需要之后手动查询。而当删除同义词,没有删除对象时,相应的对象会失效,需要重新编译。
				
		
		
				
				 
		
				
						    3、数据字典
				
		
		
				
				 
		
				
						    dba|all|user_synonyms
				
		
		
				
				 
		
				
						    通过这个视图可以看到,所有的synonym还包括了是否使用dblink。