คำถามติดแท็ก sqlplus

Command-Line Utility Program สำหรับ Oracle

4
วิธีใช้ sqlplus เพื่อเชื่อมต่อกับฐานข้อมูล Oracle ที่อยู่บนโฮสต์อื่นโดยไม่ต้องแก้ไข tnsnames.ora ของฉันเอง
ฉันต้องการเชื่อมต่อกับฐานข้อมูล oracle ที่อยู่บนโฮสต์อื่นโดยใช้ sqlplus หน้านี้แนะนำให้เพิ่มรายการในชื่อ tns ของฉันเพื่อเชื่อมกับฐานข้อมูลนั้น local_SID = (DESCRIPTION = (ADDRESS = (PROTOCOL= TCP)(Host= hostname.network)(Port= 1521)) (CONNECT_DATA = (SID = remote_SID)) ) แล้วใช้มันใน sqlplus sqlplus user/pass@local_SID อย่างไรก็ตามในสถานการณ์ของฉันการปรับเปลี่ยนชื่อ tns ท้องถิ่นไม่สามารถทำได้ มันเป็นไปได้ที่จะเชื่อมต่อกับฐานข้อมูลระยะไกลเพียงแค่ใช้อาร์กิวเมนต์ sqlplus โดยไม่ต้องเปลี่ยน tnsnames? สิ่งที่ต้องการ sqlplus user/pass@remote_SID@hostname.network ;( I know, this one is not valid)
80 oracle  sqlplus 

3
วิธีการสร้างผลลัพธ์ sqlplus ปรากฏในหนึ่งบรรทัด?
ฉันมีตารางที่มี 100 คอลัมน์ เมื่อเลือกข้อมูลในSQL Pluswraps ผลลัพธ์ทำให้อ่านได้ยาก สิ่งที่ฉันต้องการคือแถบเลื่อนแนวนอนที่จะปรากฏหรือส่งผลลัพธ์ไป less ฉันเรียกใช้คำสั่งต่อไปนี้ใน SQLPlus - SET LINESIZE 32000; SET PAGESIZE 40000; SET LONG 50000; SPOOL output.txt SELECT * FROM big_table; จากนั้นในbashฉันวิ่ง - output.txt น้อยลง เอาต์พุตยังคงถูกห่อและไม่สามารถอ่านได้
46 oracle  sqlplus 

9
เชื่อมต่อกับ sql plus จากบรรทัดคำสั่งโดยใช้สตริงการเชื่อมต่อ
สมมติว่าฉันมีฐานข้อมูล Oracle ฉันมีชื่อผู้ใช้ = x, รหัสผ่าน = y, ฐานข้อมูล = z นอกจากนี้ฉันรู้พอร์ต = a, SID = b, ชื่อโฮสต์ = c ดังนั้นฉันจะต้องเชื่อมต่ออย่างถูกต้องได้อย่างไร ฉันใช้ตัวเลือกมากมายเช่น: sqlplus x/y@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=z)(SERVER=DEDICATED)))' sqlplus (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=b))) การส่งบรรทัดคำสั่งเหล่านี้มักจะให้ฉันกลับข้อผิดพลาดเช่น: ORA-12560: TNS: ข้อผิดพลาดของอะแดปเตอร์โปรโตคอล ORA-12514: TNS: ผู้ฟังไม่รู้จักบริการในปัจจุบัน ขอบคุณมากล่วงหน้า !!
41 oracle  sqlplus  string 

14
อินเตอร์เฟซ sqlplus ที่สะดวกสบาย?
ฉันพบว่าsqlplusอินเทอร์เฟซค่อนข้างล้าสมัย มันค่อนข้างดีที่จะมีคำสั่งหรือคำหลักบางคำในการกำจัด แต่ตัวอย่างเช่นไม่มีปุ่ม "ลูกศรขึ้น" สำหรับรายการประวัติก่อนหน้านี้ การเปลี่ยน / ขยายที่ดีมีไว้เพื่อsqlplusอะไร อาจเป็น GUI หรือดีกว่า (เพื่อให้มีประโยชน์ผ่าน SSH) อรรถประโยชน์บรรทัดคำสั่ง SQL * Plusเป็นเครื่องมือบรรทัดคำสั่งหลักในการทำงานกับฐานข้อมูล Oracle
21 oracle  tools  sqlplus 

3
วิธีแยกความแตกต่างระหว่าง SQL และ PL / SQL
ฉันรู้ว่าคำถามอาจฟังดูโง่เกินไป แต่ฉันไม่เคยเข้าใจส่วนนี้ SQL * Plus ทำงานได้กับทั้ง SQL และ PL / SQL ฉันจะรู้ได้อย่างไรว่าบางรหัสเป็น SQL หรือ PL / SQL หากรหัสของฉันมี for for loop จะไม่ใช้ SQL อีกต่อไปหรือไม่ PL / SQL เป็นส่วนเสริมสำหรับ SQL ที่จะมีลูปเงื่อนไข ฯลฯ จากนั้นรหัส SQL ใด ๆ คือรหัส PL / SQL เริ่มต้น? ไม่เป็นอย่างนั้นเหรอ? มีการแบ่งเขตระหว่าง SQL และ PL / SQL หรือไม่ ตัวอย่างที่สองของการแบ่งแยก b …

4
เครื่องหมายอัฒภาคในตอนท้ายของคำสั่ง SQL * Plus มีความสำคัญอย่างไร
คำสั่งบางอย่างเช่นสร้างตาราง, แทรกลงใน ฯลฯ ใช้เซมิโคลอนที่ท้าย: CREATE TABLE employees_demo ( employee_id NUMBER(6) , first_name VARCHAR2(20) , last_name VARCHAR2(25) CONSTRAINT emp_last_name_nn_demo NOT NULL ) ; ในขณะที่คนอื่นชอบ set echo on connect system/manager ผ่านไปโดยไม่มีเครื่องหมายอัฒภาคเช่นกัน อะไรคือเหตุผลเบื้องหลังสิ่งนี้ ฉันจะตัดสินใจเองได้อย่างไรว่าจะวางเซมิโคลอนไว้ที่ใด?

