记一次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)
)
)
相关文章
- Oracle如何查看当前PDB容器信息
- Oracle数据库误truncate table的数据恢复案例
- Oracle数据库:oracle执行计划性能代价cost,全表扫描速度慢,索引扫描速度快
- Oracle数据库:oracle事务处理语言TCL,commit,rollback,savepoint语句
- Oracle数据库:oracle组函数,聚合函数,多行函数,avg,sum,min,max,count,group by,having
- Oracle数据库:条件表达式case when then else end,decode函数,oracle单行函数练习示例
- Oracle数据库:sql语言结构,数据查询语言DQL,select * from table;算术,别名,连接,去重等操作
- oracle数据库审计用什么数据库审计软件好?可以用什么方式部署?
- 细说Oracle数据库与操作系统存储管理二三事
- Oracle imp/impdp 导入dmp文件到数据库
- Oracle一列的多行数据拼成一行显示字符
- Oracle数据库内置函数
- Oracle 数据库导入导出 dmp文件
- Oracle数据库备份还原相关语句
- Oracle数据库分页的存储过程
- ArcGIS 的 Oracle 数据库的要求
- Oracle数据库系统管理与运维 | 数据库进程
- Oracle的 Pfile生成
- Oracle数据库无法向listener注册的解决一例
- SQL server与Oracle数据库镜像对比
- oracle的imp导入时覆盖目标数据库
- CYQ.Data 数据框架 数据库分页方式及存储过程[SQL2000/SQL2005/Oracle]
- Oracle 数据库和Sql Server数据库的区别