用sys登录plsql后创建了一张表
create table classes
(
id number(9) not null primary key,
classname varchar2(40) not null
)
问题1:
删除列的时候报:alter table class drop column address --无法删除属于sys的表
问题2:
修改列的时候报:
alter table class modify address addresssd varchar(40) --非法的alter table
问题3:
增加自增长的序列:
alter sequence class_seq increment by 1 start with 1 maxvalue 999999 nocycle nocache;
select class_seq.currval from classes --无法改变其实序号小弟学过MS SQL,oracle刚接触,报的这些错误,在网上差了,说没有权限,可是我用的是sys最高的权限登录的。
create table classes
(
id number(9) not null primary key,
classname varchar2(40) not null
)
问题1:
删除列的时候报:alter table class drop column address --无法删除属于sys的表
问题2:
修改列的时候报:
alter table class modify address addresssd varchar(40) --非法的alter table
问题3:
增加自增长的序列:
alter sequence class_seq increment by 1 start with 1 maxvalue 999999 nocycle nocache;
select class_seq.currval from classes --无法改变其实序号小弟学过MS SQL,oracle刚接触,报的这些错误,在网上差了,说没有权限,可是我用的是sys最高的权限登录的。
sys的角色是sysdba,system的角色是sysoper。
建议不要在system用户里做这些操作,这是个特别的用户
SQL> show user
User is "SYS"
SQL> drop table classes
2 /
Table dropped
SQL> create table class(id number primary key)
2 /
Table created
SQL> alter table class add name varchar2(10)
2 /
Table altered
SQL> alter table class modify name varchar2(15)
2 /
Table altered
SQL> alter table class drop column named
2 /
alter table class drop column named
ORA-12988: 无法删除属于 SYS 的表中的列
还有就是序列的除初始值外是能修改的
不会是conn scott/tiger as sysdba吧? 你只要有as sysdba 那你就是dba身份
conn scott/tigerSQL> conn scott/tiger;
已连接。
SQL> create table test(id int,
2 address varchar2(20));表已创建。SQL> alter table test drop column address;表已更改。SQL> desc test;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
ID NUMBER(38)
用户名:scott
密码:scott
数据库:CENTER_127.0.0.1
连接为:sysdba
连接为:normal
用sys用户登录;
如果scott被锁定了,解锁该用户
alter user scott account unlock;
修改scott密码
alter user scott identified by tiger;