目的:做一个脚本,只要一运行就可以完成该数据库表空间,表,基础数据的全部导入
操作:第一步建立表空间,下面是范例
CREATE TABLESPACE rds4
LOGGING
DATAFILE 'D:\rds4.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
create user rds4 identified by a
default tablespace rds4;
grant connect,resource to rds4;
grant
CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,
ALTER ANY TABLE, ALTER ANY PROCEDURE,
DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
TO rds4;
第二步:创建表,下面是范例
prompt
prompt Creating table ALARM_CODE
prompt =========================
prompt
create table RDS4.ALARM_CODE
(
ALARM_ID VARCHAR2(30),
ALARM_NAME VARCHAR2(300)
)
tablespace RDS4
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
comment on table RDS4.ALARM_CODE
is '警情字典表';
comment on column RDS4.ALARM_CODE.ALARM_ID
is '警情编号';
comment on column RDS4.ALARM_CODE.ALARM_NAME
is '警情名称';
这些表结构是通过pl/sql的tools->导出用户对象,勾选“包括权限,包括存储,包括所有者”
第三步:插入数据,这里就要特别小心了
比如你是在system下操作的,如果是在同一个表空间,那么这样去写
insert into RDS4.T_P_ROLE_MODULE (ROLE_ID, MODULE_ID)
values (1, 16);
假如不在同一个表空间,那么你还得先执行这么一条语句:
create database link dblink_bbb connect to rds4 identified by rds4 using 'a';
这句话是建立一个数据库的链接,因为你是在一个数据库下向另一个数据库进行插入数据的,所以要先连接一下那个数据库,上面红色部分是需要改的
第一个是rds4是你要连接的表空间名,即数据库名,第二个rds4是你要操作的那个用户名,a是那个用户的密码