
设置方法如下:
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数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)