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
注:标红的基本都要自己改