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

时间:2022-08-26 08:40:14
启动
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 * from dba_data_files; -- 查看文件位置 SELECT * 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