关闭

orcle主键自增长实例 以及密码丢失问题

标签: oracle密码实例sql 主键数据库
51人阅读 评论(0) 收藏 举报
分类:
Oracle序列详解和创建自增主键


Oracle序列主键============================================


序列:是oracle提供的用于生产一系列唯一数字的数据库对象
自动提供唯一的数值


共享对象


主要用于提供主键值


将序列值装入内存可以提高访问效率






语法===========================


increment by 用于定义序列的不长 如果省略 则默认为1


start with 定义序列的初始值(即产生的第一个值),默认为1


maxvalue 最大值  nomaxvalue默认选项 没有最大值
minvalue 最小值  nominvalue默认选项
递增oracle 最大值 10的27次方 
递减序列 最小值1


cycle 和nocycle


cache(缓冲)






删除Oracle序列的语法是drop sequence 序列名;===========================








建表语句=============================================
create table car(
id  number(10) not null,
speed varchar2(32),
price varchar2(32),
des varchar2(32),
constraint pk_id primary key(id)
)




建立序列
create sequence seq_car_id
start with 1
increment by 1
minvalue 1
maxvalue 99999999
nocycle
nocache
order;






建立触发器
CREATE OR REPLACE TRIGGER trg_car_id
BEFORE INSERT ON car
FOR EACH ROW
BEGIN
SELECT seq_car_id.nextval INTO :new.id FROM dual;

END;






一、忘记除SYS、SYSTEM用户之外的用户的登录密码。


用sys或system用户登录,执行修改数据库密码
#sqlplus sys/oracle@"sid" as sysdba 


使用如下语句修改用户的密码:
SQL> alter user "username" identified by "newpass";


注意:密码不能全是数字。并且不能是数字开头。否则会出现:ORA-00988:口令缺失或无效




二、忘记SYS用户,或者是SYSTEM用户的密码。


如果是忘记system/sys密码,且人就在数据库服务器旁边,可以可以通过本地验证方式登录,执行如下操作:

$ sqlplus / as sysdba
SQL> alter user "username" identified by "newpass";






用数据字典
select * from dba_users; 查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system
select * from all_users; 查看你能管理的所有用户!
select * from user_users; 查看当前用户信息 ! 


查询当前用户所有表
方法一:select * from tab;
方法二:select * from user_tables;




select username,default_tablespace from dba_users  where username='用户名';


查看结果(如查询scott用户的所属表空间):
搜索
select username,default_tablespace from dba_users  where username='SCOTT';--用户名需要大写

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4952次
    • 积分:386
    • 等级:
    • 排名:千里之外
    • 原创:30篇
    • 转载:26篇
    • 译文:0篇
    • 评论:0条