4
เรียกใช้งานสคริปต์ด้วย SQLPlus ที่มีช่องว่างเซมิโคลอนและเครื่องหมายสแลช
ในบางครั้งฉันจะได้รับสคริปต์ที่จะทำงานได้ดีใน SQL Developer หรือ Toad แต่ต้องการการปรับเปลี่ยนเพื่อให้สามารถเรียกใช้จาก SQL * Plus ได้สำเร็จ นี่เป็นตัวอย่างกรณีที่เลวร้ายที่สุดที่มีหลายประโยคคำสั่งที่มีบรรทัดว่างเซมิโคลอนและเครื่องหมายสแลช: INSERT INTO t1 VALUES ('a ; / '); INSERT INTO t1 VALUES ('b ; / '); DELETE FROM t1 WHERE c1 = 'c ; / '; ด้วยเหตุผลต่างๆคำสั่งเหล่านี้จำเป็นต้องเรียกใช้จาก SQL * Plus บรรทัดว่างจะแก้ไขได้ง่ายด้วย ... set sqlblanklines on ฉันทราบว่าsqlterminatorสามารถเปลี่ยนแปลงและ / หรือปิดการใช้งาน แต่ทั้งคู่จะต้องมีการปรับเปลี่ยนรหัสก่อนหน้านี้จะย้ายปัญหาโดยไม่ต้องแก้ไขและไม่สามารถแก้ไขปัญหาที่ฝังอยู่ในสแลชได้ …

1
ทำไม SQL * PLUS ถึงต้องการสแลชหลังจากสร้าง CREATE TYPE
ฉันเพิ่งมีปัญหาที่ฉันกำหนดประเภทและทดสอบในคางคกและทั้งหมดก็โอเค แต่ทำงานภายใต้ SQL * PLUS มันเกิดข้อผิดพลาด ตัวอย่าง: CREATE OR REPLACE TYPE MyType AS OBJECT ( Item1 NUMBER, Item2 NUMBER ); ด้วยเหตุผลบางอย่างฉันต้องเพิ่มเครื่องหมายทับที่นี่ CREATE OR REPLACE TYPE MyType AS OBJECT ( Item1 NUMBER, Item2 NUMBER ); / สำหรับฉันแล้วมันคล้ายกับคำสั่งสร้างตารางซึ่งไม่ต้องใช้เครื่องหมายทับ ฉันคิดว่ามันค่อนข้างสับสน ฉันรู้ว่ามันทำงานอย่างไร แต่ทุกคนสามารถอธิบายได้ว่าทำไมการตัดสินใจออกแบบนี้จึงเกิดขึ้น

3
ความคิดเห็น Rem และ - สำหรับ SQL * Plus แตกต่างกันหรือไม่?
บนพรอมต์ SQL * Plus ทั้งคู่Remและ--มีคุณสมบัติเป็นตัวบ่งชี้ความคิดเห็น: Rem this is a comment -- this is also a comment create table emp ( id number primary key, name cvarchar2(40)); มีความแตกต่างระหว่างเทคนิคการแสดงความคิดเห็นทั้งสองหรือไม่?

2
วิธีการตั้งค่าสคีมาเริ่มต้นของผู้ใช้ Oracle?
ฉันสร้างผู้ใช้ใหม่ใน Oracle อย่างไรก็ตามเมื่อเรียกใช้ sqlplus พวกเขาทั้งหมดต้องผ่านการรับรองชื่อตารางในแบบสอบถามอย่างครบถ้วน วิธีที่ดีที่สุดในการตั้งค่าสคีมาเริ่มต้นสำหรับผู้ใช้ใหม่เหล่านี้คืออะไร
12 oracle  sqlplus 


1
SQL * Plus, @ และพา ธ สัมพัทธ์
อย่างใดดูเหมือนว่า SQL * Plus (อย่างน้อยบน Windows) ไม่สามารถค้นหาสคริปต์ด้วยเส้นทางสัมพัทธ์เมื่อเรียกด้วย@@และเมื่อเส้นทางเริ่มต้นด้วยจุดเดียวหรือสองครั้ง ตัวอย่างเช่นภายใต้x:\some\whereฉันมีโครงสร้างไดเรกทอรีต่อไปนี้: script.sql main-dir\main-sub-dir call-script.sql script.sql นั่นคือ: สองscript.sqlสถานที่ต่างกัน เนื้อหาของscript.sqlอันเดอร์ภายใต้x:\some\whereนั้นเรียบง่าย prompt SCRIPT root ในขณะที่script.sqlเนื้อหาอื่น ๆคือ prompt SCRIPT main-dir/main-subdir call-script.sql อ่าน @@script.sql @ script.sql ผลผลิตที่คาดหวัง ถ้าฉันเริ่ม SQL * Plus จากx:\some\whereนั้นให้ทำ @main-dir/main-sub-dir/call-scripts ผลลัพธ์จะเป็น SCRIPT main-dir/main-subdir SCRIPT root สิ่งนี้คาดว่าจะเกิดขึ้นเนื่องจากสิ่งที่@ควรจะค้นหาพา ธ จากจุดเริ่มต้นของ SQL * Plus และ@@ควรจะค้นหาพา ธ จากไดเรกทอรีของสคริปต์ที่มี ผลลัพธ์ที่ไม่คาดคิด …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.