1:安装Oracle及新建数据库

Oracle 11g安装图解

http://www.cnblogs.com/qianyaoyuan/archive/2013/05/05/3060471.html

http://jingyan.baidu.com/article/380abd0aadb63a1d90192cec.html

Oracle图形化新建数据库

http://jingyan.baidu.com/article/90bc8fc80c01f2f653640c1f.html

2:数据库建立成功之后,新建表空间,临时表空间,分区表空间

2.1:建立表空间,临时表空间,分区表空间,路径和大小根据实际情况修改

2.2:新建用户 CCENSE/CCENSE

  1. --建立表空间,路径和大小根据现场情况修改
  2. CREATE TABLESPACE "CCEN"
  3. LOGGING
  4. DATAFILE 'E:\oracle2\bus\CCEN.ora' SIZE 1000M
  5. AUTOEXTEND ON NEXT 1000M MAXSIZE UNLIMITED
  6. EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
  7. /
  8.  
  9. --建立临时表空间,路径和大小根据现场情况修改
  10. CREATE
  11. TEMPORARY TABLESPACE "CCEN_TMP" TEMPFILE
  12. 'E:\oracle2\bus\CCEN_TMP.ora' SIZE 1000M EXTENT
  13. MANAGEMENT LOCAL UNIFORM SIZE 1M
  14. /
  15. --建立分区表空间tbs_par1
  16. CREATE TABLESPACE "TBS_PAR1"
  17. LOGGING
  18. DATAFILE 'E:\oracle2\bus\TBS_PAR1.ora' SIZE 1000M
  19. AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT
  20. LOCAL SEGMENT SPACE MANAGEMENT AUTO
  21. /
  22. --建立用户
  23. CREATE USER "CCENSE" PROFILE "DEFAULT"
  24. IDENTIFIED BY "CCENSE" DEFAULT TABLESPACE "CCEN"
  25. TEMPORARY TABLESPACE "CCEN_TMP"
  26. ACCOUNT UNLOCK;
  27. GRANT "CONNECT" TO "CCENSE";
  28. GRANT "DBA" TO "CCENSE";
  29. /

3:Oracle imp/impdp 导入dmp文件到数据库

使用EXPDP和IMPDP时应该注意的事项:

EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用

EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用

IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。

注意:EXP不会导出空表(可能会对存储过程有影响)

3.1: exp/imp导出/导入数据

  1. --exp导出数据
  2. exp CCENSE/CCENSE@OracleDB file=D:\DBBackUp\oracleExp.dmp log=D:\DBBackUp\oracleExp20161103.log
  3. --imp导入数据
  4. imp CCENSE/CCENSE@OracleDB file=D:\DBBackUp\oracleExp.dmp log=D:\DBBackUp\oracleImp20161103.log FULL=y;
  5.  
  6. /* 说明:CCENSE/CCENSE@OracleDB --->用户名/密码@数据库实例
  7. file="本地路径+需要导入/导出的dmp文件全称"
  8. log="日志文件"
  9. FULL=y;
  10. */

--给当前用户追加connect,resource,dba [非必须] grant connect,resource,dba to CCENSE;

  1. 数据导出:
  2. 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp
  3. exp system/manager@TEST file=d:\daochu.dmp full=y
  4. 将数据库中system用户与sys用户的表导出
  5. exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
  6. 将数据库中的表table1 table2导出
  7. exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
  8. 将数据库中的表table1中的字段filed1""打头的数据导出
  9. exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
  10.  
  11. 上面是常用的导出,对于压缩我不太在意,用winzipdmp文件可以很好的压缩。
  12. 不过在上面命令后面 加上 compress=y 就可以了
  13. 数据的导入
  14. D:\daochu.dmp 中的数据导入 TEST数据库中。
  15. imp system/manager@TEST file=d:\daochu.dmp
  16. 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
  17. 在后面加上 ignore=y 就可以了。
  18. d:\daochu.dmp中的表table1 导入
  19. imp system/manager@TEST file=d:\daochu.dmp tables=(table1) 3: 只导出表结构,不导出表数据 添加 rows=n

3.2:expdp/impdp导出/导入数据

使用impdp命令,需要在oracle数据库服务器操作:

使用sqlplus或者Oracle客户端(PL/SQL) 链接到相应的Oracle数据库实例(进行下面第一,第二两步骤的操作)

