数据库文件导入甲骨文

巩超 / 2023-12-27


  1. 数据库管理:oracle sqlplus
  2. 数据库可视化:oracle sql developer
  3. DMP文件导入
    1. 用户登录:sqlplus / as sysdba; sqlplus /nolog; conn 用户名/口令
    2. 目录创建:create directory 目录名 as ‘目录路径’;
    3. 目录权限查询:select distinct s.owner from dba_segments s where s.tablespace_name=‘目录名’;
    4. 用户创建:create user 用户名 identified by 口令 default tablespace 表空间名;
    5. 用户权限授予:grant dba, connect, resource, create session to 用户名;(其它权限用到再百度)
    6. 表空间创建:create tablespace 表空间名 datafile ‘表空间路径\表空间名.dbf’ size xM autoextend on;
    7. impdp 用户名/口令 directory=目录名 dumpfile=文件名.dmp logfile=文件名.log remap_schema=导出用户名:导入用户名 remap_tablespace=导出表空间:导入表空间;
      1. developer中date数据类型显示方式修改:工具-首选项-数据库-NLS-日期格式(这是为了导出csv格式数据时日期显示正确)
  4. 数据库链接R
    1. RODBC
      1. library(RODBC) ##加载RODBC包,没有成功的请先下载安装install.packages(“RODBC”)
      2. con<-odbcConnect(“oracle”,uid=“testuser”,pwd=“testuser”,believeNRows=FALSE) ##建立Oracle连接
      3. emp1<-sqlQuery(con,“select * from EMP”) ##sqlQuery可带查询语句
      4. sqlFetch(con,‘EMP’) ##sqlFetch可根据表名,获取Oracle中的表(注意,这里表名在单引号中,双引号会报错)
      5. odbcClose(con) ##关闭连接
    2. RJDBC
      1. library(RJDBC) ##加载"RJDBC"包,如果失败了。请安装该包install.packages(“RJDBC”)
      2. drv<-JDBC(“oracle.jdbc.driver.OracleDriver”,“ojdbc6_g.jar”, identifier.quote=""") ##java中JDBC的套路
      3. conn<-dbConnect(drv,“jdbc:oracle:thin:@127.0.0.1:1521:orcl”,“testuser”,“testuser”) ##建立一个连接
      4. EMP<-dbReadTable(conn,‘EMP’) ##根据连接和表名获取Oracle中的表
      5. table1<-dbGetQuery(conn,“select * from EMP”) ##根据sql记录获取Oracle中表的数据
      6. head(EMP,3) ##查看前三行
      7. head(table1,3) ##查看前三行
      8. names(table1)=iconv(names(table1),“UTF-8”,“GBK”) ##若是表中列名为中文,读取时出现乱码,可用这句来搞定乱码情况

最后一次修改于 2023-12-27