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工具操作)

十、完成,优缺点说明

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

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

相关推荐
冬奇Lab8 小时前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence19 小时前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神21 小时前
三、用户与权限管理
数据库·mysql
麦聪聊数据2 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_2 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡2 天前
【MySQL数据库】数据类型与表约束
数据库·mysql
曹牧2 天前
Oracle EXPLAIN PLAN
数据库·oracle
BD_Marathon2 天前
SQL学习指南——视图
数据库·sql
活宝小娜2 天前
mysql详细安装教程
数据库·mysql·adb
贤时间2 天前
codex 助力oracle ebs 开发
数据库·oracle