一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。

  1. create directory dpdata1 as 'd:\test\dump';
  2.  
  3. (查看服务器上若没有存在d:\test\dump目录,则手动新建,把dmp备份文件放到d:\test\dump目录下面)

二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)

  1. select * from dba_directories;

三、导入数据库

  1. --expdp导出数据
  2. expdp CCENSE/CCENSE@OracleDB directory = "dpdata1" dumpfile ="oracleExpdp.dmp" logfile = oracleExpdp20161103.log
  3. --impdp导入数据
  4. impdp CCENSE/CCENSE@OracleDB directory="dpdata1" dumpfile="oracleExpdp.dmp" logfile = oracleImpdp20161103.log FULL=y;
  5.  
  6. /* 说明:CCENSE/CCENSE@OracleDB --->用户名/密码@数据库实例
  7. directory="在步骤一中创建的逻辑目录"
  8. dumpfile="需要导入/导出的dmp文件全称"
  9. logfile="日志文件"
  10. FULL=y;
  11. */
  1. --其他SQL
  2. --表空间[10G]和临时表空间[1G]
  3. /*表空间*/
  4. )), ) ts_size
  5. FROM dba_tablespaces t, dba_data_files d
  6. WHERE t.tablespace_name = d.tablespace_name
  7. GROUP BY t.tablespace_name;
  8.  
  9. /*临时表空间*/
  10. file_size,autoextensible from dba_temp_files;
  11.  
  12. -- 查看端口是否被占用
  13. netstat "
  14.  
  15. -- 查看监听状态,启动监听,关闭监听
  16. lsnrctl status LISTENER2
  17. lsnrctl start LISTENER2
  18. lsnrctl stop LISTENER2
  19.  
  20. --访问地址
  21. linux sqlplus ccense/OracleDB;
  22. win sqlplus ccense/OracleDB;

参考文档:http://www.cnblogs.com/luluping/archive/2010/03/16/1687093.html

Oracle修改表空间大小

http://www.cnblogs.com/RoyYu/archive/2012/12/09/2810492.html

  1. --查看表空间的使用情况
  2. select b.file_name 物理文件名,
  3. b.tablespace_name 表空间,
  4. b.bytes 大小M,
  5. (b.bytes ))) 已使用M,
  6. substr((b.bytes ))) , , ) 利用率
  7. from dba_free_space a, dba_data_files b
  8. where a.file_id = b.file_id
  9. group by b.tablespace_name, b.file_name, b.bytes
  10. order by b.tablespace_name;
  11.  
  12. --表空间查询SELECT UPPER(F.TABLESPACE_NAME) TABLESPACE_NAME, --  表空间名,       D.TOT_GROOTTE_MB TOT_GROOTTE_MB, --   表空间大小(G),       D.TOT_GROOTTE_MB - F.TOTAL_BYTES USEDMB, ---已使用空间(G),       TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,                     2),               '990.99') || '%' USAGERATIO, -- 使用比,       F.TOTAL_BYTES, -- 空闲空间(G),       d.MAXBYTES --表空间最大能扩到多大  FROM (SELECT TABLESPACE_NAME,               ROUND(SUM(BYTES) / (1024 * 1024 * 1024), 3) TOTAL_BYTES          FROM SYS.DBA_FREE_SPACE         GROUP BY TABLESPACE_NAME) F,       (SELECT DD.TABLESPACE_NAME,               ROUND(SUM(DD.BYTES) / (1024 * 1024 * 1024), 3) TOT_GROOTTE_MB,               ROUND(sum(dd.MAXBYTES) / (1024 * 1024 * 1024), 3) MAXBYTES          FROM SYS.DBA_DATA_FILES DD         GROUP BY DD.TABLESPACE_NAME) D WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME ORDER BY 2 DESC;
  13.  
  14. --查看表占用表空间的大小,查看各表数据的行数
  15. SELECT t.table_name, t.NUM_ROWS, s.BYTES, t.OWNER, t.TABLESPACE_NAME
  16. FROM dba_tables t, user_segments s
  17. where t.TABLE_NAME = s.segment_name
  18. DESC;
  19.  
  20. --给sde表空间再添加数据文件
  21. ALTER TABLESPACE CCEN ADD DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\NEWBUS2\CCEN.ORA' SIZE 2048M;--AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED [待验证]
  22.  
  23. --扩展现有表空间数据文件ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' AUTOEXTEND ON NEXT 5M MAXSIZE 32000M;--查询数据库表行数select t.table_name,t.num_rows from user_tables t
  24.  
  25. --修改数据文件大小alter database datafile 'H:\ORACLE\PRODUCT\10.1.0\ORADATA\ORACLE\USERS01.DBF' RESIZE 10240M; 
  26.  
  27. --查询某表空间下有哪些数据文件select * from dba_data_files where tablespace_name='ARCHIVES';
  28.  
  29. --删除某个数据文件alter tablespace tablespace_name drop datafile 'd:\sp01.dbf';

