oracle 基础知识

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 基础知识相关的知识,希望对你有一定的参考价值。

1、  AIX环境下查看oracle配置信息(service_name、SID、tnsname)。

SID:

echo $ORACLE_SID

技术分享


service_name:

sqlplus / as sysdba;
show parameter instance_name;

 技术分享

show parameter service_names;

 技术分享

show parameter service;

 技术分享

select instance_name from v$instance;

技术分享

tnsname:

netca 查看;

tnsnames.ora查看:打开network/admin下的tnsnames.ora文件:

find . –name “tnsnames.ora” ;

cat tnsnames.ora

 

2、  在无TNS配置时,登录到数据库。

sqlplus user/[email protected]:port/servicename

sqlplus user/[email protected]

sqlplus user/pwd---aix

sqlplus /nolog>connect user/pwd

sqlplus / as sysdba

格式一:jdbc:oracle:thin:@//<host>:<port>/<service_name>
格式二:jdbc:oracle:thin:@<host>:<port>:<SID>
格式三:jdbc:oracle:thin:@< tnsname >

3、  快速复制一张表,并在此创建索引。

复制表结构及其数据

create table table_name_new as select * from table_name_old

只复制表结构

create table table_name_new as select * from table_name_old where 1=2

只复制表数据

insert into table_name_new select * from table_name_old

表结构不一样

insert into table_name_new(column1,column2...) select column1,column2... from table_name_old

复制表结构及其数据不写日志

create table table_name_new nologging as select * from table_name_old

设置并行度

create table testa2 (t1 int) parallel;

commit;

插入数据不写日志

alter   table   table_name   NOLOGGING;

再修改写日志

alter   table   table_name   LOGGING;

 

并行度:

查看dba_tables数据字典时,可以发现有“DEGREE”字段,这个字段表示的就是数据表的并行度。这个参数的设置,关系着数据库的I/O,以及sql的执行效率。当设置表的并行度非常高的时候,sql优化器将可能对表进行全表扫描,引起 Direct Path Read 等待 。

在使用并行查询前需要慎重考虑, 因为并行查询尽管能提高程序的响应时间, 但是会

消耗比较多的资源。

alter table t parallel(degree 1);------直接指定表的并行度

alter table t parallel;    ----------设置表的并行度为default

创建索引:

create [unique] index index_name on table_name(column_name[,column_name…])

 

4、  Oracle11g 数据库的导入导出。

导出:

全部:

exp imagesys/[email protected] file=/icms/20170116.dmp full=y

用户:

exp imagesys/imagesys @orcl file=/icms/20170116.dmp owner=imagesys

exp system file=/icms/lims2017116.dmp log=/icms/icms.log owner=imagesys

表:

exp imagesys/[email protected] file=/icms/lims2017116.dmp tables=(table1,table2)

 

导出空表sql语句

select ‘alter table ‘||table_name||‘ allocate extent;‘ from user_tables where segment_created=‘NO‘


    导入:
     全部:

imp imagesys/[email protected] buffer=64000 file=/icms/lims2017116.dmp FULL=Y

用户:
imp imagesys/[email protected] file=/icms/lims2017116.dmp fromuser=imagesys touser=imagesys

 

5、  命令行将表查询结果输出到txt里

spool E:\\log.txt;

select id,name from users;

spool off;

6、  AIX 、WIN写脚本形式连接数据库并将查询结果输出到文本文件。

 

 

Bat:

sqlplus arch/[email protected] @E:\\runsql\\log.sql>log1.txt

sh:

sqlplus imagesys/imagesys @log.sql>log1.txt








以上是关于oracle 基础知识的主要内容,如果未能解决你的问题,请参考以下文章

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

android小知识点代码片段

[vscode]--HTML代码片段(基础版,reactvuejquery)

续:纠正:ubuntu7.04可以安装,而且完美的安装 ! for《Oracle-10.2.0.1,打补丁10.2.0.5:在 debian 版本4不含4以上,及 ubuntu 7.04不含(代码片段

Oracle-常用数据库对象笔记(片段)