前提:

1.本地有Oracle 11g数据库,服务器上的数据库版本跟本地一样

2.本地有PL/SQL Developer 13工具

相关的概念:

1. 在Oracle数据库中, 一个 "用户" 就是 一个 "数据库"; 所谓的 "用户名" 就是 数据库的名字.

2. 在Oracle中有很重的 "权限" 概念, 普通的 增/删/改/查 等等都需要权限, 没权限就没法操作.

3. 在Oracle中, 每个 "用户" 都有对应的 "表空间" , 在创建 "用户" 的过程中, Oracle会分配一个默认的 "表空间" , 但是在工作中, 一般会自己创建一个 "表空间" , 然后将自己创建的 "用户" 放到自己创建的 "表空间" 中.

 

实例:

一. 服务器上面有一个 用户名 叫做 SCHOOL 的用户, 密码是 school123, 存在于名为 MYSCHOOL 的表空间里. 那么你在本地也得创建同样名字的一个用户,最好名字、密码和表空间都跟服务器上的一样.

具体步骤如下:

1. 连接服务器. 一般的话, 都得连上 v*n 才能连接到服务器.

① 首先连接v*n.

② 找到你 Oracle 安装目录下的这两个文件.

Oracle从服务器导出完整数据,然后本地导入

③ 将这个两个文件复制一份, 找一个文件夹存起来, 这是你自己本来的两个文件. 然后我们用编辑器打开对这两个文件进行修改.

Oracle从服务器导出完整数据,然后本地导入

Oracle从服务器导出完整数据,然后本地导入

④ 测试我们的配置是否成功, 能否连接远程的数据库, Win+R, 输入cmd, 进入命令窗口, 执行

tnsping 连接名

Oracle从服务器导出完整数据,然后本地导入

⑤ 运行 PL/SQL Developer 工具, 连接远程服务器上的数据库

Oracle从服务器导出完整数据,然后本地导入

⑥ 调整为下图的样子, 再点击确定按钮, 就可以连入到服务器的数据库了.

Oracle从服务器导出完整数据,然后本地导入

⑦ 进入之后, 大概就是下图这么个情况.

Oracle从服务器导出完整数据,然后本地导入

⑧ 点击左上角的 新建, 新建一个命令窗口, 可以执行一些命令, 查看我们想要知道的一些信息.

Oracle从服务器导出完整数据,然后本地导入

⑨ 点击 命令窗口 之后, 就是这个页面, 然后我们输入

select username,default_tablespace from dba_users;

可以查看存在的用户, 和用户存在的表空间

Oracle从服务器导出完整数据,然后本地导入

 

2. 导出数据. 要先看服务器上的数据库的一些权限是否拥有, 因为一般的情况下, Oracle是不会导出空表的, 所以我们得对该用户(也就是该数据库)做一些权限的操作.

① 同样在命令窗口,执行下面语句

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

Oracle从服务器导出完整数据,然后本地导入

② 这样做就导出这个库中已经存在的空表了, 但是如果你想导出你新建的空表, 那么你的修改一个权限; 修改了这个权限之后, 你之后创建的新的空表也可以导出来.

这个相当于是设置一个系统的参数, 你可以先执行下面这条语句查询一下系统参数是否true, 如果是true 我们就得改成false; 否则就不用改.

show parameter deferred_segment_creation;

Oracle从服务器导出完整数据,然后本地导入

如果要修改的话, 则在后面执行下面这条命令:

alter system set deferred_segment_creation=false;

Oracle从服务器导出完整数据,然后本地导入

③ 开始做导出数据的操作.

如图找到工具, 点击工具

Oracle从服务器导出完整数据,然后本地导入

点击导出表, 会出现类似下图的界面

Oracle从服务器导出完整数据,然后本地导入

下一步, 手动选中所有表, 点击导出按钮进行导出.在点了导出按钮的时候有一个程序执行窗口打开, 不要关掉, 导出完成后, 这个窗口会自动关掉.

