首页 > 数据库 >Oracle---windows下安装oracle19c

Oracle---windows下安装oracle19c

时间:2024-03-01 22:33:39浏览次数:21  
标签:dmp oracle19c -- 数据库 --- bds Oracle 安装 客户端

Oracle---windows下安装oracle19c

    </div>

    <div class="postText">
        <div id="cnblogs_post_body" class="blogpost-body blogpost-body-html">

 目录:

一. 官网下载oracle19c 以及客户端

二.安装oracle19c

三.配置

1.配置服务

2.配置数据库可ip连接

四.安装PLSQL

五.针对本机不安装oracle数据库,远程连接其他数据库

 六.过程中遇到问题思考 

       七.oracle自动备份压缩,定期删除

八.数据库初始化操作

九.数据库导入导出

 


 

  

一. 官网下载oracle19c 以及客户端

网路地址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#19c

 

 

二.安装oracle19c

1.解压安装压缩包

在D盘新建文件夹oracle19c(注意:解压后的安装包不能为中文路径、空格等,且数据库安装完成后安装包也不能删除。)。

将WINDOWS.X64_193000_db_home.zip解压到此文件夹下,(由于解压的安装包中已经包含客户端等,所以我就直接解压到这了,没有另建个文件夹)

(另外,在安装过程中会提示"为了更好的性能,表空间存放位置和oracle安装位置最好不要在同一个磁盘")

 2.双击setup.exe安装

我这类装的是桌面类,如果是生产服务器应该选择服务类oracle 服务器类和桌面类的区别),另外win7不兼容oracle19c

 

 

 

 

 

 

安装完成,但这次安装后在开始菜单竟然找不到安装的东西,如下图。

幸好我其他机器安装过,通过查找快捷方式地址找到了位置,如图:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Oracle - OraDB19Home1\配置和移植工具

通过这个可知,安装完oracle19c后,本机不需要再额外安装客户端,已经安装好了(且客户端相关文件就在解压缩的安装包里,所以第一步解压缩时我才没有解压到单独文件夹)。

三.配置

1.配置服务

点击Net Manager后弹窗如下,然后添加服务:

 

 

 

 

 

 

上面的7步,其实就是对tnsnames.ora配置文件的可视化操作而已,所以可直接修改配置文件即可完成上面的7步(连接测试除外)。

2.配置数据库可ip连接

此时此数据库只能本机用localhost连接,如改为本机或其他机器用ip地址连接会报无监听错误。

1)修改监听配置

 上面的这步其实就是对 listener.ora 配置文件的可视化操作而已,所以可直接修改配置文件即可完成上面的配置,如下图。

2)测试

 四.安装PLSQL

解压PLSQL13.0.4.1906.rar,按照安装包里的path.docx文件内容指示安装,安装好后,即可直接使用。

 

五.针对本机不安装oracle数据库,远程连接其他数据库

本机未安装oracle,故需要安装客户端。

解压下载好的客户端文件压缩包 WINDOWS.X64_193000_client.zip

然后点击setup.exe安装,下图选择“管理员”吧,”即时客户机“”安装后,没有可视化管理,全点手工配置配置文件才得。(安装好后,按照“步骤三下的步骤1”配置服务,然后按照“步骤四”安装PLSQL就可以了)

 

另外,安装客户端,客户端是不需要监听的(因为这个我搞了好久呀),在客户端使用PLSQL登录,只要服务端服务器上配置并启用了监听,客户端只需配置服务名即可 。(使用PLSQL登录报 无监听指的是服务端监听没弄好)

 另外,我在客户端的Net Manager配置服务,检测连接成功,但启动PLSQL连接时报如下错误。

 查网上 https://blog.csdn.net/itsonglin/article/details/46431507,跟我差不多的问题,按描述检测后依然不得。最终发现是因为我的服务命名用了中文导致的,果断将中文改掉ok了(我是因为在Net Manager配置检测连接成功才认为中文可以的,谁知道在plsql这出问题了)。

   

   

 六.过程中遇到问题思考

