目录
一、oracle数据库的启停
登录服务器的操作不在赘述,一般都是oracle用户,如果是root用户,也可以直接切换到oracle用户:
su - oracle
1、查看监听
lsnrctl status
2、启动监听
#启动监听
lsnrctl start
#如果想要关闭监听,可以执行
lsnrctl stop
3、连接服务
#连接有几个命令
(1)
sqlplus /nolog;
connect as sysdba;
(2)
sqlplus /nolog;
connect sys/sys as sysdba;
(1)、(2)两个组合需要输入数据库的用户名和密码
(3)
sqlplus / as sysdba;
这个直接连上,比较省事。
个人推荐使用(3),简单快捷,需要注意的是/前后都是有空格的。
4、启动数据库服务
#启动数据库
startup
#如果想要停止数据库。可以执行
shutdown
二、数据库密码过期问题
由于oracle数据库密码默认的过期时间是180天,所以隔断时间就会提示过期,如果你用的是plsql工具,在提示的时候可以直接修改,也可以通过sql命令进行设置。
1、查看默认的过期时间
select *from dba_profiles where profile='DEFAULT'
and resource_name='PASSWORD_LIFE_TIME';
2、设置密码永不过期
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;
3、修改密码sql
#修改用户是xx的密码为新密码
alter user username identified by 新密码;
这里要注意的是,密码不能含有特殊符号,如果确实需要特殊符号,请将新密码进行双引号。例如:“新@密——码”
4、解锁用户的sql
#将用户为xxx进行解锁
alter user username account unlock;
三、序列
1、创建序列
create sequence A.SEQ_B
minvalue 1
maxvalue 99999999999999999999
start with 1
increment by 1
cache 20;
字段解读:
create sequence A.SEQ_B //SEQ_后边为表名
minvalue 1 //最小值
maxvalue 9999999999999999999 //生成的最大值
start with 1 //序列的初始值,默认为1
increment by 1 //序列生成的步长 值为1,就代表每次+1
cache 20; //放序列的内存块的大小,默认为20
2、查询序列
(1)不需要管理身份即可查询
select *from user_sequences;
(2)查询xx用户下的序列拥有者和序列名
select SEQUENCE_OWNER,SEQUENCE_NAME from dba_sequences
where sequence_owner='用户名';
这里需要注意的是,不管你的用户是大写还是小写,一律使用大写,
而且此sql必须要用管理身份执行。
3、获取序列的下一个值
#查询序列名为xxx的下个值,以字段名为key进行返回
select 序列名.nextval 字段名 from dual;
四、创建主键
1、修改某个字段为主键自增
alter table table_name change 字段 字段 int not null auto_increment;
2、设置主键的起始值
alter table table_name AUTO_INCREMENT=数值;