oracle:手动同步数据库

文章目录


oracle:手动同步数据库

一、查询有哪些表空间(原库执行)

sql 复制代码
SELECT tablespace_name, status, contents, logging 
FROM dba_tablespaces 
ORDER BY tablespace_name;

二、生成创建表空间的语句(原库执行)

sql 复制代码
SELECT 
    'CREATE TABLESPACE ' || tablespace_name || ' ' ||
    'DATAFILE ''' || file_name || ''' ' ||
    'SIZE ' || ROUND(bytes/1024/1024, 0) || 'M ' ||
    'AUTOEXTEND ' || 
    CASE WHEN autoextensible = 'YES' 
         THEN 'ON NEXT ' || increment_by*8192/1024/1024 || 'M ' ||
              'MAXSIZE ' || 
              CASE WHEN maxbytes = 0 THEN 'UNLIMITED'
                   ELSE ROUND(maxbytes/1024/1024, 0) || 'M'
              END
         ELSE 'OFF'
    END || ';' AS create_tablespace_sql
FROM dba_data_files
ORDER BY tablespace_name, file_name;

三、查询现有的表空间的数据文件位置(现库执行)

sql 复制代码
--查询现有的表空间的数据文件位置
SELECT file_name, tablespace_name FROM dba_data_files;

四、创建表空间(现库执行)

将使用到原库的表空间都创建上

sql 复制代码
CREATE TABLESPACE 表空间名 DATAFILE 'D:\INSTALL\ORACLE\APP\xx\ORADATA\ORCL\文件名.DBF' SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE 5120M;

五、创建用户(现库执行)

sql 复制代码
CREATE USER 用户名
IDENTIFIED BY "密码"
DEFAULT TABLESPACE 表空间名
TEMPORARY TABLESPACE TEMP;

六、授予角色与系统权限(现库执行)

sql 复制代码
GRANT CONNECT, RESOURCE TO 用户名;
GRANT CREATE SESSION TO 用户名;
ALTER USER 用户名QUOTA UNLIMITED ON 表空间名;

七、导出表结构(原库执行,DBeaver工具操作)

sql 复制代码
CREATE TABLE "ENT"."DM_BAS_CUSTOMER" 
   (	"OWNER_ID" NVARCHAR2(11), 
	"CUSTOMER_ID" NVARCHAR2(11) NOT NULL ENABLE, 
	"CREATE_BY" NVARCHAR2(64), 
	"CREATE_AT" DATE DEFAULT sysdate NOT NULL ENABLE, 
	"UPDATE_BY" NVARCHAR2(64), 
	"UPDATE_AT" DATE DEFAULT sysdate NOT NULL ENABLE, 
	 CONSTRAINT "SYS_C00173548" CHECK ("CUSTOMER_ID" IS NOT NULL) ENABLE, 
	 CONSTRAINT "SYS_C00173549" CHECK ("CREATE_AT" IS NOT NULL) ENABLE, 
	 CONSTRAINT "SYS_C00173550" CHECK ("UPDATE_AT" IS NOT NULL) ENABLE
   ) SEGMENT CREATION DEFERRED 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
 NOCOMPRESS LOGGING
  STORAGE( INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "TS_ENT" ;

COMMENT ON TABLE ENT.DM_BAS_CUSTOMER IS '客户档案';
COMMENT ON COLUMN ENT.DM_BAS_CUSTOMER.OWNER_ID IS '货主ID';
COMMENT ON COLUMN ENT.DM_BAS_CUSTOMER.IS_ENABLE IS '是否启用';
COMMENT ON COLUMN ENT.DM_BAS_CUSTOMER.CREATE_BY IS '创建者';
COMMENT ON COLUMN ENT.DM_BAS_CUSTOMER.CREATE_AT IS '建立时间';
COMMENT ON COLUMN ENT.DM_BAS_CUSTOMER.UPDATE_BY IS '修改者';
COMMENT ON COLUMN ENT.DM_BAS_CUSTOMER.UPDATE_AT IS '更新时间';

八、执行以上SQL(现库执行,DBeaver工具操作)

九、数据导出(原库执行,DBeaver工具操作)

九、数据导入(现库执行,DBeaver工具操作)

十、完成,优缺点说明

优点:灵活,手动操作,知根知底

缺点:每个表都要操作一次,繁琐。

相关推荐
不像程序员的程序媛9 小时前
系统cpu内存负载资源分析
运维·服务器·数据库
Jane Chiu9 小时前
Oracle DBMS_REDEFINITION(在线重定义)
数据库·oracle·分区表
全栈前端老曹10 小时前
【MongoDB】安全与权限管理 —— 用户认证、角色权限、SSL 加密
前端·javascript·数据库·安全·mongodb·nosql·ssl
怕孤单的草丛10 小时前
缓存管理面临的主要问题
java·数据库·缓存
我会尽全力 乐观而坚强11 小时前
MySQL零基础入门(二)
数据库·mysql·adb
kali-Myon12 小时前
某校园门禁系统高危 SQL 注入漏洞挖掘复盘
数据库·sql·安全·web安全
程序员在囧途13 小时前
likeadmin-api API 中转站怎么做统一报价?从 /pricing、/user/balance 到 task_id 回执的落地方法
运维·服务器·数据库·likeadmin-api·api中转站·token计费
龙石数据14 小时前
MySQL 全量同步到 Hive 怎么做?三步配置教程
数据库·hive·mysql·数据治理·数据中台
程序员在囧途14 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市