--移动数据文件 有时,如果你的数据文件所在的磁盘损坏时,该数据文件将不能在使用,为了能够重新使用,需要将这些文件的副本移动到其他的磁盘,然后恢复。

下面以移动数据文件sp01.dbf为例来说明:

--1.确定数据文件所在的表空间

select tablespace_name from dba_data_files where fille_name='d:\sp01.dbf';

--2.使表空间脱机,确保数据文件的一致性,将表空间转变为offline的状态。

alter tablespace sp01 offline;

--3.使用命令移动数据文件到指定的目标位置

host move d:\sp01.dbf c:\sp01.dbf;

--4.执行alter tablespace命令 --在物理上移动了数据之后,还必须执行alter tablespace命令对数据库文件进行逻辑修改

alter tablespace sp01 rename datafile 'd:\sp01.dbf' to 'c:\sp01.dbf';

--5.使表空间联机

alter tablespace sp01 online;

imp 只导入数据,不导入表结构,在命令里加上ignore=y就可以了

ignore=y相当于,如果没有的表,创建并倒入数据,如果已经有的表,忽略创建的,但不忽略倒入。

在使用IMP导入并使用ignore=y参数时,Oracle根本不检查要导入的数据结构和现存在数据库中表的结构是否相同

DESTROY=Y 覆盖已存在的表

exp 命令导出表结构,不导出表数据。只需在命令行里加一个参数rows=n即可。表示不导出表数据

---------------------------------------------------------------------------------------------------------------------------------

  1. --查看指定的表空间是否为自动扩展
  2. select file_name,autoextensible,increment_by from dba_data_files where tablespace_name = '表空间名';
  3.  
  4. --如果不是自动扩展想修改为自动扩展的话需要操作
  5. alter database datafile '/u01/app/oracle/oradata/XXX/XXXX01.dbf' autoextend on;
  6.  
  7. alter database datafile '/u01/app/oracle/oradata/XXX/XXXX01.dbf' autoextend on next xxx maxsize xxxx;
  8.  
  9. --关闭自动扩展
  10. alter database datafile '/u01/app/oracle/oradata/XXX/XXXX01.dbf' autoextend off;
  11.  
  12. --开启自动扩展功能语法:
  13. alter database datafile '对应的数据文件路径信息' autoextend on;
  14.  
  15. --关闭自动扩展功能语法:
  16. alter database datafile '对应的数据文件路径信息' autoextend off;
  1. dba_tables : 系统里所有的表的信息,需要DBA权限才能查询
  2. all_tables : 当前用户有权限的表的信息(只要对某个表有任何权限,即可在此视图中看到表的相关信息)
  3. user_tables: 当前用户名下的表的信息
  4.  
  5. select * from dba_tables where TABLESPACE_NAME='CCENSE'--'SYSTEM'--'SYSAUX';--oracle查询所有表格数据量(行数)select t.table_name,t.num_rows from user_tables t;--查询行数小于100W的表,并用逗号分隔转换为一行select wm_concat(t.table_name) from user_tables tWHERE t.num_rows<1000000order by t.num_rows desc;
  6.  
  7. 所以以上3个视图中,user_tables的范围最小,all_tables看到的东西稍多一些,而dba_tables看到最多的信息