Oracle从服务器导出完整数据,然后本地导入

④ 查看是否导出成功.

Oracle从服务器导出完整数据,然后本地导入

Oracle从服务器导出完整数据,然后本地导入

至此, 导出完全结束.

 

3. 导入数据.

① 我们得将之前我们修改的关于 Oracle 的两个配置文件修改回来, 否则无法连接我们本地的 Oracle

找到我们之前复制出来的 listener.ora 和 tnsnames.ora 这两个文件粘贴回去, 去替换掉我们之前做过修改的这两个文件.

Oracle从服务器导出完整数据,然后本地导入

② 打开 PL/SQL Developer 工具, 用sys账户登录, 这个账户是Oracle自带的, 如果你没改过的话, 那么用户名是: sys 密码是: sysdba

Oracle从服务器导出完整数据,然后本地导入

③ 然后同样选择新建命令窗口

Oracle从服务器导出完整数据,然后本地导入

④ 通过sys用户在本地建一个跟服务器一样的用户, 用户名/密码/表空间 都和服务器上的保持一致.

创建用户语句: create user AA identified by BBB;

其中 AA 是用户名, BBB 是密码

Oracle从服务器导出完整数据,然后本地导入

创建表空间语句: create tablespace CC datafile 'F:\devTools\oracle11g\oradata\orcl\CC_data.dbf' size 400M;

其中 CC 是表空间名, CC_data.dbf 是文件名, 可以随便取.

Oracle从服务器导出完整数据,然后本地导入

然后将该用户分配到该表空间:

分配表空间语句: alter user AA default tablespace CC;

其中 AA 是用户名, CC 是表空间

Oracle从服务器导出完整数据,然后本地导入

查看用户所在的表空间语句: select username,default_tablespace from dba_users;

如下图, 则说明分配成功.

Oracle从服务器导出完整数据,然后本地导入

⑤ 给新建的用户足够的权限, 否则新建的用户没有足够的权限不能够导入操作, 也不能进行普通的增/删/改/查.

Oracle从服务器导出完整数据,然后本地导入

找到之后,选中然后右键, 点击编辑

Oracle从服务器导出完整数据,然后本地导入

进入操作界面, 给该用户分配相应的权限

Oracle从服务器导出完整数据,然后本地导入

对象权限如图进行配置:

Oracle从服务器导出完整数据,然后本地导入

角色权限如图配置:

Oracle从服务器导出完整数据,然后本地导入

系统权限如图配置:

Oracle从服务器导出完整数据,然后本地导入

⑥ 当这些都配置好之后, 就可以用你本地新建的用户连接Oracle了.

打开 PL/SQL Developer 工具,连接该用户.

Oracle从服务器导出完整数据,然后本地导入

进入, 找到工具, 找到导入表(L). 然后进行导入操作, "导入可执行文件" 路径大概是这么个位置, 具体的要看你自己是安装到哪里的.

Oracle从服务器导出完整数据,然后本地导入

Oracle从服务器导出完整数据,然后本地导入

点击导入按钮, 开始导入数据库. 同样会弹出一个程序执行窗口, 不用管它, 导入完成之后, 它也会自动关掉.

同样我们点开日志, 进行观察, 当跟出现的内容跟下图类似时, 则说明导入成功.

Oracle从服务器导出完整数据,然后本地导入

 

4. 当然, 运行项目时, 可能还会有些问题, 因为有些视图可能会没有导出来, 这个解决方法的话, 你可以去服务器的数据库上找到对应的视图,然后导出为创建视图语句, 然后在本地执行就可以了.

 

相关文章:

  • 2021-08-01
  • 2021-07-22
  • 2022-12-23
  • 2021-09-25
  • 2021-10-01
猜你喜欢
  • 2021-07-14
  • 2022-12-23
  • 2022-12-23
  • 2021-11-29
  • 2021-08-15
  • 2021-04-25
  • 2021-07-24
相关资源
相似解决方案