記一次oracle建立一個新資料庫,並匯入正式環境資料庫備份的dmp包過程
阿新 • • 發佈:2019-02-17
背景:
正式環境oracle資料庫定時用exp備份一個dmp包,現在打算在一臺機器上建立一個新資料庫,並匯入這個dmp包。
1、建立資料庫
開始 -> 所有程式 -> Oracle -> 配置和移植工具 -> Database Configuration Assistant,開啟圖形化介面,大部分都是預設的下一步操作,有幾個地方需要輸入:
(1)其中要輸入“全域性資料庫名”和“SID”的名稱,兩個一樣就行,這裡假設輸入testdb;
(2)選擇“所有賬戶使用同一管理口令”,輸入口令(這個口令一定要記住);
(3)資料檔案和控制檔案等的路徑,根據實際需要可以修改;
2、建立完資料庫後,可以修改tnsnames.ora的網路服務名,如把TESTD修改為TESTDB
檔案位置:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
TESTD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = serv001)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb)
)
)
3、用dba管理員登入
cmd命令視窗中
輸入 set oracle_sid=ibrtestdb回車
再輸入 sqlplus /nolog 回車
再輸入 conn / as sysdba 回車
4、上面提示:“許可權不足”,網上搜索了下解決方法,把作業系統的當前使用者加入到ORA_DBA組裡,就好了。
計算機 -> 管理 -> 本地使用者和組 -> 使用者 -> 【當前使用者】 -> 屬性 -> 隸屬於 -> 新增 -> ORA_DBA
5、根據正式環境資料庫的表空間,建立對應的表空間
create tablespace data datafile 'E:\oradata\testdb\data01.dbf' size 500m;
create tablespace indx datafile 'E:\oradata\testdb\indx01.dbf' size 500m;
6、建立使用者dev,並賦予一些許可權
create user dev identified by dev default tablespace data;
-- Grant/Revoke object privileges
grant execute on SYS.DBMS_JOB to dev;
-- Grant/Revoke role privileges
grant connect to dev;
grant resource to dev;
grant dba to dev;
-- Grant/Revoke system privileges
grant create job to dev;
grant create materialized view to dev;
grant create view to dev;
grant debug connect session to dev;
grant manage scheduler to dev;
grant unlimited tablespace to dev;
7、匯入dmp備份包,留意匯入過程中是否有錯誤資訊
imp dev/ [email protected] file= E:\db20170530.dmp fromuser=prd touser=dev
8、匯入後的檢查,檢查表、檢視、儲存過程、job等是否已全部匯入
select * from user_tables;
select * from user_views;
select * from user_objects t where t.OBJECT_TYPE='FUNCTION';
select * from user_objects t where t.OBJECT_TYPE='PROCEDURE';
select * from user_objects t where t.OBJECT_TYPE='JOB';
select * from user_objects t where t.OBJECT_TYPE='VIEW';
select * from user_objects t where t.OBJECT_TYPE='MATERIALIZED VIEW';
select * from user_objects t where t.OBJECT_TYPE='TABLE';
9、其他電腦連線到此資料庫,需要在tnsnames.ora增加配置資訊
TESTDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = serv001)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = testdb)
)
)
正式環境oracle資料庫定時用exp備份一個dmp包,現在打算在一臺機器上建立一個新資料庫,並匯入這個dmp包。
1、建立資料庫
開始 -> 所有程式 -> Oracle -> 配置和移植工具 -> Database Configuration Assistant,開啟圖形化介面,大部分都是預設的下一步操作,有幾個地方需要輸入:
(1)其中要輸入“全域性資料庫名”和“SID”的名稱,兩個一樣就行,這裡假設輸入testdb;
(2)選擇“所有賬戶使用同一管理口令”,輸入口令(這個口令一定要記住);
(3)資料檔案和控制檔案等的路徑,根據實際需要可以修改;
2、建立完資料庫後,可以修改tnsnames.ora的網路服務名,如把TESTD修改為TESTDB
檔案位置:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
TESTD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = serv001)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb)
)
)
3、用dba管理員登入
cmd命令視窗中
輸入 set oracle_sid=ibrtestdb回車
再輸入 sqlplus /nolog 回車
再輸入 conn / as sysdba 回車
4、上面提示:“許可權不足”,網上搜索了下解決方法,把作業系統的當前使用者加入到ORA_DBA組裡,就好了。
計算機 -> 管理 -> 本地使用者和組 -> 使用者 -> 【當前使用者】 -> 屬性 -> 隸屬於 -> 新增 -> ORA_DBA
5、根據正式環境資料庫的表空間,建立對應的表空間
create tablespace data datafile 'E:\oradata\testdb\data01.dbf' size 500m;
create tablespace indx datafile 'E:\oradata\testdb\indx01.dbf' size 500m;
6、建立使用者dev,並賦予一些許可權
create user dev identified by dev default tablespace data;
-- Grant/Revoke object privileges
grant execute on SYS.DBMS_JOB to dev;
-- Grant/Revoke role privileges
grant connect to dev;
grant resource to dev;
grant dba to dev;
-- Grant/Revoke system privileges
grant create job to dev;
grant create materialized view to dev;
grant create view to dev;
grant debug connect session to dev;
grant manage scheduler to dev;
grant unlimited tablespace to dev;
7、匯入dmp備份包,留意匯入過程中是否有錯誤資訊
imp dev/
8、匯入後的檢查,檢查表、檢視、儲存過程、job等是否已全部匯入
select * from user_tables;
select * from user_views;
select * from user_objects t where t.OBJECT_TYPE='FUNCTION';
select * from user_objects t where t.OBJECT_TYPE='PROCEDURE';
select * from user_objects t where t.OBJECT_TYPE='JOB';
select * from user_objects t where t.OBJECT_TYPE='VIEW';
select * from user_objects t where t.OBJECT_TYPE='MATERIALIZED VIEW';
select * from user_objects t where t.OBJECT_TYPE='TABLE';
9、其他電腦連線到此資料庫,需要在tnsnames.ora增加配置資訊
TESTDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = serv001)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = testdb)
)
)