❶ oracle 11g 数据库导入sql文件到指定数据库的命令是什么
1、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory dpdata1 as ‘d: estmp’。
2、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,尺汪顷如果不存在,则出错)。
select * from dba_directories;
3、陵陆给scott用户赋予在指定目录的操作权限,最陵桐好以system等管理员赋予。
grant read,write on directory dpdata1 to scott;
❷ 登录system登不了是怎么回事
scott账户登录不上,报错ORA-01017: invalid username/password; logon denied最佳解决办法
千次阅读2018-02-26 19:19:25
本人在重装oracle数据库时发生的头疼了半天的事,如果小伙伴你也在看这篇文章,那说明你也遇到了跟我一样的问题!
废话少说,直接进入正题!
1.登录scott账户,报错ORA-01017: invalid username/password; logon denied。
2.思路:
<1>系统账户登录-----建立scott账户----关联员工表;
<2>系统账户登录-----找到员工表-----修改账户名;
3方法:<此处散薯余采用第2种方法,简单一点,搞定的小伙伴可以自行探手禅索第一种方式>
1.用系统账冲滚户登录:
system/密码<即安装时的口令>
3.修改表账户名为scott:alter user scott identified by tiger
❸ plsql连接后没有用户
1、首先,我们以管理员账户重橡铅迅新登录。
2、其次,参考我的目录找到oracle安装目录下的scott.sql文件,我的oracle安装目录C:oraclexeapporacleproct11.2.0server
dbmsadminscott.sql如果找不到激雀scott.sql文梁此件的话我们可以自己创建一个scott.sql文件保存到C:oraclexeapporacleproct11.2.0server
dbmsadmin下我们自己新建一个文本文档复制下面代码到文本文档中,然后保存为scott.sql。
3、最后,目录前面加@运行。这样Scott账户就被添加进来了,但是我们这时候去连接Scott账户还是连接不上去,是因为我们还没有为Scott账户解锁,下来为scott账户解锁。注意要以管理员身份去为Scott账户解锁不然会权限不足。
❹ Oracle 12c 没有scott/tiger这个账户,用这个命令start /rdbms/admin/scott.sql恢复scott用户
你要把这个用户建在PDB数据库上,你需要建连接到PDB数据库衡圆上的连接串(可以用netca工具建),然后用dba权限用户登录,再改一下$ORACLE_HOME/rdbms/admin/utlsampl.sql将其中一行
connect scott/tiger
改为
connect scott/tiger@PDB数据库连接串
全过程如下:
sqlplus system/oracle@PDB数据库连接串
@$ORACLE_HOME/rdbms/admin/utlsampl.sql
因为12c里有了cdb和pdb数据库这答埋种新特性咐举塌,因此你要明白你当前连接的是哪个库
show con_name
如果每次需要连接scott用户,还得用pdb连接串
sqlplus scott/tiger@@PDB数据库连接串
或者先连接到cdb上,再转到pdb上
sqlplus "/as sysdba"
show pdbs
alter session set container=你想连接的pdb;
select * from scott.emp;
❺ Oracle导入scott.sql失败
oracle怎么连接scottoracle11g下scott用户无法连接数据库的解决法:1.开始——运行——cmd输入:sqlplus/assysdba连接到数据库SQL>connscott/tiger如果scott不存在,会报ORA-01017的错误,并会断开连接2.再以SYS用户重新连接SQL>connsys/密码assysdba然后在我们按照oracle的目录F:\oracle\proct\10.2.0\db_1\RDBMS\ADMIN中(以我的这个目录为例)找到scott.sql的这个文件运行SQL>@F:\oracle\proct\10.2.0\db_1\RDBMS\ADMIN\scott.sql这样scott用户就被添加进来,默认密码是tigerSQL>connscott/tiger连接成功SQL>SHOWUSER;USER为“SCOTT”3.如果想修改scott的默认密码可以执行下面命令(先以sys权限登录:sqlplus/assysdba)修改scott的登录密码SQL>迟友帆alteruserscottidentifiedbygg;你再拿scott/gg来登录就可以了4.如果scott.sql文件不存在的话,我们可以自己手动建一个。新建文本文档将以下内容复制到文件中,告丛然后保存为scott.sql,放到2中的文件夹中,再按照2中的步骤码雹操作即可。
❻ Oracle中SQL*PLUS使用的一些技巧
Sql*plus中蕴藏着好多技巧 如果掌握这些技巧 对于在oracle数据库下进行快速开发与有效维护数据库都是有益的 .使用SQL*PLUS动态生成批量脚本将spool与select命令结合起来使用 可以生成一个脚本 脚本中包含有可以批量执行某一任务的语句 例 生成一个脚本 删除SCOTT用户下的所有的表 a 创建gen_drop_table sql文件 包含如下语句 SPOOLc:drop_table sqlSELECT DROP TABLE || table_name || ; FROM user_tables;SPOOL OFFb 以SCOTT用户登录数据库SQLPLUS > @ … gen_dorp_table sqlc 在c盘根目录下会生成文件drop_table sql文件 包含删除所有表的语句 如下所示:SQL>SELECT DROP TABLE || table_name || ; FROM user_tables; DROPTABLE ||TABLE_NAME|| ; DROP TABLE DEPT;DROP TABLE EMP;DROP TABLE PARENT;DROP TABLE STAT_VENDER_TEMP;DROP TABLE TABLE_FORUM; rows selected 中返厅SQL>SPOOL OFFd 对生成的drop_table sql文件进行编辑去掉不必要的部分 只留下drop table … 语句e 在scott用户下运行dorp_table sql文件 删除scott用户下所有的表 SQLPLUS > @ c:dorp_table sql在上面的操作中 在生成的脚本文件中会有多余的字符 如运行的sql语句 标题 或返回的行数 需要我们编世闭辑该脚本后再运行 给实际的操作带来诸多不便 懒惰是人的本性 这促使我们用更简单的办法来实卖隐现上面的任务 a 创建gen_drop_table sql文件 包含如下语句 set echo offset feedback offset newpage noneset pagesize set linesize set verify offset pagesize set term offset trims onset linesize set headingoffset timing offset verify offset numwidth SPOOLc:drop_table sqlSELECT DROP TABLE || table_name || ; FROM user_tables;SPOOL OFFb 以SCOTT用户登录数据库SQLPLUS > @ … gen_dorp_table sqlc 在c盘根目录下会生成文件drop_table sql文件 包含删除所有表的语句 如下所示:DROP TABLE DEPT;DROP TABLE EMP;DROP TABLE PARENT;DROP TABLE STAT_VENDER_TEMP;DROP TABLE TABLE_FORUM;d 在scott用户下运行dorp_table sql文件 删除scott用户下所有的表 SQLPLUS > @ c:dorp_table sql .将一个表中的数据导出生成一个文本文件 列与列之间以 隔开set echo offset feedback offset newpage noneset pagesize set linesize set verify offset pagesize set term offset trims onset linesize set headingoffset timing offset verify offset numwidth SPOOLc:drop_table sqlselect DEPTNO || || DNAME FROM DEPT;SPOOL OFF将上面的内容保存为一个文本文件后 以scott登录 执行该文件后显示结果 ACCOUNTING RESEARCH SALES OPERATIONS通过上面的两个例子 我们可以将 set echo offset feedback offset newpage noneset pagesize set linesize set verify offset pagesize set term offset trims onset linesize set headingoffset timing offset verify offset numwidth SPOOLc:具体的文件名你要运行的sql语句SPOOL OFF作为一个模版 只要将必要的语句假如这个模版就可以了 在oracle的较新版本中 还可以用set colsep命令来实现上面的功能 SQL> set colsep SQL> select * from dept; ACCOUNTING NEW YORK RESEARCH DALLAS SALES CHICAGO OPERATIONS BOSTON aa bb .动态生成spool命令所需的文件名在我们上面的例子中 spool命令所需要的文件名都是固定的 有时我们需要每天spool一次 并且每次spool的文件名都不相同 如文件名包含当天的日期 该如何实现呢?column dat new_value filename;select to_char(sysdate yyyymmddhh mi ) dat from al;spool c:&&filename txtselect * from dept;spool off; .如何从脚本文件中得到WINDOWS环境变量的值 在windos中 spool c: emp\%ORACLE_SID% txtselect * from dept; spool off在上面的例子中 通过%ORACLE_SID%的方式引用环境变量ORACLE_SID的值 如果ORACLE_SID的值为orcl 则生成的spool文件名为 orcl txt在UNIX中 spool c: emp$ORACLE_SID txtselect * from dept; spool off在上面的例子中 通过$ORACLE_SID的方式引用环境变量ORACLE_SID的值 如果ORACLE_SID的值为orcl 则生成的spool文件名为 orcl txt .如何指定缺省的编辑脚本的目录在sql*plus中 可以用save命令 将上一条执行的sql语句保存到一个文件中 但是如何设置该文件的缺省目录呢?通过SQL> set editfile c: empfile sql 命令 可以设置其缺省目录为c: mpe 缺省文件名为file sql .如何除去表中相同的行找到相同的行 SELECT * FROM dept aWHERE ROWID <> (SELECT MAX(ROWID)FROM dept bWHERE a deptno = b deptnoAND a dname = b dname Make sure all columns are paredAND a loc = b loc);注释 如果只找deptno列相同的行 上面的查询可以改为 SELECT * FROM dept aWHERE ROWID <> (SELECT MAX(ROWID)FROM dept bWHERE a deptno = b deptno)删除相同的行 DELETE FROM dept aWHERE ROWID <> (SELECT MAX(ROWIDFROM dept bWHERE a deptno = b deptnoAND a dname = b dname Make sure all columns are paredAND a loc = b loc);注意 上面并不删除列值为null的行 .如何向数据库中插入两个单引号( )Insert inot dept values( aa bb a b );在插入时 用两个 表示一个 .如何设置sql*plus的搜寻路径 这样在用@命令时 就不用输入文件的全路径 设置SQLPATH环境变量 如 SQLPATH = C:ORANTDBS;C:APPSSCRIPTS;C:MYSCRIPTS .@与@@的区别是什么?@等于start命令 用来运行一个sql脚本文件 @命令调用当前目录下的 或指定全路径 或可以通过SQLPATH环境变量搜寻到的脚本文件 @@用在脚本文件中 用来指定用@@执行的文件与@@所在的文件在同一目录 而不用指定全路径 也不从SQLPATH环境变量指定的路径中寻找文件 该命令一般用在嵌套脚本文件中 .&与&&的区别&用来创建一个临时变量 每当遇到这个临时变量时 都会提示你输入一个值 &&用来创建一个持久变量 就像用用define命令或带new_vlaue字句的column命令创建的持久变量一样 当用&&命令引用这个变量时 不会每次遇到该变量就提示用户键入值 而只是在第一次遇到时提示一次 如 将下面三行语句存为一个脚本文件 运行该脚本文件 会提示三次 让输入deptnoval的值 select count(*) from emp where deptno = &deptnoval;select count(*) from emp where deptno = &deptnoval;select count(*) from emp where deptno = &deptnoval;将下面三行语句存为一个脚本文件 运行该脚本文件 则只会提示一次 让输入deptnoval的值 select count(*) from emp where deptno = &deptnoval;select count(*) from emp where deptno = &deptnoval;select count(*) from emp where deptno = &deptnoval; .引入的目的Copy命令在两个数据库之间拷贝数据时特别有用 特别是该命令可以在两个数据库之间传递long型字段的数据 缺点 在两个数据库之间传递数据时 有可能丢失精度(lose precision) .问什么在修改大量的行时 我的脚本会变得很慢?当通过PL/SQL块修改一个表中的许多行时 你会创建在表上创建一个cursor 但是只有在你关闭cursor时 才会释放ROLLBACK SEGMENT 这样 当cursor仍然打开时 修改过程会变慢 这是因为数据库不得不搜寻大量的rollback segment以便于维护读一致性 为了避免这样情况 试着在表上加一个标志字段来描述该行是否已经被修改 然后关闭该cursor 然后再打开该cursor 每次可以修改 行 lishixin/Article/program/Oracle/201311/17262
❼ Oracle用户无法打开SQL文件!提示:SP2-0310: 无法打开文件 "skeleton.sql"
@skeleton表示当前目录的skeleton.sql文件。
你必须将skeleton.sql拷贝到你当前执行sqlplus的目录,查看你当前处于培誉哪个目录:
SQL>
!
pwd
/home/oracle
SQL>
如果你的唤森文件不是在当前目录,而你又不想拷贝文和中亩件到当前目录来,那得在执行时指定路径即可(下面假设你文件所在路径为e:\oracle\):
SQL>
@e:\oracle\skeleton.sql
提示"用scott登录,提示如下:ERROR:ORA-28000:the
account
is
locked!
"是表示该用户由于登陆失败次数超出系统最大失败验证次数限制了,只需要解锁就可以了:
SQL>
conn
/as
sysdba
已连接。
SQL>
alter
user
scott
account
unlock;
❽ oracle 11g 有没有脚本scott.sql
scott.sql不是有没扮察正有的问题,没困是要看你装数据库的时候有没有选择模板表厅悔空间(example)来决定的。如果该表空间没有的话,这个脚本也不会有的。
❾ oracle怎样导入数据库
方法一:利用PL/SQL Developer工具导出:
菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可:
方法二:利用cmd的操作命令导出,详情如下:
1:G:\Oracle\proct\10.1.0\Client_1\NETWORK\ADMIN目录下有个tnsname.ora文件,内容如下:
复制代码 代码如下:
CMSTAR =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.13.200)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cmstar)
)
)
其中:CMSTAR为数据库名,HOST为IP地址,所以可以仿效上面的例子手动添加数据录连接。
2:用cmd进入命令行
输入:tnsping cmstar
就是测试172.18.13.200是否连接成功
3:导入与导出,如下:
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\chu.dmp中
exp system/manager@TEST file=d:\chu.dmp full=y
2将数据库中system用户与sys用户的表导出
expsystem/manager@TESTfile=d:\chu.dmpowner=(system,sys)
3将数据库中的表table1、table2导出
expsystem/manager@TESTfile=d:\chu.dmptables=(table1,table2)
4将数据库中的表table1中的字段filed1以"00"打头的数据导出
expsystem/manager@TESTfile=d:\chu.dmptables=(table1)query=\"wherefiled1like'00%'\"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面加上compress=y就可以了
数据的导入
1将D:\chu.dmp中的数据导入TEST数据库中。
impsystem/manager@TESTfile=d:\chu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上ignore=y就可以了。
2将d:\chu.dmp中的表table1导入
impsystem/manager@TESTfile=d:\chu.dmptables=(table1)
注意事项:导出dmp数据时需要有导出表的权限的用户,否则不能导出。
PL/SQL Developer是Oracle数据库中用于导入或导出数据库的主要工具,本文主要介绍了利用PL/SQL Developer导入和导出数据库的过程,并对导入或导出时的一些注意事项进行了说明,接下来我们就一一介绍。
导出步骤:
1 tools ->export user object 选择选项,导出.sql文件。
2 tools ->export tables-> Oracle Export 选择选项导出.dmp文件。
导入步骤:
注:导入之前最好把以前的表删除,当然导入另外数据库除外。
1 tools->import tables->SQL Inserts 导入.sql文件。
2 tools->import talbes->Oracle Import然后再导入dmp文件。
一些说明:
Tools->Export User Objects导出的是建表语句(包括存储结构)。
Tools->Export Tables里面包含三种导出方式,三种方式都能导出表结构以及数据,如下:
Oracle Export
Sql Insert
pl/sql developer
第一种是导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最广 。
第二种是导出为.sql文件的,可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob,long),如果有,会提示不能导出(提示如下: table contains one or more LONG columns cannot export in sql format,user Pl/sql developer format instead)。
第三种是导出为.pde格式的,.pde为Pl/sql developer自有的文件格式,只能用Pl/sql developer自己导入导出,不能用编辑器查看。
❿ 我的oracle系统数据库重新建立了,找不到scott用户,去安装目录下找scoot.sql文件也找不到怎么办
新建个用户
scott是普通用户 又不是sys之要新建用户就行了当然 原来的表是没了