怎么远程连接oracle数据库

怎么远程连接oracle数据库,第1张

设置方法如下:

1、找到$ORACLE_HOME/client_1/network/admin目录下的tnsnamesora文件,并用文本模式打开。

2、添加以下内容:

本地实例名=

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 端口号))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = 服务名)

    )

  )

3、用工具登录即可。

用Oracle自带的SQL plus或者iSQL plus

SQL plus是控制台模式,这里以sys用户为例,输入sys/123 as sysdba

因为是sys用户,所以密码可以随便输

进入数据库后,利用SQL语句 *** 作

iSQL plus和SQL plus差不多,就是以网页的形式 *** 作,实际还是用SQL语句

1、docker search oracle[搜索docker云平台上的oracle的镜像]

2、docker pull registrycn-hangzhoualiyuncscom/qida/oracle-xe-11g拉取

3、docker images

4、docker run -d -p 49160:22 -p 49161:1521 -e ORACLE_ALLOW_REMOTE=true --name oracle -v /dockerOracleData:/dockerOracleData  registrycn-hangzhoualiyuncscom/qida/oracle-xe-11g

5、docker ps

6、docker s

7、sqlplus / as sysdba

PS:docker容器常用命令

docker search xxx:搜索docker云平台相关的镜像

docker pull xxx:根据名称拉取docker云平台镜像

docker images:列出本地镜像 

    -a:列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)

    -digests:显示镜像的摘要信息

    -f:显示满足条件的镜像

    --format:指定返回值的模板文件

    --no-trunc:显示完整的镜像信息

    -q:只显示镜像ID

docker ps:列出容器

    -a:显示所有的容器,包括未运行的

    -f:根据条件过滤显示的内容

    --format:指定返回值的模板文件

    -l:显示最近创建的容器

    -n:列出最近创建的n个容器

    --no-trunc:不截断输出

    -q:静默模式,只显示容器编号

    -s:显示总的文件大小

docker start  :启动一个或多个已经被停止的容器

docker stop  :停止一个运行中的容器

docker restart  :重启容器

docker rm : 删除一个或多个容器。

    -f:通过 SIGKILL 信号强制删除一个运行中的容器

    -l:移除容器间的网络连接,而非容器本身

    -v:删除与容器关联的卷

这个绝对适合新手,直接贴代码给你,要获得一个数据库连接就调用getConnection()方法,记得用完后要调用close()方法关闭连接。

import javasql;

public class ConnDB {

private final String DBDRIVER = "oraclejdbcdriverOracleDriver" ;

private final String DBURL = "jdbc:oracle:thin:@服务器地址:1521:数据库名" ;

private final String DBUSER = "用户名" ;

private final String DBPASSWORD = "密码" ;

private Connection conn = null ;

public ConnDB ()

{

try

{

ClassforName(DBDRIVER) ;

thisconn = DriverManagergetConnection(DBURL,DBUSER,DBPASSWORD) ;

}

catch (Exception e)

{

//连接打开数据库失败;

}

}

// 取得数据库连接

public Connection getConnection() 

{

return thisconn ;

}

// 关闭数据库连接

public void close()

{

try

{

thisconnclose() ;

}

catch (Exception e)

{

//关闭数据库失败 ;

}

}

}

oracle在导入数据时报1659的错误的原因主要是数据库表空间剩余空间不足引起的。

分析原因

1、表空间剩余空间不足。

使用下面语句,查看表空间剩余空间

select Upper(ftablespace_name) "表空间名",

dtot_grootte_mb "表空间大小(M)",

dtot_grootte_mb - ftotal_bytes "已使用空间(M)",

to_char(round((dtot_grootte_mb - ftotal_bytes) /

dtot_grootte_mb 100, 2),'99099') || '%' "使用比",

ftotal_bytes "空闲空间(M)",

fmax_bytes "最大块(M)"

from (select tablespace_name,

round(sum(bytes) / (1024 1024), 2) total_bytes,

round(max(bytes) / (1024 1024), 2) max_bytes

from sysdba_free_space

group by tablespace_name) f,

(select ddtablespace_name,

round(sum(ddbytes) / (1024 1024), 2) tot_grootte_mb

from sysdba_data_files dd

group by ddtablespace_name) d

where dtablespace_name = ftablespace_name

order by ftablespace_name;

表空间剩余空间不足时,可以根据原数据库表空间大小增加表空间。

alter tablespace 表空间名 add datafile '数据文件名' size 数据文件大小;

2、剩余表空间还很多。

使用下面语句查看原数据库表表定义,找到initial_extent值大的表,将这些表的

创建语句导出后修改initial_extent值,在目标数据库中创建后再导入数据,导入时

增加参数ignore=y。

select table_name, initial_extent

from user_tables

where initial_extent is not null

order by initial_extent desc

如果找不到原数据库,可以使用

imp userid/userid@service_name file=dmp文件名 indexfile=index文件名 rows=n full=Y

命令将dmp文件中创建表的语句导入到indexfile文件中,查看indexfile如下:

REM CREATE TABLE "TEST""DM_KJKM_COPY" ("KJZDMB_DM" VARCHAR2(100)

REM ENABLE, "KMID" NUMBER(20, 0), "KMBM" VARCHAR2(100), "KMMC"

REM VARCHAR2(500), "KMQC" VARCHAR2(1000), "KMLB_DM" VARCHAR2(100),

REM

使用文本编辑工具,查找INITIAL将过大的初始值改为65536后,将REM去除后,在数据库中创建后再使用exp导入数据,导入时增加参数ignore=y。

以上就是关于怎么远程连接oracle数据库全部的内容,包括:怎么远程连接oracle数据库、如何连接本地的oracle数据库、docker容器安装oracle数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9670880.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存