Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出

浏览: 9327
启动
1、启动数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。

1.1进入到sqlplus启动实例
[oracle@redhat ~]$ su - oracle                                 --“切换到oracle用户”
[oracle@redhat ~]$ lsnrctl start --“打开监听”
[oracle@redhat ~]$ sqlplus /nolog                                --“进入到sqlplus”
SQL> conn /as sysdba --“连接到sysdba”
SQL> startup --“启动数据库实例”
SQL> shutdown immediate --“关闭数据库实例”
[oracle@redhat ~]$ lsnrctl stop --“关闭监听”



常用的操作
连接到其他用户:SQL>  conn ts/ts
查看用户下所有的表 SQL>select * from user_tables;
查看有哪些数据库实例: SQL>select instance_name from v$instance; 【查看有哪些实例】
查看有哪些用户: SQL> select username from dba_users; 【查看对应的用户】
查看Oracle的版本: SQL> select * from v$version ;
创建用户 SQL> create user ts identified by ts; SQL> grant dba to ts;




建立表空间、用户、授权
-- 查看dbf存放位置
SQL> select [i] from dba_data_files; -- 查看文件位置 SELECT [/i] FROM dba_directories;

-- 新建表空间
SQL> create tablespace bp_oracle logging datafile '/u02/oradata/devdb/bp_oracle.dbf' size 100m autoextend on next 50m maxsize 200m extent management local;

-- 新建用户
SQL> create user bp_oracle identified by bp_oracle default tablespace bp_oracle;

-- 用户授权
SQL> grant connect,resource to bp_oracle; -- cms系统中需要增加grant create view to bp_oracle视图权限

-- 用户可以 访问dump_dir 方便进行导入和导出操作
SQL> grant read,write on directory dump_dir to bp_oracle; -- 如果没有dump_dir可以建立
SQL> create directory dump_dir as 'G:/oracle_dump_dir'; --查看目录 select * from dba_directories;

-- 数据库导入1:正常情况
SQL> impdp bp_oracle/bp_oracle directory=dump_dir dumpfile=bp_oracle20120209.dmp
-- 数据库导入2:映射情况
SQL> impdp bp_oracle/bp_oracle directory=dump_dir dumpfile=ncp20120209.dmp remap_schema=ncp:bp_oracle remap_tablespace=ncp:bp_oracle
-- 数据导出,可以带版本
SQL> expdp bp_oracle/bp_oracle DIRECTORY=dump_dir dumpfile=bp_oracle.dmp version=10.2.0.1.0

-- 删除表空间
SQL> drop tablespace bp_oracle including CONTENTS and datafiles;
-- 删除用户 ,执行该语句请小心,会级联删除该用户下所有对象。
SQL> drop user bp_oracle cascade;
--修改用户密码
SQL> alter user bp_oracle identified by bp_oracle;



expdp 导入导出
-- 导出数据库不带版本
SQL>expdp bp_oracle/bp_oracle schemas=bp_oracle DUMPFILE=bp_oracle20120221.dmp DIRECTORY=DUMP_DIR JOB_NAME=full
-- 导出数据库 带版本
SQL> expdp bp_oracle/bp_oracle schemas=bp_oracle DIRECTORY=dump_dir dumpfile=bp_oracle20120221.dmp version=10.2.0.1.0



EXP、IMP导入导出 (常用的方式)
-- 导出数据 指定表名数据
SQL>exp nmswxt_mhwz/nmswxt_mhwz file=/home/oracle/dmp/nmswxt_mhwz_news_content.dmp tables=表1,表2,表3 //tables后面不要带括号,并且tables不要和owner一起用,会尝试冲突,owner与tables不能同时指定。owner是指定要导出指定用户的数据,tables参数指定要导出的表
-- 导入数据,带映射关系
SQL>imp nmswxt_mhzz/nmswxt_mhzz file=/home/oracle/dmp/nmswxt_mhwz_news_content.dmp fromuser=nmswxt_mhwz touser=nmswxt_mhzz

推荐 0
本文由 梁勇 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

2 个评论

很实用
查看有哪些数据库实例: SQL>select instance_name from v$instance; 【查看有哪些实例】
----如果是RAC,要查gv$instance
谢老头指导,RAC太高级,没玩过。

要回复文章请先登录注册