因为安装oracle前,需要添加一个Microsoft Loopback Adapter连接,添加后,我系统里绑定的网卡密钥也不能使用了,开始以为重新生成新的密钥就行了,
可是生成新的密钥后,还是报license错误,最后的解决办法为更改Microsoft Loopback Adapter连接物理地址.
			
			
		
 
	
		
			
			
			 1,报错内容:
     More than one row with the given identifier was found: 2468BDC50182F9266E2AB32D9F7A78DD, for class: com.ot.opf.org.model.DepartmentVO
     原因:表ID重复 ,查看是否重复导入.
2,报错内容:
IMP-00003: 遇到 ORACLE 错误 959
ORA-00959: 表空间 'XXXX' 不存在
解决办法:在网上查了很多解决办法,主要是由于BLOB字段引起,但唯触能解决问题的办法是:
                 先建表结构,再导入数据,导入语句为:
                 imp 
user/password@ORCL fromuser=user touser=user file=databse.dmp IGNORE=y tables=表名 
3:错误信息:
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01653: 表 SYS.AUD$ 无法通过 128 (在表空间 SYSTEM 中) 扩展
ORA-02002: 写入审计线索时出错
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01653: 表 SYS.AUD$ 无法通过 128 (在表空间 SYSTEM 中) 扩展
解决办法:
----查询所有表空间使用情况---
使用DBA权限登陆
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;
表名                 表空间大小(M) 已使用空间(M) 使用比      空闲空间(M)  最大块(M)
-------------------- ------------- ------------- ------- ----------- ----------
SYSTEM                    33267.98      32268.67   99.90       1.31        0.97
SDE                       32767.98      32711.67   99.83       56.31          1
SYSAUX                      916.69        866.31   94.50       50.38      41.69
USERS                            5          1.37   27.40        3.63       3.63
UNDOTBS1                      1570        134.25    8.55     1435.75       1426
解决
1、为表空间增加自动扩展
SQL> alter database datafile 'D:\app\Administrator\oradata\webdb\system01.dbf' AUTOEXTEND ON NEXT 50
M MAXSIZE UNLIMITED;
数据库已更改。
此方法在此是行不通的,因为SYSTEM的表空间已经到达了极限值,不能通过增长的方式改变。
2、为SYSTEM表空间增加一个数据文件SYSTEM02.DBF
SQL> ALTER TABLESPACE "SYSTEM" ADD DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\WEBDB\SYSTEM02.DBF' SIZE 5
00M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;
表空间已更改。
问题解决.
查看表空间是否具有自动扩展的能力的SQL
SELECT T.TABLESPACE_NAME,D.FILE_NAME,
D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS
FROM DBA_TABLESPACES T,DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME
ORDER BY TABLESPACE_NAME,FILE_NAME;
			
			
		 
	
		
			
			
			来原:http://blog.csdn.net/sunbingzibo/archive/2007/06/15/1653794.aspx
最近用到从oracle的dmp文件中还原数据
由于没有这方面的资料,在网上搜集了一些,相信有以下这些资料,我们可以成功地将dmp文件用命令行的方式还原回去
在这里我用的是oracle10g的版本,我的机器是512内存的,运行oracle的web管理程序有一些困难,所以我选择通过命令行的方式,
以下我的安装完成后,oracle给出的报告
Enterprise Manager Database Control URL - (orcl) :
http://localhost:1158/em
数据库配置文件已经安装到 
E:\oracle\product\10.2.0,
同时其他选定的安装组件也已经安装到 
E:\oracle\product\10.2.0\db_1。
iSQL*Plus URL 为:
http://localhost:5560/isqlplus
iSQL*Plus DBA URL 为:
http://localhost:5560/isqlplus/dba
下面我们来看一看如何来完成这一任务
第一,启动服务,(如果数据库处于启动状态,那么略过这一步)
打开命令行执行以下语句
net start OracleServiceORCL
net start  OracleOraDb10g_home2TNSListener
net start OracleOraDb10g_home2iSQL*Plus
 
  以上方式是在windows服务中启动服务,当windows服务不能启动数据库实例的时候,应用以下的语句
  set oracle_sid=orcl
  oradim -startup -sid orcl
  sqlplus internal/oracle
  startup 
 
第二清理以前还原过的痕迹,如果我们在数据库曾经还原过,我们先来清理一下,痕迹,
    //删除用户
    drop user xxxx cascade; 
    //删除表空间
    drop tablespace xxxx;
DROP TABLESPACE <tablespace name> INCLUDING CONTENTS;
    //删除数据库文件
    e:\xxxxxx.dbf
第三,接下来,准备工作做好后,我们就可以开始还原了
//创建用户
CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE  USERS TEMPORARY TABLESPACE TEMP
 
//给予用户权限
grant connect,resource,dba to xxxx
 
//创建表空间,并指定文件名,和大小
CREATE SMALLFILE TABLESPACE "xxxx" DATAFILE 'E:\ORADATA\ORCL\xxxx.DBF' 
 SIZE 100M 
 AUTOEXTEND ON NEXT 100M 
 MAXSIZE UNLIMITED 
 LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO 
//执行给予权限的脚本grant.txt,将权限给予刚才创建的用户
//给予权限
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
   DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
      DBA,CONNECT,RESOURCE,CREATE SESSION  TO xxxx
