Oracle 11g 服务启动/关闭 及 DB dump 导入

时间:2022-04-19 10:05:52

本地启动Oracle 服务脚本

由于本地机子安装了Oracle后,会自动启动一些默认的Oracle服务,这样子会导致机子比较慢。所以需要改成手动启动/关闭服务。 即用即开,不用就关。

开启的脚本: Oracle_11g_ORCL_start_without_console.bat

@echo off
@echo ========= Start oracle 11g service =========
net start "OracleOraDb11g_home1TNSListener"
net start "OracleServiceORCL"
@echo =========Start success!!! press any key to continue =========
pause
exit

关闭的脚本:Oracle_11g_ORCL_stop.bat

@echo off
@echo =========== Stop oracle 11g service=============
net stop "OracleOraDb11g_home1TNSListener"
net stop "OracleServiceORCL"
@echo =========== Stop success!!! press any key to continue =============
pause
exit

Import DB dump

准备DB dump

相关信息如下:

1. file name: DB_2016.dump

2. schema: db_2016

3. tablespace: db_2016

该文件存放于本地路径 C:\oracle\admin\orcl\dpdump

创建User DB_2017

SQL 脚本

CREATE USER "DB_2017"  PROFILE "DEFAULT"
IDENTIFIED BY "p" DEFAULT TABLESPACE "USERS"
TEMPORARY TABLESPACE "TEMP"
ACCOUNT UNLOCK;
GRANT UNLIMITED TABLESPACE TO "DB_2017";
GRANT "RESOURCE" to "DB_2017";
GRANT "CONNECT" TO "DB_2017";
GRANT "DBA" TO "DB_2017";

运行结果

user "DB_2017" created.
GRANT succeeded.
GRANT succeeded.
GRANT succeeded.
GRANT succeeded.

验证是否创建成功?

select * from all_users where username = 'DB_2017';

运行结果

USERNAME| USER_ID |  CRATED|
DB_2017| 169 |18-JUL-17|

  

开始导入

打开命名行 (open the command line)

C:\oracle\admin\orcl\dpdump

逐一输入脚本

set ORACLE_SID=orcl  (depend on your machine setting)

set NLS_LANG=AMERICAN_AMERICA.AL32UTF8

impdp system dumpfile=DB_2017.DUMP logfile=DB_2017.log remap_schema=DB_2016:DB_2017 REMAP_TABLESPACE=USERS:USERS

该命令行参数分析

-- 命令impdp
-- 用户system
-- dumpfile = dump 文件路径
-- logfile = 打印出入信息
-- remap_schema = 原来的 schema名称 : 导入后的schema名称
-- remap_tablespace = 原来的 tablespace名称 : 导入后的tablespace名称

此时会提示出入用户 system 的密码。如果system 密码忘记了,会提示重新输入账号、密码

--> sys as sysdba
--> p

导入时间取决于DUMP的大小。坐等片刻,导入就成功了。


知识点回顾一:Oracle安装了哪些服务、它们的作用及哪些是必须的?

安装完Oracle 11g R2 之后共有7个服务

  1. OracleServiceORCL: 数据库服务(数据库实例),是Oracle核心服务该服务,是数据库启动的基础,只有该服务启动,Oracle数据库才能正常启动。(必须启动)
  2. OracleOraDb11g_home1TNSListener: 监听器服务,服务只有在数据库需要远程访问的时候才需要。
  3. OracleMTSRecoveryService: 服务端控制。该服务允许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。
  4. Oracle ORCL VSS Writer Service: Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能。
  5. OracleDBConsoleorcl: Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。在运行Enterprise Manager(企业管理器OEM)的时候,需要启动这个服务。
  6. OracleJobSchedulerORCL: Oracle作业调度(定时器)服务,ORCL是Oracle实例标识。
  7. OracleOraDb11g_home1ClrAgent: Oracle数据库.NET扩展服务的一部分。

1,2,3,4 默认启动。但是只有1是必须启动。

那么在开发的时候到底需要启动哪些服务呢?

  • 要是只用Oracle自带的sql*plus的话,只要启动OracleServiceORCL即可
  • 要是使用PL/SQL Developer等第三方工具的话,OracleOraDb11g_home1TNSListener服务也要开启。
  • OracleDBConsoleorcl是进入基于web的EM必须开启的,其余服务很少用。

: ORCL是数据库实例名,默认的数据库是ORCL,你可以创建其他的,即OracleService+数据库名


知识点回顾二: 什么是 tablespace ? 如何创建和查看  tablespace?

TableSpace的概念及创建 (未消化)

查看表空间的大小及使用情况脚本 (未消化)

知识点回顾三: impdb 命名的官方文档在哪儿?

Data Dump Import