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
CREATE TABLESPACE "CCEN"
LOGGING
DATAFILE 'E:\oracle2\bus\CCEN.ora'> AUTOEXTEND ON NEXT 10M MAXSIZE 10000M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
/
CREATE
TEMPORARY TABLESPACE "CCEN_TMP" TEMPFILE
'E:\oracle2\bus\CCEN_TMP.ora'>
MANAGEMENT LOCAL UNIFORM>
/
CREATE TABLESPACE "TBS_PAR1"
LOGGING
DATAFILE 'E:\oracle2\bus\TBS_PAR1.ora'> AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT
LOCAL SEGMENT SPACE MANAGEMENT AUTO
/
CREATE USER "CCENSE" PROFILE "DEFAULT"
IDENTIFIED BY "CCENSE" DEFAULT TABLESPACE "CCEN"
TEMPORARY TABLESPACE "CCEN_TMP"
ACCOUNT UNLOCK;
GRANT "CONNECT" TO "CCENSE";
GRANT "DBA" TO "CCENSE";
/
Win创建表空间分区表空间用户 3:Oracle imp/impdp 导入dmp文件到数据库
使用EXPDP和IMPDP时应该注意的事项:
EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用 。
EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用 。
IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。
注意:EXP不会导出空表(可能会对存储过程有影响)
3.1: exp/imp导出/导入数据
exp CCENSE/CCENSE@OracleDB file=D:\DBBackUp\oracleExp.dmp log=D:\DBBackUp\oracleExp20161103.log
imp CCENSE/CCENSE@OracleDB file=D:\DBBackUp\oracleExp.dmp log=D:\DBBackUp\oracleImp20161103.log FULL=y;
grant connect,resource,dba to CCENSE;
数据导出:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中exp system/manager@TEST file=d:\daochu.dmp full=y2 将数据库中system用户与sys用户的表导出exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)3 将数据库中的表table1 、table2导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)4 将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\" 上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面 加上 compress
=y 就可以了
数据的导入
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。 imp system
/manager@TEST file=d:\daochu.dmp 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore
=y 就可以了。2 将d:\daochu.dmp中的表table1 导入 imp system
/manager@TEST file=d:\daochu.dmp tables=(table1)
3.2:expdp/impdp导出/导入数据
使用impdp命令,需要在oracle数据库服务器操作:
使用sqlplus或者Oracle客户端(PL/SQL) 链接到相应的Oracle数据库实例(进行下面第一,第二两步骤的操作 )
一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory dpdata1 as 'd:\test\dump';
(查看服务器上若没有存在d:\test\dump目录,则手动新建,把dmp备份文件放到d:\test\dump目录下面)
二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
select * from dba_directories;
三、 导入数据库
expdp CCENSE/CCENSE@OracleDB directory = "dpdata1" dumpfile ="oracleExpdp.dmp" logfile = oracleExpdp20161103.log
impdp CCENSE/CCENSE@OracleDB directory="dpdata1" dumpfile="oracleExpdp.dmp" logfile = oracleImpdp20161103.log FULL=y;
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name;
select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;
netstat -aon|findstr "1522"
lsnrctl status LISTENER2
lsnrctl start LISTENER2
lsnrctl stop LISTENER2
linux sqlplus ccense/ccense@//localhost:1521/OracleDB;
win sqlplus ccense/ccense@IP:1521/OracleDB;
参考文档:http://www.cnblogs.com/luluping/archive/2010/03/16/1687093.html
Oracle修改表空间大小
http://www.cnblogs.com/RoyYu/archive/2012/12/09/2810492.html
select b.file_name 物理文件名,
b.tablespace_name 表空间,
b.bytes / 1024 / 1024 大小M,
(b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 已使用M,
substr((b.bytes - sum(nvl(a.bytes, 0))) / (b.bytes) * 100, 1, 5) 利用率
from dba_free_space a, dba_data_files b
where a.file_id = b.file_id
group by b.tablespace_name, b.file_name, b.bytes
order by b.tablespace_name;
SELECT t.table_name, t.NUM_ROWS, s.BYTES, t.OWNER, t.TABLESPACE_NAME
FROM dba_tables t, user_segments s
where t.TABLE_NAME = s.segment_name
ORDER BY 3 DESC;
ALTER TABLESPACE CCEN ADD DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\NEWBUS2\CCEN.ORA'>
imp 只导入数据,不导入表结构,在命令里加上ignore=y就可以了
ignore=y相当于,如果没有的表,创建并倒入数据,如果已经有的表,忽略创建的,但不忽略倒入。
在使用IMP导入并使用ignore=y参数时,Oracle根本不检查要导入的数据结构和现存在数据库中表的结构是否相同
exp 命令导出表结构,不导出表数据。只需在命令行里加一个参数rows=n即可。表示不导出表数据
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com