记一次oracle创建一个新数据库,并导入正式环境数据库备份的dmp包过程

背景:
正式环境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/dev@TESTDB 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)
)
)

上一篇:Pulsar Consumer实现介绍


下一篇:Spotlight on Mysql在Windows平台下的安装及使用简介