oracle新建数据库sql
㈠ oracle怎么创建动态sql(急)
好吧,我辛苦下,我来给你写拼接SQL函数
create table t_a (
c1 varchar2(200),
c2 varchar2(200),
ca varchar2(200),
cb varchar2(200),
cc varchar2(200)
);
create or replace function get_sql_of_tab( c_owner varchar, c_tab_name varchar) return varchar2 as
c_sql varchar2(4000) ;
cursor c1 is
select t.column_name from dba_tab_cols t
where table_name = upper(c_tab_name)
and owner = upper(c_owner)
order by t.column_id;
begin
for r1 in c1 loop
c_sql := c_sql ||' ' || r1.column_name ||',' ;
end loop ;
c_sql := 'SELECT '|| substr(c_sql,1,length(c_sql)-1) || ' FROM '||upper(c_tab_name) ;
return c_sql ;
end get_sql_of_tab ;
/
---------------------以下是PL/SQL命令窗口函数的效果-------------
SQL> select get_sql_of_tab('gxbx','t_a') from al ;
GET_SQL_OF_TAB('GXBX','T_A')
--------------------------------------------------------------------------------
SELECT C1, C2, CA, CB, CC FROM T_A
嘿嘿,动态生产SQL,好吧剩下的你应该明白咋做了。
函数的两个入参 用户名 表名,NND忘记说了
㈡ 如何手动创建oracle数据库
创建数据库前,要做的工作:
1.收集要设置的ORACLE_HOME路径 ORACLE_SID
2.创建数据库需要的目录
按照下面的步骤创建:(以AIX系统为例,Linux差不多,但有些文件的路径和文件名不一样)
1.编辑系统参数文件(AIX系统参数文件:.profile) :vi .profile文件 若是以前已添加过数据库的,则只需修改下ORACLE_SID=sg186fx(以我创建的数据库名为例);若是没有添加过关于数据的参数,则需要添加ORACLE_HOME,ORACLE_BASE等的路径。
我的“.profile”文件中设置的路径:
ORACLE_BASE=/oracle;export ORACLE_BASE
ORACLE_HOME=/oracle/proct/10.2.0/db_1; export ORACLE_HOME
#ORA_CRS_HOME=/oracle/proct/10.2.0/crs; export ORA_CRS_HOME
SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$SHLIB_PATH
export SHLIB_PATH
LIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$LIBPATH
export LIBPATH
PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH:/oradata/quest/splex/bin; export PATH
export ORACLE_SID=sg186fx(这是在创建多个数据库,启动不同数据实例时需要修改的地方)
2.修改完系统参数文件,可以退出登录,重新登录进来就可以生效了,或者使用“export ORACLE_SID=sg186fx”在当前会话中生效。
3.创建数据库需要的目录
创建目录脚本:
su – oracle
cd /oradata
rm –rf sg186fx
mkdir sg186fx
cd /oracle/admin
rm –rf sg186fx
mkdir sg186fx
cd sg186fx
mkdir amp bmp cmp dpmp ump pfile
这个脚本可以不断进行测试创建数据库目录的时候使用。
4.创建oracle的启动参数文件——pfile或spfile
db_cache_size=4026531840
java_pool_size=16777216
large_pool_size=16777216
shared_pool_size=855638016
streams_pool_size=0
audit_file_dest='/oracle/admin/sg186fx/amp'
background_mp_dest='/oracle/admin/sg186fx/bmp'
compatible='10.2.0.2.0'
control_files='/oradata/sg186fx/control01.ctl','/oradata/sg186fx/control02.ctl','/oradata/sg186fx/control03.ctl'
core_mp_dest='/oracle/admin/sg186fx/cmp'
db_block_size=8192
db_domain=''
db_file_multiblock_read_count=16
db_name='sg186fx'
dispatchers='(PROTOCOL=TCP) (SERVICE=sg186fxdb)'
job_queue_processes=10
open_cursors=300
pga_aggregate_target=1639972864
processes=250
remote_login_passwordfile='EXCLUSIVE'
sessions=280
sga_target=4920967168
undo_management='AUTO'
undo_tablespace='UNDOTBS1'
user_mp_dest='/oracle/admin/sg186fx/ump'
使用上面设置的参数文件创建pfile的文件名问initsg186fx.ora
5.创建密码文件
orapwd file=’orapwd$ORACLE_SID’ password=sys entries=20 force=y
file的参数需要指定路径的,他的创建位置应该在$ORACLE_HOME/dbs中,若是在当前目录下创建就不需要写上路径了。
password设置是数据库的sys用户的密码。
entries:DBA和操作员的最大用户数
force=y 等号中间不能有空格的,这是表示存在该文件则进行强制重写。
6.编写创建数据库脚本(非常重要的一步)
创建脚本请看脚本代码
查看创建数据库的必备的参数模板
在这个创建数据库脚本编写中可能会出现需要错误,将会在下篇重点分析,我在创建的过程中,出现过很多错误。
7.使用命令登录:
sqlplus /nolog
connect / as sysdba(注意:在这一步连接的时候,数据库要创建一些跟踪文件:alert文件等,若是在第三步创建目录的时候使用的不是oracle用户角色创建的用户,则在这一步登录的时候,由于权限不够会出现错误:ORA-09925:Unable to create audit trail file,此时需要去检查下手动创建的目录的权限对不对)
startup nomount pfile=’$ORACLE_HOME/dbs/initsg186fx.ora’ 这一步启动数据库只加载启动参数文件的状态,并没有装载控制文件和数据文件
@/createdatabase.sql 执行创建数据库脚本。
这一步很容易出错,出现最多的是:
2
alert日志显示的错误信息:
3
这个错误提示看不出有什么错误,因为他只是说脚本有错误,导致实例强制被终止。虽然报这个错误,但其他的文件将会正常的被创建,数据库还是不能运行的。所以要排除这个错误,重新创建数据库。必须去看alert日志来看哪个地方出现的错误。(我建议,在执行创建脚本的时候,重新打开一个窗口来监控alert日志,跟踪创建过程,很容易发现哪句话出现的错误。)
8.创建 user表空间和索引表空间
9 若创建没有出现错误,则可以执行rdbms里面的一些创建数据字典的脚本
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/rdbms/admin/catexp.sql
10.重启数据库。
到此,数据库的基本创建工作完成。
简单的数据库建成后,如果需要使用全文检索功能,则还需要执行几个脚本。
请查看:全文检索配置方法
若想了解各种oracle自带的脚本,根据需要执行哪些脚本,请查看:oralce自带脚本说明
㈢ oracle sql developer怎么创建自己的本地的数据库
1安装Oracle
11g会自带一个叫做SQL
Developer的工具,打开SQL
Developer
2在SQL
Developer中我们新建一个连接,点击左上角的“绿色加号”
3填写完配置以后可以点击“Test”来测试数据库连接是否正确,左下角有“Status:Success”则表明数据库连接正确。
㈣ oracle创建数据库有几种方式
一、oracle 下创建数据库一般有三种方法:
1.手工创建
2.利用DBCA创建
3.利用OUI创建
二.在创建之前,先介绍一下oracle数据库管理文件的方式。oracle数据库创建其实就
是创建数据库的逻辑结构和物理结构,逻辑结构可以通过初始化参数文件控制,而物理结构就通过OFA控制;也就是用OFA来控制在操作系统级别的文件组织,例如在windows系统下,安装数据库的时候会在数据库安装目录下生成这样的结构
D:\ORACLE
\ADMIN
\ORA92
ORADATA
这样的目录组织就是OFA
ADMIN目录:存放所有数据库管理文件,例如参数文件PFILE等
\ORA92目录:oracle的主目录,也就是其home目录
\ORADATE:保存数据文件的目录
在介绍下OMF(ORACLE MANAGE FILE)-Oracle管理文件
OMF管理的文件主要包括:
数据文件,临时文件,联机重做日志文件,控制文件
不能管理的文件:
跟踪文件,审计文件,报警文件
三.在对OMF参数介绍之前,我们在介绍两个文件PFILE和SPFILE
pfile是文本文件,可以直接编辑如vi和记事本程序等,是9i版本以前的数据库用的,而spfile是9i及以后版本用的,是二进制文件,不可直接编辑,只能通过其他办法编辑;第一种是利用PFILE,我们可以先编辑pfile然后在利用其生成spfile,使用的语句如:SQL> CREATE SPFILE FROM PFILE;
或者利用命令直接操作spfile
如:SQL> ALTER SYSTEM SET PARAMETER = 'VALUES';
下面是一些操作
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL> connect system/system@ahero as sysdba
已连接。
SQL> create pfile='c:\d.ora' from spfile;
文件已创建。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup pfile=c:\d.ora
ORACLE 例程已经启动。
Total System Global Area 126950220 bytes
Fixed Size 453452 bytes
Variable Size 109051904 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
下面介绍下手工利用参数文件修改控制文件
在进行第一步之前修改C.ora文件。在里面加上'F:\oracle\oradata\ahero\CONTROL04.CTL' 在控制文件选项里
第一步
SQL> connect system/system@ahero as sysdba
已连接。
SQL> create spfile='c:\u.ora' from pfile='c:\c.ora';
文件已创建。
第二步
把u.ora文件到,F:\oracle\ora92\database目录下(这个根据你安装的路径确定),并且改名为spfileahero.ora
第三步
在F:\oracle\oradata\ahero目录下,找到相应的控制文件,默认是三个,复制其中任意一个并且改名CONTROL04.CTL
重起服务
㈤ oracle数据库创建一个PL/SQL函数
摘要 Copyright © 1999-2020, CSDN.NET, All Rights Reserved
㈥ Oracle新建数据库
Oracle新建数据库可以参考以下操作方法:
1、首先点击桌面左下角的开始图标;
㈦ oracle怎么用命令(sql语句)创建数据库
我也不知道怎么用SQL创建数据库,SQL能创建数据库里的表,用户等!装ORACLE后 在开始——程序——你的ORACLE目录——配置和移植工具——Database Configuration Assistant 这个可以创建数据库
㈧ oracle数据库使用SQL脚本创建数据库
1、第1、2个提示是由于序列和表不存在可以忽略
2、第3、4个提示
需要TourDB的建表语句
㈨ oracle怎么创建数据库实例
数据库实例创建步骤:
1.通过运行Oracle Database Configuration Assistant 创建、配置、或删除数据库; 2.用命令行的方式建立数据库
3.通过运行自定义的批处理脚本(或create_ORACLE_SID.bat(create_ORACLE_SID.sql))来创建 1.通过运行Oracle Database Configuration Assistant 创建、配置、或删除数据库; (C:oracleora81binlaunch.exe c:oracleora81assistantsdbca DBAssist.cl)
建议不熟悉创建过程的DBA使用该方法,只需要根据选项“下一步”进行配置,最后生成数据库的创建脚本(建议保留),或者直接创建数据库; 优点:GUI方法使用方便; 缺点:不过创建过程有些慢; 2.用命令行的方式建立数据库 CONNECT / AS SYSDBA
STARTUP PFILE= 'C:oracleadmininit_testorcl.ora' NOMOUNT;
CREATE DATABASE testOrcl DATAFILE '/u02/oracle/testOrcl/system01.dbf' SIZE 100M LOGFILE GROUP1 ('/u01/oracle/testOrcl/redo1a.log', '/u02/oracle/testOrcl/redo1b.log') SIZE 500K, GROUP2 ('/u01/oracle/testOrcl/redo1a.log', '/u02/oracle/testOrcl/redo1b.log') SIZE 500K CHARACTER SET ZHS16CGB231280; --将数据库直接从未建置状态转换到打开状态 ALTER DATABASE OPEN;
--删除数据库(Dropping a Database) SPOOL C:DROP_DATABASE.BAT
SELECT 'DEL '||NAME 删除数据库相关数据文件 FROM V$DATAFILE; SELECT 'DEL '||MEMBER 删除数据重构日志文件 FROM V$LOGFILE; SPOOL OFF;
优点:可以熟悉创建指令,创建原理; 缺点:配置简单,要求熟记命令行指令;
3.通过运行自定义的批处理脚本(或create_ORACLE_SID.bat(create_ORACLE_SID.sql))来创建 --create_ORACLE_SID.bat set ORACLE_SID= ORACLE_SID.
del C:ORACLE8IdatabasepwdORACLE_SID.ora
C:ORACLE8Ibinoradim -new -sid ORACLE_SID. -intpwd oracle -startmode manual -pfile C:ORACLE8IadminORACLE_SIDpfileinit.ora
C:ORACLE8Ibinsvrmgrl @C:_SIDrun.sql C:ORACLE8Ibinsvrmgrl @C:_SIDrun1.sql C:ORACLE8Ibinoradim -edit -sid ORACLE_SID -startmode auto --ORACLE_SIDrun.sql
spool C:ORACLE8IadminORACLE_SIDcreatecreatedb set echo on
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
void function(e,t){for(var n=t.getElementsByTagName("img"),a=+new Date,i=[],o=function(){this.removeEventListener&&this.removeEventListener("load",o,!1),i.push({img:this,time:+new Date})},s=0;s< n.length;s++)!function(){var e=n[s];e.addEventListener?!e.complete&&e.addEventListener("load",o,!1):e.attachEvent&&e.attachEvent("onreadystatechange",function(){"complete"==e.readyState&&o.call(e,o)})}();alog("speed.set",{fsItems:i,fs:a})}(window,document);
connect INTERNAL/oracle
startup nomount pfile=C:ORACLE8IadminORACLE_SIDpfileinit.ora CREATE DATABASE ORACLE_SID
LOGFILE 'C:ORACLE8IoradataORACLE_SIDredo01.log' SIZE 1024K, 'C:ORACLE8IoradataORACLE_SIDredo02.log' SIZE 1024K MAXLOGFILES 32 MAXLOGMEMBERS 2 MAXLOGHISTORY 1
DATAFILE 'C:ORACLE8IoradataORACLE_SIDsystem01.dbf' SIZE 50M REUSE MAXDATAFILES 254 MAXINSTANCES 1
CHARACTER SET ZHT16BIG5
NATIONAL CHARACTER SET ZHT16BIG5; spool off
--ORACLE_SIDrun1.sql
spool C:ORACLE8IadminORACLE_SIDcreatecreatedb1 set echo on
connect INTERNAL/oracle
ALTER DATABASE DATAFILE 'C:ORACLE8IoradataORACLE_SIDsystem01.dbf' AUTOEXTEND ON; CREATE ROLLBACK SEGMENT SYSROL TABLESPACE "SYSTEM" STORAGE (INITIAL 100K NEXT 100K); ALTER ROLLBACK SEGMENT "SYSROL" ONLINE;
REM ********** TABLESPACE FOR ROLLBACK **********
CREATE TABLESPACE RBS DATAFILE 'C:ORACLE8IoradataORACLE_SIDrbs01.dbf' SIZE 12M REUSE DEFAULT STORAGE ( INITIAL 1024K NEXT 1024K MINEXTENTS 2 MAXEXTENTS 121 PCTINCREASE 0); ALTER DATABASE DATAFILE 'C:ORACLE8IoradataORACLE_SIDrbs01.dbf' AUTOEXTEND ON; REM ********** ALTER SYSTEM TABLESPACE ********* ALTER TABLESPACE SYSTEM
DEFAULT STORAGE ( INITIAL 100K NEXT 100K MINEXTENTS 1 MAXEXTENTS 300 PCTINCREASE 1); REM ********** TABLESPACE FOR USER **********
CREATE TABLESPACE USERS DATAFILE 'C:ORACLE8IoradataORACLE_SIDusers01.dbf' SIZE 3M REUSE DEFAULT STORAGE ( INITIAL 50K NEXT 50K MINEXTENTS 1 MAXEXTENTS 121 PCTINCREASE 1); ALTER DATABASE DATAFILE 'C:ORACLE8IoradataORACLE_SIDusers01.dbf' AUTOEXTEND ON; REM ********** TABLESPACE FOR TEMPORARY **********
CREATE TABLESPACE TEMP DATAFILE 'C:ORACLE8IoradataORACLE_SIDtemp01.dbf' SIZE 50M REUSE DEFAULT STORAGE ( INITIAL 100K NEXT 100K MINEXTENTS 1 MAXEXTENTS 121 PCTINCREASE 0) TEMPORARY;
ALTER DATABASE DATAFILE 'C:ORACLE8IoradataORACLE_SIDtemp01.dbf' AUTOEXTEND ON; REM ********** TABLESPACE FOR INDEX **********
CREATE TABLESPACE INDX DATAFILE 'C:ORACLE8IoradataORACLE_SIDindx01.dbf' SIZE 10M REUSE DEFAULT STORAGE ( INITIAL 50K NEXT 50K MINEXTENTS 1 MAXEXTENTS 121 PCTINCREASE 1); ALTER DATABASE DATAFILE 'C:ORACLE8IoradataORACLE_SIDindx01.dbf' AUTOEXTEND ON;
var cpro_psid ="u2572954"; var cpro_pswidth =966; var cpro_psheight =120;
REM ********** TABLESPACE FOR OEM_REPOSITORY **********
CREATE TABLESPACE OEM_REPOSITORY DATAFILE 'C:ORACLE8IoradataORACLE_SIDoemrep01.dbf' SIZE 5M REUSE
AUTOEXTEND ON NEXT 25M MAXSIZE 80M MINIMUM EXTENT 128K
DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0);
CREATE PUBLIC ROLLBACK SEGMENT RB0 TABLESPACE RBS STORAGE (INITIAL 100K NEXT 250K);
CREATE PUBLIC ROLLBACK SEGMENT RB1 TABLESPACE RBS STORAGE (INITIAL 100K NEXT 250K); ALTER ROLLBACK SEGMENT "RB0" ONLINE; ALTER ROLLBACK SEGMENT "RB1" ONLINE; alter user sys temporary tablespace TEMP; @C:ORACLE8IRdbmsadmincatalog.sql; @C:ORACLE8IRdbmsadmincatexp7.sql @C:ORACLE8IRdbmsadmincatproc.sql @C:ORACLE8IRdbmsadmincaths.sql connect system/manager @C:ORACLE8Idbspupbld.sql connect INTERNAL/oracle
@C:ORACLE8IRdbmsadminscott.sql connect INTERNAL/oracle
@C:ORACLE8IRdbmsadmindemo.sql connect INTERNAL/oracle
alter rollback segment "SYSROL" offline; spool off