1.Oracle19c与win7以下(包括win7)不兼容(不能安装。我在win7系统安装oracle19c数据库后怎么也不行,后来查网才知道)。

2.解压“WINDOWS.X64_193000_db_home.zip”。

注意:解压后的安装包不能为中文路径,且不要有空格这台特殊的,且数据库安装完成后安装包也不能删除。

原因是安装包里包含客户端相关文件,以及安装后的服务实例、监听等的可执行文件都在安装包里。

 

 3.安装客户端

注意:如果本机已经安装了oracle19c,那么本机想用plsql连接数据库就不需要再安装这个客户端(安装了也没事,就是修改配置时点看好哪个生效了),原因是安装了oracle19c后,其安装包里就有了客户端。

我就是安装完oracle19c后,本机又安装了个客户端,然后修改客户端的配置,怎么也不生效,如下图:

 

 

 

故结论:如本机已安装oracle19c了,就不需要安装此客户端(安装oracle19c自带了),如本机未安装Oralce,而是仅仅远程连接其他oracle服务器的话,就需要先安装客户端才能远程连接oracle数据库,再安装PLSQL工具。

 4.oracle安装后,其他机器客户端安装好后,无法通过ip地址远程连接到此oracle数据。解决方法可看上面的“安装步骤三下面的步骤2“,当时解决此问题参考的网上方法截图如下:

 

 

七.oracle自动备份压缩,定期删除

