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