Oracle新建数据库,并导入dmp文件的更多相关文章

  1. oracle创建用户并导入dmp文件

    SQL命令行执行以下命令:SQL> conn sys/111111 as sysdba; SQL> CREATE USER TEST11 IDENTIFIED BY "11111 ...

  2. oracle导入.dmp文件

    在日常开发中,经常需要往一个数据库里导入.dmp文件,下面简单介绍下如何通过命令导入 1.创建一个awsbpm用户create user 用户名 identified by 密码; 如:create ...

  3. Oracle导出导入dmp文件(exp.imp命令行)

    1.说明 使用Oracle命令行导出导入dmp文件, 从而在两个数据库之间快速转移数据, 也可以用来作为数据库的备份, 将来可以快速恢复数据. 命令:导出exp.导入imp 步骤: 使用Oracle的 ...

  4. 导入dmp文件时,需要删除原有ORACLE数据库实例

    导入dmp文件时,对于已存在的数据库实例及表处理方式:删除实例. 1.以管理员身份登录 sqlplus / as sysdba 2.停止实例 shutdown abort; 执行结果:ORACLE i ...

  5. oracle数据库导入dmp文件

    最近在自己的机子上安装了oracle11g,今天把项目的测试数据库给导入进来了,方便在本地跑起来调试.下面记录一下过程: 1,导出测试数据库的文件; 这个是在公司三楼的一台机子上,用plsql中的工具 ...

  6. Oracle命令行导入dmp文件

    一.导入准备 使用impdp命令,需要在oracle数据库服务器操作: 使用sqlplus或者Oracle客户端(PL/SQL) 链接到相应的Oracle数据库实例,进行如下操作 1. 创建逻辑目录, ...

  7. Oracle----SQL语句积累 (Oracle 导入 dmp文件)

    Oracle----SQL语句积累 (Oracle 导入 dmp文件) Oracle SQL PL  导入dum文件 1.数据库DBA权限: 注意:这个是在cmd命令行中直接输入,不需要进入Oracl ...

  8. 数据库创建,用户管理,导入dmp文件

    创建数据库文件 CREATE TABLESPACE toolset LOGGING DATAFILE '/home/oracle/app/oracle/oradata/orcl/toolset.dbf ...

  9. Oracle用imp导入dmp文件记录一下

    ---------------------------------------------------------------------------------------------------- ...

随机推荐

  1. Collection List区别

    Collection是无序的,比如一大群人在广场上,你不可能说某某人是第一个,某某人是第二个 List是有序的,比如一群人从高到矮排了队,你就能说这人是第一个,这人是最后一个 因此Collection ...

  2. Mac 安装nodejs

    原文链接:http://blog.csdn.net/u010053344/article/details/50545304 Mac 安装nodejs 这几日因为需求需要又临时用到nodejs,之前安装 ...

  3. Python日记——nginx+Gunicorn部署你的Flask项目

    转自:http://blog.csdn.net/qq_32198277/article/details/52432890 大家在学习Python的时候常常都是输入 python 文件名.py   这样 ...

  4. 父类是在子类创建对象时候 在子类中创建一个super内存空间

    父类是在子类创建对象时候 在子类中创建一个super内存空间

  5. 【uoj#142】【UER #5】万圣节的南瓜灯 乱搞+并查集

    题目描述 给出一张 $n\times m$ 的网格图,两个格子之间有一条双向边,当且仅当它们相邻,即在网格图中有一条公共边. 特殊地,对于 $1\le x\le n​$ ,$(x,1)​$ 和 $(x ...

  6. jmeter发送json数据,报405、400错误解决方案

    1.405错误解决方案:添加HTTP信息头管理器(错误因数:发送格式未设置) 2.400错误解决方案:json文本格式有误(注意:换行.空格等)解决方案:对照json文本数据(错误因数:发送的json ...

  7. 在java中为什么要把main方法定义为一个static方法?

    我们知道,在C/C++当中,这个main方法并不是属于某一个类的,它是一个全局的方法,所以当我们执行的时候,c++编译器很容易的就能找到这个main方法,然而当我们执行一个java程序的时候,因为ja ...

  8. Linux文件属性和权限管理

    Linux系统为多用户系统,分为三种不同类型的用户: 1. 所有者(User): 文件的拥有者,即创建文件的用户. 2. 同组用户(Group): 与所有者同一组的用户. 3. 其他用户(Others ...

  9. mysql事务隔离级别设置

    设置innodb的事务级别方法是:set 作用域 transaction isolation level 事务隔离级别: 若没有输入作用域直接修改transaction isolation,显示修改成 ...

  10. 纯css实现长宽等比例的div

    现代网站页面基本都需要响应式,一个div的长宽往往我们都设置为百分之多少,这个百分之是相对于父容器动态计算的 这样在浏览器宽度变化之后,我们的元素也能自动更新长宽.例如:我们在页面上摆了一个div,这 ...