orato8a 导出数据时,将--user 参数指定的内容称为登录用户,导出数据时,以
该参数指定的用户名及其他相关连接参数登录oracle 数据库进行数据导出;
如果想要导出非登录用户创建的表的数据,
则还需要通过--owner_name 参数指
定创建表的用户的用户名;
假设我们要用expdata 用户导出ssbm 用户创建的表message,则首先我们需要
对expdata 用户授予对dba_extents 和dba_objects 表的SELECT 权限,orato8a 导出
数据的登录用户都必须有对这两个表的SELECT 权限,然后还需要对expdata 用户
授予对message 表的SELECT 权限。
步骤1
授权方法,首先以系统管理员身份创建一个普通用户expdata:
SQL> conn /as sysdba;
Connected.
SQL> create user expdata identified by hello;
User created.
SQL> alter user expdata account unlock;
GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
553
User altered.
SQL> grant create session to expdata;
Grant succeeded.
步骤2
然后仍然使用系统管理员身份,对expdata 授予对dba_extents 和dba_objects 表的
select 权限:
SQL> grant select on dba_extents to expdata;
Grant succeeded.
SQL> grant select on dba_objects to expdata;
Grant succeeded.
步骤3
最后还要用ssbm 用户对expdata 用户授予对message 表的select 权限:
SQL> conn ssbm/ssbm;
Connected.
SQL> grant select on message to expdata;
步骤4
导出,方法为:
$ ./orato8a --user='expdata/hello@maya' --table_name='message' --file='./message.tbl'
--format=3 --field='@' --owner_name="ssbm"
export columns: 3
export rows: 10
export time: 0 sec
process ok!
$ cat message.tbl
1@Tom@I am Tom
2@小明@HHHH\"KKKK
3@Peter@Hello!Hello!
4@Yama@send mail
5@Hellen@\N
6@\N@\N
7@Seven@a book store
GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
554
8@MMEE@yes
9@George@Thank you.
10@Lastman@no message