知识小结(Oracle)
1)导入oracle数据库文件.dmp时出现错误
imp PERSONNEL_MANAGE/MWQ@MIS file=C:\personnel_manage.dmp fromuser=PERSONNEL_MANAGE ignore=y commit=y grants=y;
IMP-00058: 遇到 ORACLE 错误 1017
ORA-01017: invalid username/password; logon denied用户名:
口令:
IMP-00058: 遇到 ORACLE 错误 1017
ORA-01017: invalid username/password; logon denied
IMP-00005: 所有允许的登录尝试均失败
IMP-00000: 未成功终止导入
最终原因是没有给PERSONNEL_MANAGE用户一些基本的权限
GRANT CREATE PROCEDURE TO "PERSONNEL_MANAGE";
GRANT CREATE PUBLIC DATABASE LINK TO "PERSONNEL_MANAGE";
GRANT CREATE PUBLIC SYNONYM TO "PERSONNEL_MANAGE";
GRANT CREATE SEQUENCE TO "PERSONNEL_MANAGE";
GRANT CREATE SESSION TO "PERSONNEL_MANAGE";
GRANT CREATE TABLE TO "PERSONNEL_MANAGE";
GRANT CREATE TRIGGER TO "PERSONNEL_MANAGE";
GRANT CREATE TYPE TO "PERSONNEL_MANAGE";
GRANT CREATE VIEW TO "PERSONNEL_MANAGE";
GRANT SELECT ON SYS.V_$SESSION TO PUBLIC;
GRANT SELECT ON SYS.DBA_JOBS TO PUBLIC;
GRANT SELECT ON SYS.V_$SQLTEXT TO PUBLIC;
再执行的时候却出现另外一个错误:
IMP-00010: 不是有效的导出文件,标题验证失败
IMP-00000: 未成功终止导入
网上找了下,估计是高版本的导出文件,不能用低版本的导入,但低版本可以用高版本的导入,可能是我的oracle版本不够高.^-^
用UltraEdit-32打开personnel_manage.dmp文件可看到版本信息:
XPORT:V10.02.01 而我的却还是9.2.0.1.0
相关文档:
【原因/触发因素】
确定是由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。
【影响和风险】
影响
密码过期后,业务进程连接数据库异常,影响业务使用。
问题发生频率
数据库密码过期后,业务进程一旦重启会提示连接失败。
【解决方案】
按照如下步骤进行操作:
1、查 ......
【实现步骤】
1. 创建表blog_info, 具有ID和title两个字段, 其中ID将设置为自动增长列;
2. 创建序列:
create sequence sq_blog_info
start with 1
increment by 1
nomaxvalue
nocycle
......
过程中的事务
定义过程p1
create or replace procedure p1
as
begin
insert into student values(5,'xdh','m',sysdate);
rollback;
end;
定义过程p2
create or replace procedure p2
as
begin
update student set stu_sex = 'a' where stu_id = 3;
p1;
end;
执行过程p2
exec p2;
执行完毕发现 ......
数据库触发器
触发器语句
制定触发器定时、事件、表名及类型
触发器主体
是pl/sql快或对过程的调用
触发器限制
可以通过when子句实现
DML(insert update delete)
DDL(create alter drop)
数据库操作(servererror logo ......
alter table 的功能是修改表格。包括重名命,加减字段,修改字段类型和大小,处理 约束等等。本例子之处理表名和字段,代码如下:
create table liu(a varchar2(20),b number(2))
alter table liu rename to jin
rename jin to cai
alter table cai add c varchar2(30)
alter table cai add (d varchar2(3 ......