假如需要新建库,参考文章
DBCA命令行建库 - chchcharlie、 - 博客园
一些常用命令
lsnrctl start #启动racle监听
lsnrctl status #命令查看Oracle监听器运行状况
startup,shutdown 启动关闭
建表空间以及用户
先进入Oracle用户
su - oracle;
再以sysdba身份打开,sqlplus
sqlplus / as sysdba
然后建表空间以及用户
-- 创建表空间
CREATE TABLESPACE REPCZ LOGGING DATAFILE '/DATA/ORADATA/ORCL/USER_SPACE/REPCZ/REPCZ.DBF' SIZE 2048M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
--创建临时表空间
CREATE TEMPORARY TABLESPACE TEMP_REPCZ TEMPFILE '/DATA/ORADATA/ORCL/USER_SPACE/REPCZ/TEMP_REPCZ.DBF' SIZE 1024M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
--删除表空间 创建出错的话
DROP TABLESPACE REPCZ INCLUDING CONTENTS AND DATAFILES;
--创建用户
CREATE USER ${你的用户名} IDENTIFIED BY ${你的密码}
DEFAULT TABLESPACE ${指定的表空间}
TEMPORARY TABLESPACE ${指定的临时表空间}
PROFILE DEFAULT;
--假如出错先删除用户再删除表空间即可
DROP USER ${你的用户名} CASCADE
完成后,对用户进行授权
--imp导入所需权限
GRANT CONNECT, RESOURCE, DBA TO ${要授权的用户};
GRANT IMP_FULL_DATABASE TO ${要授权的用户};
GRANT CREATE SESSION TO ${要授权的用户};
GRANT EXECUTE ANY PROCEDURE TO ${要授权的用户};
进行imp导入
会导入到该用户的表空间。buff是缓冲区的大小,可以适当设置,full是覆盖导入,也就是该用户的表空间里原有的数据会被删除。ignore是忽略错误。
imp ${要导入的用户名}/${要导入的用户的密码}@${库名} file='/data/oradata/orcl/user_space/repcz/repcz1217.dmp' buffer=1000000 full=y ignore=y;
等待导入完成。
ORA-12899字符超出,有可能是因为dmp字符编码和库的不一样
alter database character set internal_use ${对应编码};
出错了删除用户再删除表空间,然后重新创建即可。
有不对的地方多多指正。