Oracle 11g 服务启动/关闭 及 DB dump 导入
本地启动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个服务
- OracleServiceORCL: 数据库服务(数据库实例),是Oracle核心服务该服务,是数据库启动的基础,只有该服务启动,Oracle数据库才能正常启动。(必须启动)
- OracleOraDb11g_home1TNSListener: 监听器服务,服务只有在数据库需要远程访问的时候才需要。
- OracleMTSRecoveryService: 服务端控制。该服务允许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。
- Oracle ORCL VSS Writer Service: Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能。
- OracleDBConsoleorcl: Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。在运行Enterprise Manager(企业管理器OEM)的时候,需要启动这个服务。
- OracleJobSchedulerORCL: Oracle作业调度(定时器)服务,ORCL是Oracle实例标识。
- 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 命名的官方文档在哪儿?