windows下采用创建bat脚本文件的方法(如下),然后再配置windows计划任务定时执行即可(参考网址:https://www.freesion.com/article/6171488527/

复制代码
      
@echo off   
echo ================================================   
echo  Windows环境下Oracle数据库的自动备份脚本  
echo  1. 使用当前日期命名备份文件。  
echo  2. 自动删除365天前的备份。  
echo ================================================  
::以“YYYYMMDD_hhmmss”格式取出当前时间。  
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
::设置用户名、密码和要备份的数据库。(这里注意信息后面不能带有空格)
set IP=179.21.10.888
set USER=dgc
set PASSWORD=123456
set DATABASE=ORCL
::创建备份目录。  
if not exist "E:\oracleBackup\data"       mkdir E:\oracleBackup\data
if not exist "E:\oracleBackup\log"        mkdir E:\oracleBackup\log
set DATADIR=E:\oracleBackup\data
set LOGDIR=E:\oracleBackup\log
exp %USER%/%PASSWORD%@%IP%/%DATABASE%  file=%DATADIR%\data_%BACKUPDATE%.dmp owner(%USER%) log=%LOGDIR%\log_%BACKUPDATE%.log 
::进行文件压缩(可将在program Files里安装好的WinRAR.exe复制粘贴到System32路径下)
"C:\Windows\System32\WinRAR.exe" m -r -ep1 "%DATADIR%\data_%BACKUPDATE%.rar" "%DATADIR%\data_%BACKUPDATE%.dmp"
::删除365天前的备份。  
forfiles /p "%DATADIR%" /s /m *.* /d -365 /c "cmd /c del @path"  
forfiles /p "%LOGDIR%" /s /m *.* /d -365 /c "cmd /c del @path"  
exit  
复制代码

 结果如下:

 

八.数据库初始化操作

复制代码
 --创建临时表空间(这里可以不建,直接用系统默认的临时表空间temp)
 create temporary tablespace dgc_temp
  tempfile 'E:\oracle\oradata\ORCL\dgc_temp.dbf' ----存储地址
  size 100m    --初始大小
  autoextend on  next 100m maxsize 20480m --每次扩展大小,最大存储大小(无限制扩展 unlimited)
  extent management local;

--创建用户表空间
create tablespace dgc_ods
  logging
  datafile 'E:\oracle\oradata\ORCL\dgc_ods.dbf'
  size 1024m
  autoextend on next 100m MAXSIZE UNLIMITED
  extent management local;

--创建用户
create user dgc_ods profile default identified by Dgc2022#$ods
default tablespace dgc_ods
temporary tablespace dgc_temp
account unlock;
--赋权限
grant connect,resource,dba to dgc_ods;
--查看表空间使用情况
SELECT a.tablespace_name "表空间名",
total / 1024 / 1024 "表空间大小(M)",
free / 1024 / 1024 "表空间剩余大小(M)",
(total - free) / 1024 / 1024 "表空间使用大小(M)",
ROUND((total - free) / total, 4) * 100 "使用率 %"
FROM (SELECT tablespace_name, SUM(bytes) free
FROM DBA_FREE_SPACE
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) total
FROM DBA_DATA_FILES
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name;

复制代码

九.数据库导入导出

方式一:do窗口执行(cmd打开dos窗口):

复制代码
--如为dos环境,需要cmd打开dos窗口,运行命令如下
sqlplus /nolog
conn /as sysdba

--导入前先删除用户
drop user bds cascade;

--如有链接查询数据库链接,执行查询出的结果(删除用户时报有链接时可用此方法删除数据库链接)
select 'Alter system kill session ' || chr(39) || sid || ',' || serial# ||chr(39) || ' IMMEDIATE;' from v$session where username='BDS';--‘’里的用户为大写字母

--创建用户(表空间为nsofttest 临时表空间为temp)
create user bds profile default identified by bdstest
default tablespace bds
temporary tablespace temp
account unlock;
--赋权限
grant alter any index to bds;
grant create any index to bds;
grant create procedure to bds;
grant create any view to bds;
grant drop any index to bds;
grant drop any view to bds;
grant connect to bds;
grant dba to bds;
commit;

--执行完sql语句后,执行导入操作
--导入<dos窗口 2次exit退出sql后,cd进入备份文件所在路径,再执行下面操作>
imp bds/bdstest@ORCL file=110221.dmp fromuser=bdsdata touser=bds ignore=y rows=y full=y
<ignore=y 忽略创建错误(默认n);; rows=n不带数据,即只倒表结构等(默认为y,带数据行) full=y导入整个文件(默认n)>
--导出操作(dos窗口执行
exp bds/bdstest@ORCL file=E:/oracle/imp_data/auto_cpf_2010_0922_0850.dmp log=E:/oracle/imp_data/auto_cpf_2010_0922_0850.log

--查询当前用户数据表及数据量
SELECT '--'||b.comments||'--数据总量:'|| T.NUM_ROWS||'条',chr(10)||
'select * from '||T.TABLE_NAME||';' FROM USER_TABLES T,user_tab_comments b
where t.TABLE_NAME=b.table_name and T.NUM_ROWS!=0
order by  T.NUM_ROWS desc;

导入导出相关参数详解:https://blog.csdn.net/tian830937/article/details/130567938

--导入导出举例(注意:exp和imp 是在dos提示符下执行,即直接cmd后dos窗口执行而不是在sql下执行) nohup exp bds/bdstest@ORCL file=./OB_OPERATIONLOG20081231.dmp tables=OB_OPERATIONLOG query=\" where dtinput\<=to_date\(\'20090101\',\'yyyymmdd\'\) \" nohup imp bds/bdstest@ORCL file=./OB_OPERATIONLOG20081231.dmp tables=OB_OPERATIONLOG fromuser=bdsdata touser=bds ignore=y exp bds/bdstest@ORCL file=./CPFLOG20081231.dmp tables=CPFLOG query=\" where dtinput\<to_date\(\'20090101\',\'yyyymmdd\'\) \" imp bds/bdstest@ORCL file=./CPFLOG20081231.dmp tables=CPFLOG fromuser=bdsdata touser=bds ignore=y exp bds/bdstest@ORCL file=./CPFLOG20090113.dmp tables=CPFLOG query=\" where dtinput\>=to_date\(\'20090101\',\'yyyymmdd\'\) \" imp bds/bdstest@ORCL file=./CPFLOG20090113.dmp tables=CPFLOG fromuser=bdsdata touser=bds ignore=y exp bds/bdstest@ORCL file=./CPFLOG20091222.dmp tables=accountinfo query=\" where dtinput\>=to_date\(\'20090101\',\'yyyymmdd\'\) \" imp bds/bdstest@ORCL file=./CPFLOG20090602.dmp tables=bs_bankinstructioninfo fromuser=bdsdata touser=bds ignore=y --查询表空间 select default_tablespace,temporary_tablespace from dba_users; --创建表空间 create tablespace bds datafile 'E:\oracle19c\oradata\ORCL\bds.dbf' size 1024M --存储地址 初始大小1G autoextend on next 10M maxsize unlimited --每次扩展10M,无限制扩展 EXTENT MANAGEMENT local autoallocate segment space management auto;
复制代码

 

导入导出可以用数据泵,这个了解的少 网上可以查查看看

exp bds/[email protected] file=/oracle/imp_data/auto_bds_2010_02_08_2001.dmp rows=n
在dos环境下
exp 用户名/密码@库名称 file=路径/导出后的名称.dmp rows=n;
把那个里面的参数改成自己的相应参数就可以了,
去掉rows=n这个就是吧整个库连同数据一起导出 如果有那个的话则表示只把数据结构导出 即只导出表结构

dos下连接数据库:
在dos下输入sqlplus命令
然后输入用户名/密码@数据库名
如果用户名及密码和数据库名称没有错误的话,就可以链接数据库了。

下面是网上搜得,可直接在dos下执行,不用连接数据库:

数据导出:
进入dos后,直接运行下列操作:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:\datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=" where filed1 like '00%'"

上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。

数据的导入
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp
imp aichannel/aichannel@TEST full=y file=d:\datanewsmgnt.dmp fromuser=erpcpf touser=cpftest ignore=y buffer=80000000
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。
buffer为缓冲区大小即达到多大后提交,其大小影响导入速度,一般最大不超过8m;

2 将d:daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)

基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。

注意:
操作者要有足够的权限,权限不够它会提示。
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。

提示

 

方式二:不使用dos窗口命令执行,可使用PLSQL工具执行导入导出(PLSQL工具提供三种方式:Oracle Import/Export、SQL Inserts、PL/SQL Developer)

    <可登录其他管理员用户,然后执行<dos窗口执行>里面的删用户建用户的sql操作>

  在这里执行过程中,有几张表创建失败,查找log得知是因为这几张表中有clob和nclob类型字段,这个类型的表在创建时会带上表空间配置,而我的两个表空间名称不一致导致报错,果断删用户,新建表空间名称为备份库的表空间名称,然后再操作就ok了。

 

本文来自博客园,作者:东方飘雪,转载请注明原文链接:https://www.cnblogs.com/zdyang/p/12580263.html

分类: 小知识点记录 , 数据库相关 标签: oracle 好文要顶 关注我 收藏该文 微信分享 东方飘雪
粉丝 - 11 关注 - 1
+加关注 11 0 升级成为会员
<a href="https://www.cnblogs.com/zdyang/p/12161992.html" class="p_n_p_prefix">« </a> 上一篇:    <a href="https://www.cnblogs.com/zdyang/p/12161992.html" data-featured-image="" title="发布于 2020-01-07 15:50">vim命令(转)</a>
<br>
<a href="https://www.cnblogs.com/zdyang/p/13206455.html" class="p_n_p_prefix">» </a> 下一篇:    <a href="https://www.cnblogs.com/zdyang/p/13206455.html" data-featured-image="" title="发布于 2020-06-29 10:18">Jvisualvm</a>
    <div class="postfoot">
        posted on 

2020-03-27 11:36 
东方飘雪 
阅读(33115) 
评论(5) 
编辑 
收藏 
举报

    </div>
</div>

标签:dmp,oracle19c,--,数据库,---,bds,Oracle,安装,客户端
From: https://www.cnblogs.com/yclizq/p/18048101

相关文章

  • 【李宏毅机器学习2021】(四)Self-attention
    引入Self-attention前面学到的内容输入都是一个向量,假如输入是一排向量,又应如何处理。来看下有什么例子需要将一排向量输入模型:当输入是一排向量时,输出有三种类型:输入和输出的长度一样,每一个向量对应一个label,如词性标注、音标识别、节点特性(如会不会买某件商品)。一......
  • 射频信号源-20 GHz丨SC5510A SC5511A
    产品简介:100MHz至20GHz的输出频率范围更多信息请加weixin-pt890111获取 SC5510A和SC5511A射频信号源是基于VCO的合成信号源,具有非常低的相位噪声,在-30dBm至+15dBm的输出功率范围内,幅度控制为0.01dB。通过采用独特的多重锁相环结构,即使在1Hz步进分辨率下,整个调谐范围内的......
  • 射频信号模块-6GHz丨SC5505A SC5506A
    产品简介:输出信号频率25MHz到6GHz低残余相位噪声在10kHz偏置达到-117dBc/Hz高1GHz载频更多信息请加weixin-pt890111获取 SC5506A和SC5505A射频信号源可用作多个单级下变频器或双级下变频器的LO信号源。由于其低杂散成分和低相位噪声,它们是快速DAC和ADC应用的理想选择,尤其是......
  • 射频信号源-10 GHz丨SC5502A SC5503A
    产品简介:频率范围500MHz到10GHz、低残余相位噪声<10kHz偏移时为-121dBc/Hz,1MHz偏移时为-150dBc/Hz,1GHz载波更多信息请加weixin-pt890111获取SC5503B和SC5502A射频信号源旨在满足苛刻的低相位噪声应用。这是通过采用多重锁相环结构以及YIG振荡器作为其合成器的核心来实现的......
  • SP Devices ADQ1600-1.6 GSPS,14位RF数字化仪
    产品简介:♦单通道,14比特分辨率,1.6GSPS采样率♦800MHz模拟输入带宽及500MSamples板载内存♦适用于例如IF/RF采样及高速数据记录等不同的应用场合更多信息请加weixin-pt890111获取产品信息分辨率:14位输入信号范围:2.2Vpp输入通道:1触发:软件/扩展/级别时钟:整数/分机(SMA)外部......
  • SP Devices ADQ7WB-6.5 GHz带宽的RF数字化仪
    产品简介:♦2通道,12bit分辨率,5GSPS采样率♦6.5GHz模拟输入带宽及4GB板载内存♦适用射频监控和记录等应用更多信息请加weixin-pt890111获取产品优势 1.针对射频应用进行了优化 ADQ7WB是一款RF数字转换器,其模拟输入带宽为6.5GHz。高模拟输入带宽与高采样率相结合,可实现IF/......
  • Spectrum 高速数字波形采集板-M4i.77xx系列
    产品简介:性能指标:·数字波形采集·时域分模式720MS/s的采样率·650MS/s状态时钟(推测,TBD)·单端或LVDS接口的32通道·差分接口版本(LVDS,(LV)PECL,(N)ECL,和其他差分信号)更多信息请加weixin-pt890111获取性能指标:·数字波形采集·时域分模式720MS/s的采样率·......
  • ADQ8-8C 多通道10bit PXIe数字化仪
    产品简介:♦8通道,10比特分辨率,1GSPS采样率♦500MHz模拟输入带宽及1GB内存♦多板同步功能,是大规模多通道实施的理想选择更多信息请加weixin-pt890111获取产品优势:高通道密度和多通道同步能力ADQ8-8C具有紧凑的模块化外形,每板8个通道以及高精度的多板同步功能,是大规模多通道......
  • Spring-Boot学习
    Spring-boot学习笔记从零开始创建项目先创建一个空的Maven项目,然后在pom.xml引入Spring-boot-starter的父依赖<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2......
  • 请求参数的校验(2024-3-1)
    参数校验框架:springvalidation(使用预定义的注解完成参数校验)引入SpringValidation起步依赖~~~xml<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></depe......