Oracle数据库创建用户、导入数据、导出数据

电脑安装好Oracle 11g ,并且配好环境变量后,则可进行以下操作。

 

打开电脑左下角开始菜单,在下方搜索蓝输入【cmd】

输入【sqlplus / as sysdba】进入oralce控制台

或者

sqlplus /nolog

conn /as sysdba

 

创建表空间:
1、临时表空间:
create temporary tablespace portal_temp tempfile 'E:\Oracle_orcl\portal_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;
2、表空间:
CREATE TABLESPACE portal LOGGING DATAFILE 'E:\Oracle_orcl\portal.DBF' SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;

3、创建用户:
create user portal identified by 123456 DEFAULT TABLESPACE portal TEMPORARY TABLESPACE portal_temp;

注:portal需要和表空间的portal一致
注:create user portal identified by 123456:用户名是portal ,密码是:123456
注:DEFAULT TABLESPACE portal TEMPORARY TABLESPACE portal_temp:告诉数据库让指定用户使用上方创建的表空间
注:如果是12C数据库,用户名前面需要加c##,如:c##portal

4、授予权限:
grant dba,resource,connect to portal;

5、导入数据库:
imp portal/123456@127.0.0.1:1521/orcl file=D:\portal.dmp log=D:\portal.log full=y ignore=y statistics=none buffer=81920

导出数据库

exp portal/123456@127.0.0.1:1521/orcl file=D:\portal.dmp log=D:\portal.log owner=portal

注意:Oracle 11G在用exp 导出时,空表导不出 

=======================================

解决方案:

1、先查询一下当前用户下的所有空表

select table_name from user_tables where NUM_ROWS=0;

2、用以下这句查找空表

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;

3、把查询的结果复制出来,执行复制的语句

alter table BOOKS_BASE allocate extent;
alter table CORP_BASE allocate extent;
alter table DEVICE_BASE allocate extent;
alter table EAT_DATE allocate extent;
alter table FILE_BASE_AUTH allocate extent;
alter table LP_SYS_MENUACTION allocate extent;
alter table OUTWORK_LIST allocate extent;
alter table WORK_LEADER allocate extent;
alter table WORK_MEET allocate extent;

4、然后再执行导出命令

exp portal/123456@127.0.0.1:1521/orcl file=D:\portal.dmp log=D:\portal.log owner=portal

 

注:标红的基本都要自己改

 

posted @ 2020-07-31 19:44  佩奇er  阅读(1209)  评论(1编辑  收藏  举报