//开始导入(完全导入),file:dmp文件所在的位置, ignore:因为有的表已经存在,对该表就不进行导入。
   在后面加上 ignore=y 。指定log文件 log=e:\log.txt
imp user/pass@orcl full=y file=e:\xxx.dmp ignore=y log=e:\log.txt
//当我们不需要完整的还原数据库的时候,我们可以单独地还原某个特定的表
//---------------------------------------------------------------------------
imp user/pass@datbase file=e:\xxx.dmp ignore=y log=e:\log.txt tables=(xxxx)
imp user/pass@database file=e:\xxx.dmp ignore=y log=e:\log2.txt tables=(xxxx) 
//---------------------------------------------------------------------------
//做到这里我们就已经完成了,数据库的还原工作,下面我们就可以打开isqlplus查看表中的数据了
 
select * from ***
 
第四我们来看一下,对oracle常用的操作命令
1)查看表空间的属性
 select tablespace_name,extent_management,allocation_type from dba_tablespaces
2)查找一个表的列,及这一列的列名,数据类型
 select TABLE_NAME,COLUMN_NAME,DATA_TYPE   from user_tab_columns where TABLE_NAME='xxxx'
 
3)查找表空间中的用户表
 select * from all_tables where owner='xxx' order by table_name desc
4)在指定用户下,的表的数量
 select count(*) from user_tab_columns 
 
5)查看数据库中的表名,表列,所有列
 select TABLE_NAME,COLUMN_NAME,DATA_TYPE   from user_tab_columns order by table_name desc 
6)查看用户ZBFC的所有的表名及表存放的表空间
 select table_name,tablespace_name from all_tables where owner='xxxx' order by table_name desc
7)生成删除表的文本
select 'Drop   table '||table_name||';' from all_tables where owner="ZBFC";
8)删除表级联删除
drop table table_name [cascade constraints];
9)查找表中的列
select TABLE_NAME,COLUMN_NAME,DATA_TYPE   from user_tab_columns where column_name like '%'||'地'||'%' order by table_name 
desc 
 
10)查看数据库的临时空间
select tablespace_name,EXTENT_SIZE,current_users,total_extents,used_extents,MAX_SIZE,free_extents from v$sort_segment;
 http://download1.csdn.net/down3/20070615/15202338310.txt
作者在导入的过程中,还遇到了一个错误,就是数据违反了唯一性约束,数据库拒绝了数据
IMP-00019: 由于 ORACLE 的 1 错误而拒绝行
在网上看到有人说,这是字符集的原因,所以我就新建了一个数据库,将字符集改成了ZHS16GBK这样,从新导了一次,结果就成功了
 下面是grant.txt脚本
			
			
		 
	
		
			
			
			首先需配置:
  控制面板->添加硬件->是,我也经连接了此硬件->添加新硬件设备->安装我手动列表选择硬件(高级)->网络适配器->厂商:Microsoft 网卡:Microsoft Loopback Adapter 然后就行了。操作之后你会发现你的网上邻居里面又两个网络连接。选择新建立的那个网络连接  随便为它配个IP地址就行了。
否则会出现如下错误,如果继续下去,安装会失败:
        正在检查网络配置需求...   检查完成。此次检查的总体结果为: 未执行 <<<<   建议案: orcle支持在具有 DHCP 分配的 IP 地址的系统上进行安装。但在安装之前,   必须将 Microsoft LoopBack Adapter 配置为系统的主网络适配器。  有关在配置有 DHCP 的系统上安装软件的详细信息, 请参阅 Installation Guide。 
        特别要注意,可能有些人第一次添加了Loopback Adapter ,再第二次重装时,还会报"启动Database control时出错",这时请查用ipconfig -all 查看第一个本地连接是否为你刚添加的硬件,如果不是,请禁用,再重新添加Loopback Adapter.
数据库名orcl需大写.
测试地址:
http://lenovo-3e3b86e5:1158/em/console/logon/logon 
			
			
		 
	
		
			
			
			CLASSPATH
.;%JAVA_HOME%\BIN; 
JAVA_HOME
C:\Program Files\Java\jdk1.5.0_04
JBOSS_HOME
D:\hsweb\jboss-4.0.2;
Path
.;%JAVA_HOME%\bin;
myeclipse环境配置:
选择项目->右击->属性->编译->JRE system中JDK版本更换。
选择项目->右击->属性-》java compiler->java compliler level:选择JDK版本.
window菜单->属性(参数)->java->compiler->java compliler level:选择JDK版本.
记住哦,JDK版本不对,问题很大的哦!
 
			
			
		
 
	
		
			
			
			解决方法: 
1.在工程目录下的.mymetadata文件中可能webrootdir被改无效了(把下面内容拷到你的.mymetadate文件中的相应位置上);或者有可能少了这context-root这个属性;添加上这个属性即可,内容如下: 
context-root="/上面的name属性值" 
2.关掉Eclipse,再启动Eclipse,接着发布工程,发布成功! 
.mymetadata文件 
<?xml version="1.0" encoding="UTF-8"?> 
<project-module 
type="WEB" 
name="myweb" 
id="myeclipse.1202968712015" 
context-root="/myweb" j2ee-spec="1.4" 
archive="personnel.war"> 
<attributes> 
<attribute name="webrootdir" value="WebRoot" /> 
</attributes> 
</project-module>