資料庫停機遷移oracle10g 執行個體,遷移oracle10g

來源:互聯網
上載者:User

資料庫停機遷移oracle10g 執行個體,遷移oracle10g
1 原資料庫的操作1.1 查看原有配置1.1.1 查看使用者權限

查看使用者系統許可權:

SQL> select * from user_sys_privs;

查看使用者擁有的角色

SQL> select * from user_role_privs;

查看當前會話的許可權

SQL> select * from session_privs;

PRIVILEGE

----------------------------------------

CREATE SESSION

UNLIMITED TABLESPACE

CREATE TABLE

CREATE CLUSTER

CREATE VIEW

CREATE SEQUENCE

CREATE PROCEDURE

CREATE TRIGGER

CREATE TYPE

CREATE OPERATOR

CREATE INDEXTYPE

1.1.2 查看錶

查看使用者下所有的表

  SQL>select * from user_tables;

查看某表的建立時間

         select object_name,created from user_objects

查看某表的大小

        select sum(bytes)/(1024*1024) size_M,segment_name from user_segments group by segment_name;

查看放在ORACLE的記憶體區裡的表

         SQL> select table_name,cache from user_tables where instr(cache,'Y')>0;

 

1.1.3 查看視圖,索引

 

查看使用者的視圖

Select * from user_views;

查看使用者的索引

SQL> select * from user_indexes;

查看索引個數和類別

SQL>select index_name,index_type,table_name from user_indexes order by table_name;

查看索引被索引的欄位

SQL>select * from user_ind_columns where index_name=upper(‘&index_name’);

查看索引的大小

SQL>select sum(bytes)/(1024*1024) as “size(M)” from user_segments

  where segment_name=upper(‘&index_name’);

1.1.4 查看預存程序

查看函數和過程的狀態

SQL>select object_name,status from user_objects where object_type=’FUNCTION’;

SQL>select object_name,status from user_objects where object_type=’PROCEDURE’;

查看函數和過程的原始碼

SQL>select text from all_source where owner=user and name=upper(‘&plsql_name’);

 

1.1.5查看序號

 

select * from user_sequences;

 

 1.1.6查看同義字

 

select * from user_synonyms;

 

1.1.7查看某表的約束條件

SQL> select constraint_name, constraint_type,search_condition, r_constraint_name

  2  from user_constraints

  3  where table_name ='FAMILY';

1.2      資料的匯出

建立Dump路徑

SQL> connect / as sysdba

Connected.

SQL> create directory dump_dir as '/oracle';

SQL> grant read,write on directory dump_dir to u1;

 按照使用者匯出,可以匯出預存程序,資料,視圖,索引等。 

expdp system/oracle schemas=u1  dumpfile='u1.dump' directory=dump_dir version=10.2.0.1.0

2    目標資料庫操作2.1      建立資料表空間和使用者

SQL> create tablespace u1   

  2  logging

  3  datafile '/home/oracle/oradata/db1/u1.dbf'

  4  size 30m

  5  autoextend on

  6  next 32m

  7  maxsize 100m

  8  extent management local;

SQL> create user u1 identified by tiger default tablespace u1;

grant resource,connect to u1;

2.2      按照使用者匯入

建立Dump路徑

SQL> connect / as sysdba

Connected.

SQL> create directory dump_dir as '/oracle';

SQL> grant read,write on directory dump_dir to u1;

impdp system/oracle schemas=u1  dumpfile='u1.dump' directory=dump

3. 其他參數3.1 按照版本匯出

[oracle@host2 ~]$ expdp system/oracle tablespaces=u1  dumpfile='u1_version.dump' directory=dump_dir version=10.2.0.1.0

[oracle@host2 oracle]$ impdp system/oracle tablespaces=u1  directory=dump dumpfile='u1_version.dump' version=10.2.0.1.0

3.2 匯出定義

expdp system/oracle tablespaces=u1  dumpfile='u1_all.dump' directory=dump_dir version=10.2.0.1.0 CONTENT=ALL

3.3 只匯出預存程序

PROCEDURE也可以換成其它對象如:INDEX,TABLE,FUNCTION,VIEW,DATABASE LINK,SYNONYM,PACKAGE BODY,SEQUENCE,LOB,PACKAGE,PROCEDURE

 [oracle@host2 oracle]$ expdp system/oracle schemas=u1  dumpfile='u1_p.dump' directory=dump_dir version=10.2.0.1.0 include=PROCEDURE


oracle10G資料移轉問題

用得著toad嗎
用dba帳戶登入
insert into A.tb_a
select id,name,pwd from B.tb_a;
commit;
不就行了
 
遷移ORACLE資料庫的方法

直接使用ORACLE命令列工具就可以,首先使用export匯出資料,然後在目標伺服器使用import命令匯入,這兩個語句特別是跨平台遷移以及資料量比較大的時候非常有效,採用excel方式資料行不能大於65535,並且效率比較低。
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.