一、当想要删除自己所创建的表,是否会遇到如下提示: 【 ORA-00604、ORA-00942】
请输入以下内容(我是在PL/SQLDeveloper中添加的,可提前查看自己是否已有这两张表):
1.以sys/oracle登录,创建两个表
--1)-----------------------------------------------------------------
-- Create table
create table ARGUMENT$
(
OBJ# NUMBER not null,
PROCEDURE$ VARCHAR2(30),
OVERLOAD# NUMBER not null,
PROCEDURE# NUMBER,
POSITION# NUMBER not null,
SEQUENCE# NUMBER not null,
LEVEL# NUMBER not null,
ARGUMENT VARCHAR2(30),
TYPE# NUMBER not null,
CHARSETID NUMBER,
CHARSETFORM NUMBER,
DEFAULT# NUMBER,
IN_OUT NUMBER,
PROPERTIES NUMBER,
LENGTH NUMBER,
PRECISION# NUMBER,
SCALE NUMBER,
RADIX NUMBER,
DEFLENGTH NUMBER,
DEFAULT$ LONG,
TYPE_OWNER VARCHAR2(30),
TYPE_NAME VARCHAR2(30),
TYPE_SUBNAME VARCHAR2(30),
TYPE_LINKNAME VARCHAR2(128),
PLS_TYPE VARCHAR2(30)
)
tablespace SYSTEM
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 16K
minextents 1
maxextents unlimited
);
-- Create/Recreate indexes
create unique index I_ARGUMENT1 on ARGUMENT$ (OBJ#, PROCEDURE$, OVERLOAD#, SEQUENCE#)
tablespace SYSTEM
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 16K
minextents 1
maxextents unlimited
);
create index I_ARGUMENT2 on ARGUMENT$ (OBJ#, PROCEDURE#, SEQUENCE#)
tablespace SYSTEM
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 16K
minextents 1
maxextents unlimited
);
-- Grant/Revoke object privileges
grant select on ARGUMENT$ to CTXSYS with grant option;
--2)-----------------------------------------------------------------
-- Create table
create table ASSOCIATION$
(
OBJ# NUMBER not null,
PROPERTY NUMBER not null,
INTCOL# NUMBER,
STATSTYPE# NUMBER,
DEFAULT_SELECTIVITY NUMBER,
DEFAULT_CPU_COST NUMBER,
DEFAULT_IO_COST NUMBER,
DEFAULT_NET_COST NUMBER,
INTERFACE_VERSION# NUMBER,
SPARE2 NUMBER
)
tablespace SYSTEM
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Create/Recreate indexes
create unique index ASSOC1 on ASSOCIATION$ (OBJ#, INTCOL#)
tablespace SYSTEM pctfree 10 initrans 2 maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
create index ASSOC2 on ASSOCIATION$ (STATSTYPE#)
tablespace SYSTEM pctfree 10 initrans 2 maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
2.可顺利删除表。
****注:详情见原网,来自网络大神的辅助:疯封风;
二、在重新编译/重新验证时出错
【ORA-04045】:是Oracle的一个bug,执行以下操作可修复,切换到原来的用户执行truncate语句。
1.使用快捷键“window+R”,出入cmd,进入命令行,(sys用户进入sqlplus)输入:
- sqlplus / as sysdba
- alter system set “_system_trig_enabled” = false scope=spfile;
- alter system set aq_tm_processes=0 scope=spfile;
- alter system set job_queue_processes=0 scope=spfile;
2.重启数据库
- shutdown immediate
- startup
3.可正常使用数据库。
****注:详情见原网,来自网络大神的辅助:godymoon
三、Oracle忘记用户名和密码(简单/粗暴)
1.使用快捷键“window+R”,出入cmd,进入命令行,输入:
2.登录-----sqlplus/nolog
3.接入数据库-----connect / as sysdba
4.修改用户密码-----alter user sys identified by 123456;
***注:用户名为sys,密码为123456.
****注:详情见原网,来自网络大神的辅助:wkk_5;
四、是否想查看Oracle中,自己定义了哪些用户?来 Follow Me~
可输入以下代码:(可以一条一条试看哟~)
select * from dba_user;
select * from all_users;
select * from user_users;
五、是否想查看Oracle中,某张表的拥有者
可输入以下代码:
select owner from dba_tables where table_name=upper('表名');
六、是否想在Oracle中,建立某个用户的表
可在利用SQL语句建立表单时,添加用户名即可。如:
create table 用户名.表名();
七、是否想在Oracle中,添加某些用户对表的具体权限
在PL/SQL Developer中进行简单操作:
找到对应的表,单击右键–>编辑–>进入
八、是否会遇到以下情况:在Oracle中已添加表单信息,在Eclipse查找、调用时,却总是查询无结果。
其实很简单,
当我们在Oracle中添加了表单信息后,将信息提交一下就OK!
——其实并不奇怪,这是一种事务回滚机制,就像我们银行卡转账一样,如果发生突发情况或者转出方没有确认是不能够成功的,这是一种事务回滚机制。通过commit提交之后才能够完成保存insert动作。——
点击查看:具体提交信息位置
九、是否有出现第一次可查看Oracle信息,第二次重新登录时,无法连接之前的数据库?
出现这样情况的原因:我们电脑的IP地址是浮动的。
修改如下:
1.查看自己的电脑名称,复制。
控制面板–>系统安全–>系统–>计算机全名
2.找到自己安装的Oracle文件夹–>找到 listener.ora和tnsnames.ora ,(用记事本打开),将HOST对应的值修改为 自己的计算机全名。
点击查看:具体修改信息位置
3.将Oracle监听服务器重启。
4.OK。