问题1:请教各位大佬推荐一本oracle的电子书籍!我会一点sql会一点mysql ,oracle从来没有接触过。
问题2:关于sqlplus的问题
     
     图片的service_name为ncdb 我后来自己加的1
用plsql 链接oracle数据库,现在这个host是我本地ip本地已经安装好了oracle,然后用友的实施人员说通过后面的这个service_name可以链接到线上电脑的服务器吗?这里我很不理解,为啥我连ip地址都没指定到线上服务器,他是怎么连接到线上的服务器呢?说我这段代码会给线上的数据库覆盖。
我执行的是这段语句:
impdp nc65/nc65@ncdb REMAP_SCHEMA = nc65:nc0510table_exists_action = replace directory=data_dir dumpfile=ncdb_20190526.dmp logfile=ncdb_20190526.log现在的问题是impdp的nc65/nc65@ncdb 与我们线上的数据库的账号密码是一样的。
REMAP_SCHEMA = nc65:nc0510 这里的nc0510是我本地的。
impdp [用户名]/[密码]@[服务名] 用户名是本地使用sqlplus登录的账户与密码。其中的这个服务名是什么意思呢? 
REMAP_SCHEMA=[源用户名1]:[目标用户名2] 源用户名应该就是我导出的表的用户命吧?就是nc65 目标用户名2就是指我本地的用户名吗?

解决方案 »

  1.   

    你在tnsnames.ora文件里的ncdb是怎么定义的?指向的是哪个IP?是服务器的,还是你自己本地的IP?
      

  2.   

    嗯,连接方式上,mysql不需配置tns_name,一般是直接连:
    mysql -uusername -ppassword -hip -pprot
    但oracle一般是需要在tnsnames.ora中添加tns_name,当然,你也可以直接连:
    sqlplus username/password@ip:port/sid